diff --git a/src/CppParser/AST.cpp b/src/CppParser/AST.cpp index 503870da..9d4a3b45 100644 --- a/src/CppParser/AST.cpp +++ b/src/CppParser/AST.cpp @@ -566,42 +566,42 @@ Friend::Friend() : CppSharp::CppParser::AST::Declaration(DeclarationKind::Friend Friend::~Friend() {} -Statement::Statement(const std::string& str, StatementClass stmtClass, Declaration* decl) : string(str), _class(stmtClass), decl(decl) {} +StatementObsolete::StatementObsolete(const std::string& str, StatementClassObsolete stmtClass, Declaration* decl) : string(str), _class(stmtClass), decl(decl) {} -Expression::Expression(const std::string& str, StatementClass stmtClass, Declaration* decl) - : Statement(str, stmtClass, decl) {} +ExpressionObsolete::ExpressionObsolete(const std::string& str, StatementClassObsolete stmtClass, Declaration* decl) + : StatementObsolete(str, stmtClass, decl) {} -BinaryOperator::BinaryOperator(const std::string& str, Expression* lhs, Expression* rhs, const std::string& opcodeStr) - : Expression(str, StatementClass::BinaryOperator), LHS(lhs), RHS(rhs), opcodeStr(opcodeStr) {} +BinaryOperatorObsolete::BinaryOperatorObsolete(const std::string& str, ExpressionObsolete* lhs, ExpressionObsolete* rhs, const std::string& opcodeStr) + : ExpressionObsolete(str, StatementClassObsolete::BinaryOperator), LHS(lhs), RHS(rhs), opcodeStr(opcodeStr) {} -BinaryOperator::~BinaryOperator() +BinaryOperatorObsolete::~BinaryOperatorObsolete() { delete LHS; delete RHS; } -CallExpr::CallExpr(const std::string& str, Declaration* decl) - : Expression(str, StatementClass::CallExprClass, decl) {} +CallExprObsolete::CallExprObsolete(const std::string& str, Declaration* decl) + : ExpressionObsolete(str, StatementClassObsolete::CallExprClass, decl) {} -CallExpr::~CallExpr() +CallExprObsolete::~CallExprObsolete() { for (auto& arg : Arguments) delete arg; } -DEF_VECTOR(CallExpr, Expression*, Arguments) +DEF_VECTOR(CallExprObsolete, ExpressionObsolete*, Arguments) -CXXConstructExpr::CXXConstructExpr(const std::string& str, Declaration* decl) - : Expression(str, StatementClass::CXXConstructExprClass, decl) {} +CXXConstructExprObsolete::CXXConstructExprObsolete(const std::string& str, Declaration* decl) + : ExpressionObsolete(str, StatementClassObsolete::CXXConstructExprClass, decl) {} -CXXConstructExpr::~CXXConstructExpr() +CXXConstructExprObsolete::~CXXConstructExprObsolete() { for (auto& arg : Arguments) delete arg; } -DEF_VECTOR(CXXConstructExpr, Expression*, Arguments) +DEF_VECTOR(CXXConstructExprObsolete, ExpressionObsolete*, Arguments) Parameter::Parameter() : Declaration(DeclarationKind::Parameter), isIndirect(false), hasDefaultValue(false), defaultArgument(0) {} @@ -613,14 +613,14 @@ Parameter::~Parameter() // HACK: see https://github.com/mono/CppSharp/issues/598 switch (defaultArgument->_class) { - case StatementClass::BinaryOperator: - delete static_cast(defaultArgument); + case StatementClassObsolete::BinaryOperator: + delete static_cast(defaultArgument); break; - case StatementClass::CallExprClass: - delete static_cast(defaultArgument); + case StatementClassObsolete::CallExprClass: + delete static_cast(defaultArgument); break; - case StatementClass::CXXConstructExprClass: - delete static_cast(defaultArgument); + case StatementClassObsolete::CXXConstructExprClass: + delete static_cast(defaultArgument); break; default: delete defaultArgument; diff --git a/src/CppParser/Bindings/CLI/AST.cpp b/src/CppParser/Bindings/CLI/AST.cpp index a28bf81d..fd069598 100644 --- a/src/CppParser/Bindings/CLI/AST.cpp +++ b/src/CppParser/Bindings/CLI/AST.cpp @@ -9,6168 +9,6 @@ using namespace System; using namespace System::Runtime::InteropServices; -CppSharp::Parser::AST::Type::Type(::CppSharp::CppParser::AST::Type* native) - : __ownsNativeInstance(false) -{ - NativePtr = native; -} - -CppSharp::Parser::AST::Type^ CppSharp::Parser::AST::Type::__CreateInstance(::System::IntPtr native) -{ - return gcnew ::CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*) native.ToPointer()); -} - -CppSharp::Parser::AST::Type::~Type() -{ - delete NativePtr; -} - -CppSharp::Parser::AST::Type::Type(CppSharp::Parser::AST::TypeKind kind) -{ - __ownsNativeInstance = true; - auto __arg0 = (::CppSharp::CppParser::AST::TypeKind)kind; - NativePtr = new ::CppSharp::CppParser::AST::Type(__arg0); -} - -CppSharp::Parser::AST::Type::Type(CppSharp::Parser::AST::Type^ _0) -{ - __ownsNativeInstance = true; - if (ReferenceEquals(_0, nullptr)) - throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::Type*)_0->NativePtr; - NativePtr = new ::CppSharp::CppParser::AST::Type(__arg0); -} - -CppSharp::Parser::AST::Type::operator CppSharp::Parser::AST::Type^(CppSharp::Parser::AST::TypeKind kind) -{ - auto __arg0 = (::CppSharp::CppParser::AST::TypeKind)kind; - auto __ret = (::CppSharp::CppParser::AST::Type) __arg0; - auto ____ret = new ::CppSharp::CppParser::AST::Type(__ret); - return (____ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)____ret); -} - -System::IntPtr CppSharp::Parser::AST::Type::__Instance::get() -{ - return System::IntPtr(NativePtr); -} - -void CppSharp::Parser::AST::Type::__Instance::set(System::IntPtr object) -{ - NativePtr = (::CppSharp::CppParser::AST::Type*)object.ToPointer(); -} - -CppSharp::Parser::AST::TypeKind CppSharp::Parser::AST::Type::Kind::get() -{ - return (CppSharp::Parser::AST::TypeKind)((::CppSharp::CppParser::AST::Type*)NativePtr)->kind; -} - -void CppSharp::Parser::AST::Type::Kind::set(CppSharp::Parser::AST::TypeKind value) -{ - ((::CppSharp::CppParser::AST::Type*)NativePtr)->kind = (::CppSharp::CppParser::AST::TypeKind)value; -} - -bool CppSharp::Parser::AST::Type::IsDependent::get() -{ - return ((::CppSharp::CppParser::AST::Type*)NativePtr)->isDependent; -} - -void CppSharp::Parser::AST::Type::IsDependent::set(bool value) -{ - ((::CppSharp::CppParser::AST::Type*)NativePtr)->isDependent = value; -} - -CppSharp::Parser::AST::TypeQualifiers::TypeQualifiers(::CppSharp::CppParser::AST::TypeQualifiers* native) - : __ownsNativeInstance(false) -{ - NativePtr = native; -} - -CppSharp::Parser::AST::TypeQualifiers^ CppSharp::Parser::AST::TypeQualifiers::__CreateInstance(::System::IntPtr native) -{ - return gcnew ::CppSharp::Parser::AST::TypeQualifiers((::CppSharp::CppParser::AST::TypeQualifiers*) native.ToPointer()); -} - -CppSharp::Parser::AST::TypeQualifiers::~TypeQualifiers() -{ - delete NativePtr; -} - -CppSharp::Parser::AST::TypeQualifiers::TypeQualifiers(CppSharp::Parser::AST::TypeQualifiers^ _0) -{ - __ownsNativeInstance = true; - if (ReferenceEquals(_0, nullptr)) - throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::TypeQualifiers*)_0->NativePtr; - NativePtr = new ::CppSharp::CppParser::AST::TypeQualifiers(__arg0); -} - -CppSharp::Parser::AST::TypeQualifiers::TypeQualifiers() -{ - __ownsNativeInstance = true; - NativePtr = new ::CppSharp::CppParser::AST::TypeQualifiers(); -} - -System::IntPtr CppSharp::Parser::AST::TypeQualifiers::__Instance::get() -{ - return System::IntPtr(NativePtr); -} - -void CppSharp::Parser::AST::TypeQualifiers::__Instance::set(System::IntPtr object) -{ - NativePtr = (::CppSharp::CppParser::AST::TypeQualifiers*)object.ToPointer(); -} - -bool CppSharp::Parser::AST::TypeQualifiers::IsConst::get() -{ - return ((::CppSharp::CppParser::AST::TypeQualifiers*)NativePtr)->isConst; -} - -void CppSharp::Parser::AST::TypeQualifiers::IsConst::set(bool value) -{ - ((::CppSharp::CppParser::AST::TypeQualifiers*)NativePtr)->isConst = value; -} - -bool CppSharp::Parser::AST::TypeQualifiers::IsVolatile::get() -{ - return ((::CppSharp::CppParser::AST::TypeQualifiers*)NativePtr)->isVolatile; -} - -void CppSharp::Parser::AST::TypeQualifiers::IsVolatile::set(bool value) -{ - ((::CppSharp::CppParser::AST::TypeQualifiers*)NativePtr)->isVolatile = value; -} - -bool CppSharp::Parser::AST::TypeQualifiers::IsRestrict::get() -{ - return ((::CppSharp::CppParser::AST::TypeQualifiers*)NativePtr)->isRestrict; -} - -void CppSharp::Parser::AST::TypeQualifiers::IsRestrict::set(bool value) -{ - ((::CppSharp::CppParser::AST::TypeQualifiers*)NativePtr)->isRestrict = value; -} - -CppSharp::Parser::AST::QualifiedType::QualifiedType(::CppSharp::CppParser::AST::QualifiedType* native) - : __ownsNativeInstance(false) -{ - NativePtr = native; -} - -CppSharp::Parser::AST::QualifiedType^ CppSharp::Parser::AST::QualifiedType::__CreateInstance(::System::IntPtr native) -{ - return gcnew ::CppSharp::Parser::AST::QualifiedType((::CppSharp::CppParser::AST::QualifiedType*) native.ToPointer()); -} - -CppSharp::Parser::AST::QualifiedType::~QualifiedType() -{ - delete NativePtr; -} - -CppSharp::Parser::AST::QualifiedType::QualifiedType() -{ - __ownsNativeInstance = true; - NativePtr = new ::CppSharp::CppParser::AST::QualifiedType(); -} - -CppSharp::Parser::AST::QualifiedType::QualifiedType(CppSharp::Parser::AST::QualifiedType^ _0) -{ - __ownsNativeInstance = true; - if (ReferenceEquals(_0, nullptr)) - throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::QualifiedType*)_0->NativePtr; - NativePtr = new ::CppSharp::CppParser::AST::QualifiedType(__arg0); -} - -System::IntPtr CppSharp::Parser::AST::QualifiedType::__Instance::get() -{ - return System::IntPtr(NativePtr); -} - -void CppSharp::Parser::AST::QualifiedType::__Instance::set(System::IntPtr object) -{ - NativePtr = (::CppSharp::CppParser::AST::QualifiedType*)object.ToPointer(); -} - -CppSharp::Parser::AST::Type^ CppSharp::Parser::AST::QualifiedType::Type::get() -{ - return (((::CppSharp::CppParser::AST::QualifiedType*)NativePtr)->type == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)((::CppSharp::CppParser::AST::QualifiedType*)NativePtr)->type); -} - -void CppSharp::Parser::AST::QualifiedType::Type::set(CppSharp::Parser::AST::Type^ value) -{ - ((::CppSharp::CppParser::AST::QualifiedType*)NativePtr)->type = (::CppSharp::CppParser::AST::Type*)value->NativePtr; -} - -CppSharp::Parser::AST::TypeQualifiers^ CppSharp::Parser::AST::QualifiedType::Qualifiers::get() -{ - return (&((::CppSharp::CppParser::AST::QualifiedType*)NativePtr)->qualifiers == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::TypeQualifiers((::CppSharp::CppParser::AST::TypeQualifiers*)&((::CppSharp::CppParser::AST::QualifiedType*)NativePtr)->qualifiers); -} - -void CppSharp::Parser::AST::QualifiedType::Qualifiers::set(CppSharp::Parser::AST::TypeQualifiers^ value) -{ - ((::CppSharp::CppParser::AST::QualifiedType*)NativePtr)->qualifiers = *(::CppSharp::CppParser::AST::TypeQualifiers*)value->NativePtr; -} - -CppSharp::Parser::AST::TagType::TagType(::CppSharp::CppParser::AST::TagType* native) - : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)native) -{ -} - -CppSharp::Parser::AST::TagType^ CppSharp::Parser::AST::TagType::__CreateInstance(::System::IntPtr native) -{ - return gcnew ::CppSharp::Parser::AST::TagType((::CppSharp::CppParser::AST::TagType*) native.ToPointer()); -} - -CppSharp::Parser::AST::TagType::~TagType() -{ -} - -CppSharp::Parser::AST::TagType::TagType() - : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)nullptr) -{ - __ownsNativeInstance = true; - NativePtr = new ::CppSharp::CppParser::AST::TagType(); -} - -CppSharp::Parser::AST::TagType::TagType(CppSharp::Parser::AST::TagType^ _0) - : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)nullptr) -{ - __ownsNativeInstance = true; - if (ReferenceEquals(_0, nullptr)) - throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::TagType*)_0->NativePtr; - NativePtr = new ::CppSharp::CppParser::AST::TagType(__arg0); -} - -CppSharp::Parser::AST::Declaration^ CppSharp::Parser::AST::TagType::Declaration::get() -{ - return (((::CppSharp::CppParser::AST::TagType*)NativePtr)->declaration == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)((::CppSharp::CppParser::AST::TagType*)NativePtr)->declaration); -} - -void CppSharp::Parser::AST::TagType::Declaration::set(CppSharp::Parser::AST::Declaration^ value) -{ - ((::CppSharp::CppParser::AST::TagType*)NativePtr)->declaration = (::CppSharp::CppParser::AST::Declaration*)value->NativePtr; -} - -CppSharp::Parser::AST::ArrayType::ArrayType(::CppSharp::CppParser::AST::ArrayType* native) - : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)native) -{ -} - -CppSharp::Parser::AST::ArrayType^ CppSharp::Parser::AST::ArrayType::__CreateInstance(::System::IntPtr native) -{ - return gcnew ::CppSharp::Parser::AST::ArrayType((::CppSharp::CppParser::AST::ArrayType*) native.ToPointer()); -} - -CppSharp::Parser::AST::ArrayType::~ArrayType() -{ -} - -CppSharp::Parser::AST::ArrayType::ArrayType() - : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)nullptr) -{ - __ownsNativeInstance = true; - NativePtr = new ::CppSharp::CppParser::AST::ArrayType(); -} - -CppSharp::Parser::AST::ArrayType::ArrayType(CppSharp::Parser::AST::ArrayType^ _0) - : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)nullptr) -{ - __ownsNativeInstance = true; - if (ReferenceEquals(_0, nullptr)) - throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::ArrayType*)_0->NativePtr; - NativePtr = new ::CppSharp::CppParser::AST::ArrayType(__arg0); -} - -CppSharp::Parser::AST::QualifiedType^ CppSharp::Parser::AST::ArrayType::QualifiedType::get() -{ - return (&((::CppSharp::CppParser::AST::ArrayType*)NativePtr)->qualifiedType == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::QualifiedType((::CppSharp::CppParser::AST::QualifiedType*)&((::CppSharp::CppParser::AST::ArrayType*)NativePtr)->qualifiedType); -} - -void CppSharp::Parser::AST::ArrayType::QualifiedType::set(CppSharp::Parser::AST::QualifiedType^ value) -{ - ((::CppSharp::CppParser::AST::ArrayType*)NativePtr)->qualifiedType = *(::CppSharp::CppParser::AST::QualifiedType*)value->NativePtr; -} - -CppSharp::Parser::AST::ArrayType::ArraySize CppSharp::Parser::AST::ArrayType::SizeType::get() -{ - return (CppSharp::Parser::AST::ArrayType::ArraySize)((::CppSharp::CppParser::AST::ArrayType*)NativePtr)->sizeType; -} - -void CppSharp::Parser::AST::ArrayType::SizeType::set(CppSharp::Parser::AST::ArrayType::ArraySize value) -{ - ((::CppSharp::CppParser::AST::ArrayType*)NativePtr)->sizeType = (::CppSharp::CppParser::AST::ArrayType::ArraySize)value; -} - -long CppSharp::Parser::AST::ArrayType::Size::get() -{ - return ((::CppSharp::CppParser::AST::ArrayType*)NativePtr)->size; -} - -void CppSharp::Parser::AST::ArrayType::Size::set(long value) -{ - ((::CppSharp::CppParser::AST::ArrayType*)NativePtr)->size = value; -} - -long CppSharp::Parser::AST::ArrayType::ElementSize::get() -{ - return ((::CppSharp::CppParser::AST::ArrayType*)NativePtr)->elementSize; -} - -void CppSharp::Parser::AST::ArrayType::ElementSize::set(long value) -{ - ((::CppSharp::CppParser::AST::ArrayType*)NativePtr)->elementSize = value; -} - -CppSharp::Parser::AST::FunctionType::FunctionType(::CppSharp::CppParser::AST::FunctionType* native) - : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)native) -{ -} - -CppSharp::Parser::AST::FunctionType^ CppSharp::Parser::AST::FunctionType::__CreateInstance(::System::IntPtr native) -{ - return gcnew ::CppSharp::Parser::AST::FunctionType((::CppSharp::CppParser::AST::FunctionType*) native.ToPointer()); -} - -CppSharp::Parser::AST::FunctionType::~FunctionType() -{ - if (NativePtr) - { - auto __nativePtr = NativePtr; - NativePtr = 0; - delete (::CppSharp::CppParser::AST::FunctionType*) __nativePtr; - } -} - -CppSharp::Parser::AST::FunctionType::FunctionType() - : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)nullptr) -{ - __ownsNativeInstance = true; - NativePtr = new ::CppSharp::CppParser::AST::FunctionType(); -} - -CppSharp::Parser::AST::Parameter^ CppSharp::Parser::AST::FunctionType::GetParameters(unsigned int i) -{ - auto __ret = ((::CppSharp::CppParser::AST::FunctionType*)NativePtr)->getParameters(i); - if (__ret == nullptr) return nullptr; - return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Parameter((::CppSharp::CppParser::AST::Parameter*)__ret); -} - -void CppSharp::Parser::AST::FunctionType::AddParameters(CppSharp::Parser::AST::Parameter^ s) -{ - if (ReferenceEquals(s, nullptr)) - throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - auto __arg0 = (::CppSharp::CppParser::AST::Parameter*)s->NativePtr; - ((::CppSharp::CppParser::AST::FunctionType*)NativePtr)->addParameters(__arg0); -} - -void CppSharp::Parser::AST::FunctionType::ClearParameters() -{ - ((::CppSharp::CppParser::AST::FunctionType*)NativePtr)->clearParameters(); -} - -CppSharp::Parser::AST::FunctionType::FunctionType(CppSharp::Parser::AST::FunctionType^ _0) - : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)nullptr) -{ - __ownsNativeInstance = true; - if (ReferenceEquals(_0, nullptr)) - throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::FunctionType*)_0->NativePtr; - NativePtr = new ::CppSharp::CppParser::AST::FunctionType(__arg0); -} - -CppSharp::Parser::AST::QualifiedType^ CppSharp::Parser::AST::FunctionType::ReturnType::get() -{ - return (&((::CppSharp::CppParser::AST::FunctionType*)NativePtr)->returnType == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::QualifiedType((::CppSharp::CppParser::AST::QualifiedType*)&((::CppSharp::CppParser::AST::FunctionType*)NativePtr)->returnType); -} - -void CppSharp::Parser::AST::FunctionType::ReturnType::set(CppSharp::Parser::AST::QualifiedType^ value) -{ - ((::CppSharp::CppParser::AST::FunctionType*)NativePtr)->returnType = *(::CppSharp::CppParser::AST::QualifiedType*)value->NativePtr; -} - -CppSharp::Parser::AST::CallingConvention CppSharp::Parser::AST::FunctionType::CallingConvention::get() -{ - return (CppSharp::Parser::AST::CallingConvention)((::CppSharp::CppParser::AST::FunctionType*)NativePtr)->callingConvention; -} - -void CppSharp::Parser::AST::FunctionType::CallingConvention::set(CppSharp::Parser::AST::CallingConvention value) -{ - ((::CppSharp::CppParser::AST::FunctionType*)NativePtr)->callingConvention = (::CppSharp::CppParser::AST::CallingConvention)value; -} - -CppSharp::Parser::AST::ExceptionSpecType CppSharp::Parser::AST::FunctionType::ExceptionSpecType::get() -{ - return (CppSharp::Parser::AST::ExceptionSpecType)((::CppSharp::CppParser::AST::FunctionType*)NativePtr)->exceptionSpecType; -} - -void CppSharp::Parser::AST::FunctionType::ExceptionSpecType::set(CppSharp::Parser::AST::ExceptionSpecType value) -{ - ((::CppSharp::CppParser::AST::FunctionType*)NativePtr)->exceptionSpecType = (::CppSharp::CppParser::AST::ExceptionSpecType)value; -} - -System::Collections::Generic::List^ CppSharp::Parser::AST::FunctionType::Parameters::get() -{ - auto _tmp__Parameters = gcnew System::Collections::Generic::List(); - for(auto _element : ((::CppSharp::CppParser::AST::FunctionType*)NativePtr)->Parameters) - { - auto _marshalElement = (_element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Parameter((::CppSharp::CppParser::AST::Parameter*)_element); - _tmp__Parameters->Add(_marshalElement); - } - return _tmp__Parameters; -} - -void CppSharp::Parser::AST::FunctionType::Parameters::set(System::Collections::Generic::List^ value) -{ - auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::Parameter*>(); - for each(CppSharp::Parser::AST::Parameter^ _element in value) - { - auto _marshalElement = (::CppSharp::CppParser::AST::Parameter*)_element->NativePtr; - _tmpvalue.push_back(_marshalElement); - } - ((::CppSharp::CppParser::AST::FunctionType*)NativePtr)->Parameters = _tmpvalue; -} - -unsigned int CppSharp::Parser::AST::FunctionType::ParametersCount::get() -{ - auto __ret = ((::CppSharp::CppParser::AST::FunctionType*)NativePtr)->getParametersCount(); - return __ret; -} - -CppSharp::Parser::AST::PointerType::PointerType(::CppSharp::CppParser::AST::PointerType* native) - : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)native) -{ -} - -CppSharp::Parser::AST::PointerType^ CppSharp::Parser::AST::PointerType::__CreateInstance(::System::IntPtr native) -{ - return gcnew ::CppSharp::Parser::AST::PointerType((::CppSharp::CppParser::AST::PointerType*) native.ToPointer()); -} - -CppSharp::Parser::AST::PointerType::~PointerType() -{ -} - -CppSharp::Parser::AST::PointerType::PointerType() - : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)nullptr) -{ - __ownsNativeInstance = true; - NativePtr = new ::CppSharp::CppParser::AST::PointerType(); -} - -CppSharp::Parser::AST::PointerType::PointerType(CppSharp::Parser::AST::PointerType^ _0) - : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)nullptr) -{ - __ownsNativeInstance = true; - if (ReferenceEquals(_0, nullptr)) - throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::PointerType*)_0->NativePtr; - NativePtr = new ::CppSharp::CppParser::AST::PointerType(__arg0); -} - -CppSharp::Parser::AST::QualifiedType^ CppSharp::Parser::AST::PointerType::QualifiedPointee::get() -{ - return (&((::CppSharp::CppParser::AST::PointerType*)NativePtr)->qualifiedPointee == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::QualifiedType((::CppSharp::CppParser::AST::QualifiedType*)&((::CppSharp::CppParser::AST::PointerType*)NativePtr)->qualifiedPointee); -} - -void CppSharp::Parser::AST::PointerType::QualifiedPointee::set(CppSharp::Parser::AST::QualifiedType^ value) -{ - ((::CppSharp::CppParser::AST::PointerType*)NativePtr)->qualifiedPointee = *(::CppSharp::CppParser::AST::QualifiedType*)value->NativePtr; -} - -CppSharp::Parser::AST::PointerType::TypeModifier CppSharp::Parser::AST::PointerType::Modifier::get() -{ - return (CppSharp::Parser::AST::PointerType::TypeModifier)((::CppSharp::CppParser::AST::PointerType*)NativePtr)->modifier; -} - -void CppSharp::Parser::AST::PointerType::Modifier::set(CppSharp::Parser::AST::PointerType::TypeModifier value) -{ - ((::CppSharp::CppParser::AST::PointerType*)NativePtr)->modifier = (::CppSharp::CppParser::AST::PointerType::TypeModifier)value; -} - -CppSharp::Parser::AST::MemberPointerType::MemberPointerType(::CppSharp::CppParser::AST::MemberPointerType* native) - : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)native) -{ -} - -CppSharp::Parser::AST::MemberPointerType^ CppSharp::Parser::AST::MemberPointerType::__CreateInstance(::System::IntPtr native) -{ - return gcnew ::CppSharp::Parser::AST::MemberPointerType((::CppSharp::CppParser::AST::MemberPointerType*) native.ToPointer()); -} - -CppSharp::Parser::AST::MemberPointerType::~MemberPointerType() -{ -} - -CppSharp::Parser::AST::MemberPointerType::MemberPointerType() - : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)nullptr) -{ - __ownsNativeInstance = true; - NativePtr = new ::CppSharp::CppParser::AST::MemberPointerType(); -} - -CppSharp::Parser::AST::MemberPointerType::MemberPointerType(CppSharp::Parser::AST::MemberPointerType^ _0) - : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)nullptr) -{ - __ownsNativeInstance = true; - if (ReferenceEquals(_0, nullptr)) - throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::MemberPointerType*)_0->NativePtr; - NativePtr = new ::CppSharp::CppParser::AST::MemberPointerType(__arg0); -} - -CppSharp::Parser::AST::QualifiedType^ CppSharp::Parser::AST::MemberPointerType::Pointee::get() -{ - return (&((::CppSharp::CppParser::AST::MemberPointerType*)NativePtr)->pointee == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::QualifiedType((::CppSharp::CppParser::AST::QualifiedType*)&((::CppSharp::CppParser::AST::MemberPointerType*)NativePtr)->pointee); -} - -void CppSharp::Parser::AST::MemberPointerType::Pointee::set(CppSharp::Parser::AST::QualifiedType^ value) -{ - ((::CppSharp::CppParser::AST::MemberPointerType*)NativePtr)->pointee = *(::CppSharp::CppParser::AST::QualifiedType*)value->NativePtr; -} - -CppSharp::Parser::AST::TypedefType::TypedefType(::CppSharp::CppParser::AST::TypedefType* native) - : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)native) -{ -} - -CppSharp::Parser::AST::TypedefType^ CppSharp::Parser::AST::TypedefType::__CreateInstance(::System::IntPtr native) -{ - return gcnew ::CppSharp::Parser::AST::TypedefType((::CppSharp::CppParser::AST::TypedefType*) native.ToPointer()); -} - -CppSharp::Parser::AST::TypedefType::~TypedefType() -{ -} - -CppSharp::Parser::AST::TypedefType::TypedefType() - : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)nullptr) -{ - __ownsNativeInstance = true; - NativePtr = new ::CppSharp::CppParser::AST::TypedefType(); -} - -CppSharp::Parser::AST::TypedefType::TypedefType(CppSharp::Parser::AST::TypedefType^ _0) - : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)nullptr) -{ - __ownsNativeInstance = true; - if (ReferenceEquals(_0, nullptr)) - throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::TypedefType*)_0->NativePtr; - NativePtr = new ::CppSharp::CppParser::AST::TypedefType(__arg0); -} - -CppSharp::Parser::AST::TypedefNameDecl^ CppSharp::Parser::AST::TypedefType::Declaration::get() -{ - return (((::CppSharp::CppParser::AST::TypedefType*)NativePtr)->declaration == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::TypedefNameDecl((::CppSharp::CppParser::AST::TypedefNameDecl*)((::CppSharp::CppParser::AST::TypedefType*)NativePtr)->declaration); -} - -void CppSharp::Parser::AST::TypedefType::Declaration::set(CppSharp::Parser::AST::TypedefNameDecl^ value) -{ - ((::CppSharp::CppParser::AST::TypedefType*)NativePtr)->declaration = (::CppSharp::CppParser::AST::TypedefNameDecl*)value->NativePtr; -} - -CppSharp::Parser::AST::AttributedType::AttributedType(::CppSharp::CppParser::AST::AttributedType* native) - : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)native) -{ -} - -CppSharp::Parser::AST::AttributedType^ CppSharp::Parser::AST::AttributedType::__CreateInstance(::System::IntPtr native) -{ - return gcnew ::CppSharp::Parser::AST::AttributedType((::CppSharp::CppParser::AST::AttributedType*) native.ToPointer()); -} - -CppSharp::Parser::AST::AttributedType::~AttributedType() -{ -} - -CppSharp::Parser::AST::AttributedType::AttributedType() - : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)nullptr) -{ - __ownsNativeInstance = true; - NativePtr = new ::CppSharp::CppParser::AST::AttributedType(); -} - -CppSharp::Parser::AST::AttributedType::AttributedType(CppSharp::Parser::AST::AttributedType^ _0) - : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)nullptr) -{ - __ownsNativeInstance = true; - if (ReferenceEquals(_0, nullptr)) - throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::AttributedType*)_0->NativePtr; - NativePtr = new ::CppSharp::CppParser::AST::AttributedType(__arg0); -} - -CppSharp::Parser::AST::QualifiedType^ CppSharp::Parser::AST::AttributedType::Modified::get() -{ - return (&((::CppSharp::CppParser::AST::AttributedType*)NativePtr)->modified == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::QualifiedType((::CppSharp::CppParser::AST::QualifiedType*)&((::CppSharp::CppParser::AST::AttributedType*)NativePtr)->modified); -} - -void CppSharp::Parser::AST::AttributedType::Modified::set(CppSharp::Parser::AST::QualifiedType^ value) -{ - ((::CppSharp::CppParser::AST::AttributedType*)NativePtr)->modified = *(::CppSharp::CppParser::AST::QualifiedType*)value->NativePtr; -} - -CppSharp::Parser::AST::QualifiedType^ CppSharp::Parser::AST::AttributedType::Equivalent::get() -{ - return (&((::CppSharp::CppParser::AST::AttributedType*)NativePtr)->equivalent == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::QualifiedType((::CppSharp::CppParser::AST::QualifiedType*)&((::CppSharp::CppParser::AST::AttributedType*)NativePtr)->equivalent); -} - -void CppSharp::Parser::AST::AttributedType::Equivalent::set(CppSharp::Parser::AST::QualifiedType^ value) -{ - ((::CppSharp::CppParser::AST::AttributedType*)NativePtr)->equivalent = *(::CppSharp::CppParser::AST::QualifiedType*)value->NativePtr; -} - -CppSharp::Parser::AST::DecayedType::DecayedType(::CppSharp::CppParser::AST::DecayedType* native) - : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)native) -{ -} - -CppSharp::Parser::AST::DecayedType^ CppSharp::Parser::AST::DecayedType::__CreateInstance(::System::IntPtr native) -{ - return gcnew ::CppSharp::Parser::AST::DecayedType((::CppSharp::CppParser::AST::DecayedType*) native.ToPointer()); -} - -CppSharp::Parser::AST::DecayedType::~DecayedType() -{ -} - -CppSharp::Parser::AST::DecayedType::DecayedType() - : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)nullptr) -{ - __ownsNativeInstance = true; - NativePtr = new ::CppSharp::CppParser::AST::DecayedType(); -} - -CppSharp::Parser::AST::DecayedType::DecayedType(CppSharp::Parser::AST::DecayedType^ _0) - : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)nullptr) -{ - __ownsNativeInstance = true; - if (ReferenceEquals(_0, nullptr)) - throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::DecayedType*)_0->NativePtr; - NativePtr = new ::CppSharp::CppParser::AST::DecayedType(__arg0); -} - -CppSharp::Parser::AST::QualifiedType^ CppSharp::Parser::AST::DecayedType::Decayed::get() -{ - return (&((::CppSharp::CppParser::AST::DecayedType*)NativePtr)->decayed == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::QualifiedType((::CppSharp::CppParser::AST::QualifiedType*)&((::CppSharp::CppParser::AST::DecayedType*)NativePtr)->decayed); -} - -void CppSharp::Parser::AST::DecayedType::Decayed::set(CppSharp::Parser::AST::QualifiedType^ value) -{ - ((::CppSharp::CppParser::AST::DecayedType*)NativePtr)->decayed = *(::CppSharp::CppParser::AST::QualifiedType*)value->NativePtr; -} - -CppSharp::Parser::AST::QualifiedType^ CppSharp::Parser::AST::DecayedType::Original::get() -{ - return (&((::CppSharp::CppParser::AST::DecayedType*)NativePtr)->original == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::QualifiedType((::CppSharp::CppParser::AST::QualifiedType*)&((::CppSharp::CppParser::AST::DecayedType*)NativePtr)->original); -} - -void CppSharp::Parser::AST::DecayedType::Original::set(CppSharp::Parser::AST::QualifiedType^ value) -{ - ((::CppSharp::CppParser::AST::DecayedType*)NativePtr)->original = *(::CppSharp::CppParser::AST::QualifiedType*)value->NativePtr; -} - -CppSharp::Parser::AST::QualifiedType^ CppSharp::Parser::AST::DecayedType::Pointee::get() -{ - return (&((::CppSharp::CppParser::AST::DecayedType*)NativePtr)->pointee == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::QualifiedType((::CppSharp::CppParser::AST::QualifiedType*)&((::CppSharp::CppParser::AST::DecayedType*)NativePtr)->pointee); -} - -void CppSharp::Parser::AST::DecayedType::Pointee::set(CppSharp::Parser::AST::QualifiedType^ value) -{ - ((::CppSharp::CppParser::AST::DecayedType*)NativePtr)->pointee = *(::CppSharp::CppParser::AST::QualifiedType*)value->NativePtr; -} - -CppSharp::Parser::AST::TemplateArgument::TemplateArgument(::CppSharp::CppParser::AST::TemplateArgument* native) - : __ownsNativeInstance(false) -{ - NativePtr = native; -} - -CppSharp::Parser::AST::TemplateArgument^ CppSharp::Parser::AST::TemplateArgument::__CreateInstance(::System::IntPtr native) -{ - return gcnew ::CppSharp::Parser::AST::TemplateArgument((::CppSharp::CppParser::AST::TemplateArgument*) native.ToPointer()); -} - -CppSharp::Parser::AST::TemplateArgument::~TemplateArgument() -{ - delete NativePtr; -} - -CppSharp::Parser::AST::TemplateArgument::TemplateArgument() -{ - __ownsNativeInstance = true; - NativePtr = new ::CppSharp::CppParser::AST::TemplateArgument(); -} - -CppSharp::Parser::AST::TemplateArgument::TemplateArgument(CppSharp::Parser::AST::TemplateArgument^ _0) -{ - __ownsNativeInstance = true; - if (ReferenceEquals(_0, nullptr)) - throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::TemplateArgument*)_0->NativePtr; - NativePtr = new ::CppSharp::CppParser::AST::TemplateArgument(__arg0); -} - -System::IntPtr CppSharp::Parser::AST::TemplateArgument::__Instance::get() -{ - return System::IntPtr(NativePtr); -} - -void CppSharp::Parser::AST::TemplateArgument::__Instance::set(System::IntPtr object) -{ - NativePtr = (::CppSharp::CppParser::AST::TemplateArgument*)object.ToPointer(); -} - -CppSharp::Parser::AST::TemplateArgument::ArgumentKind CppSharp::Parser::AST::TemplateArgument::Kind::get() -{ - return (CppSharp::Parser::AST::TemplateArgument::ArgumentKind)((::CppSharp::CppParser::AST::TemplateArgument*)NativePtr)->kind; -} - -void CppSharp::Parser::AST::TemplateArgument::Kind::set(CppSharp::Parser::AST::TemplateArgument::ArgumentKind value) -{ - ((::CppSharp::CppParser::AST::TemplateArgument*)NativePtr)->kind = (::CppSharp::CppParser::AST::TemplateArgument::ArgumentKind)value; -} - -CppSharp::Parser::AST::QualifiedType^ CppSharp::Parser::AST::TemplateArgument::Type::get() -{ - return (&((::CppSharp::CppParser::AST::TemplateArgument*)NativePtr)->type == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::QualifiedType((::CppSharp::CppParser::AST::QualifiedType*)&((::CppSharp::CppParser::AST::TemplateArgument*)NativePtr)->type); -} - -void CppSharp::Parser::AST::TemplateArgument::Type::set(CppSharp::Parser::AST::QualifiedType^ value) -{ - ((::CppSharp::CppParser::AST::TemplateArgument*)NativePtr)->type = *(::CppSharp::CppParser::AST::QualifiedType*)value->NativePtr; -} - -CppSharp::Parser::AST::Declaration^ CppSharp::Parser::AST::TemplateArgument::Declaration::get() -{ - return (((::CppSharp::CppParser::AST::TemplateArgument*)NativePtr)->declaration == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)((::CppSharp::CppParser::AST::TemplateArgument*)NativePtr)->declaration); -} - -void CppSharp::Parser::AST::TemplateArgument::Declaration::set(CppSharp::Parser::AST::Declaration^ value) -{ - ((::CppSharp::CppParser::AST::TemplateArgument*)NativePtr)->declaration = (::CppSharp::CppParser::AST::Declaration*)value->NativePtr; -} - -long CppSharp::Parser::AST::TemplateArgument::Integral::get() -{ - return ((::CppSharp::CppParser::AST::TemplateArgument*)NativePtr)->integral; -} - -void CppSharp::Parser::AST::TemplateArgument::Integral::set(long value) -{ - ((::CppSharp::CppParser::AST::TemplateArgument*)NativePtr)->integral = value; -} - -CppSharp::Parser::AST::TemplateSpecializationType::TemplateSpecializationType(::CppSharp::CppParser::AST::TemplateSpecializationType* native) - : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)native) -{ -} - -CppSharp::Parser::AST::TemplateSpecializationType^ CppSharp::Parser::AST::TemplateSpecializationType::__CreateInstance(::System::IntPtr native) -{ - return gcnew ::CppSharp::Parser::AST::TemplateSpecializationType((::CppSharp::CppParser::AST::TemplateSpecializationType*) native.ToPointer()); -} - -CppSharp::Parser::AST::TemplateSpecializationType::~TemplateSpecializationType() -{ - if (NativePtr) - { - auto __nativePtr = NativePtr; - NativePtr = 0; - delete (::CppSharp::CppParser::AST::TemplateSpecializationType*) __nativePtr; - } -} - -CppSharp::Parser::AST::TemplateSpecializationType::TemplateSpecializationType() - : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)nullptr) -{ - __ownsNativeInstance = true; - NativePtr = new ::CppSharp::CppParser::AST::TemplateSpecializationType(); -} - -CppSharp::Parser::AST::TemplateSpecializationType::TemplateSpecializationType(CppSharp::Parser::AST::TemplateSpecializationType^ _0) - : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)nullptr) -{ - __ownsNativeInstance = true; - if (ReferenceEquals(_0, nullptr)) - throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::TemplateSpecializationType*)_0->NativePtr; - NativePtr = new ::CppSharp::CppParser::AST::TemplateSpecializationType(__arg0); -} - -CppSharp::Parser::AST::TemplateArgument^ CppSharp::Parser::AST::TemplateSpecializationType::GetArguments(unsigned int i) -{ - auto __ret = ((::CppSharp::CppParser::AST::TemplateSpecializationType*)NativePtr)->getArguments(i); - auto ____ret = new ::CppSharp::CppParser::AST::TemplateArgument(__ret); - return (____ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::TemplateArgument((::CppSharp::CppParser::AST::TemplateArgument*)____ret); -} - -void CppSharp::Parser::AST::TemplateSpecializationType::AddArguments(CppSharp::Parser::AST::TemplateArgument^ s) -{ - if (ReferenceEquals(s, nullptr)) - throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::TemplateArgument*)s->NativePtr; - ((::CppSharp::CppParser::AST::TemplateSpecializationType*)NativePtr)->addArguments(__arg0); -} - -void CppSharp::Parser::AST::TemplateSpecializationType::ClearArguments() -{ - ((::CppSharp::CppParser::AST::TemplateSpecializationType*)NativePtr)->clearArguments(); -} - -System::Collections::Generic::List^ CppSharp::Parser::AST::TemplateSpecializationType::Arguments::get() -{ - auto _tmp__Arguments = gcnew System::Collections::Generic::List(); - for(auto _element : ((::CppSharp::CppParser::AST::TemplateSpecializationType*)NativePtr)->Arguments) - { - auto ___element = new ::CppSharp::CppParser::AST::TemplateArgument(_element); - auto _marshalElement = (___element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::TemplateArgument((::CppSharp::CppParser::AST::TemplateArgument*)___element); - _tmp__Arguments->Add(_marshalElement); - } - return _tmp__Arguments; -} - -void CppSharp::Parser::AST::TemplateSpecializationType::Arguments::set(System::Collections::Generic::List^ value) -{ - auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::TemplateArgument>(); - for each(CppSharp::Parser::AST::TemplateArgument^ _element in value) - { - auto _marshalElement = *(::CppSharp::CppParser::AST::TemplateArgument*)_element->NativePtr; - _tmpvalue.push_back(_marshalElement); - } - ((::CppSharp::CppParser::AST::TemplateSpecializationType*)NativePtr)->Arguments = _tmpvalue; -} - -CppSharp::Parser::AST::Template^ CppSharp::Parser::AST::TemplateSpecializationType::Template::get() -{ - return (((::CppSharp::CppParser::AST::TemplateSpecializationType*)NativePtr)->_template == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Template((::CppSharp::CppParser::AST::Template*)((::CppSharp::CppParser::AST::TemplateSpecializationType*)NativePtr)->_template); -} - -void CppSharp::Parser::AST::TemplateSpecializationType::Template::set(CppSharp::Parser::AST::Template^ value) -{ - ((::CppSharp::CppParser::AST::TemplateSpecializationType*)NativePtr)->_template = (::CppSharp::CppParser::AST::Template*)value->NativePtr; -} - -CppSharp::Parser::AST::QualifiedType^ CppSharp::Parser::AST::TemplateSpecializationType::Desugared::get() -{ - return (&((::CppSharp::CppParser::AST::TemplateSpecializationType*)NativePtr)->desugared == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::QualifiedType((::CppSharp::CppParser::AST::QualifiedType*)&((::CppSharp::CppParser::AST::TemplateSpecializationType*)NativePtr)->desugared); -} - -void CppSharp::Parser::AST::TemplateSpecializationType::Desugared::set(CppSharp::Parser::AST::QualifiedType^ value) -{ - ((::CppSharp::CppParser::AST::TemplateSpecializationType*)NativePtr)->desugared = *(::CppSharp::CppParser::AST::QualifiedType*)value->NativePtr; -} - -unsigned int CppSharp::Parser::AST::TemplateSpecializationType::ArgumentsCount::get() -{ - auto __ret = ((::CppSharp::CppParser::AST::TemplateSpecializationType*)NativePtr)->getArgumentsCount(); - return __ret; -} - -CppSharp::Parser::AST::DependentTemplateSpecializationType::DependentTemplateSpecializationType(::CppSharp::CppParser::AST::DependentTemplateSpecializationType* native) - : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)native) -{ -} - -CppSharp::Parser::AST::DependentTemplateSpecializationType^ CppSharp::Parser::AST::DependentTemplateSpecializationType::__CreateInstance(::System::IntPtr native) -{ - return gcnew ::CppSharp::Parser::AST::DependentTemplateSpecializationType((::CppSharp::CppParser::AST::DependentTemplateSpecializationType*) native.ToPointer()); -} - -CppSharp::Parser::AST::DependentTemplateSpecializationType::~DependentTemplateSpecializationType() -{ - if (NativePtr) - { - auto __nativePtr = NativePtr; - NativePtr = 0; - delete (::CppSharp::CppParser::AST::DependentTemplateSpecializationType*) __nativePtr; - } -} - -CppSharp::Parser::AST::DependentTemplateSpecializationType::DependentTemplateSpecializationType() - : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)nullptr) -{ - __ownsNativeInstance = true; - NativePtr = new ::CppSharp::CppParser::AST::DependentTemplateSpecializationType(); -} - -CppSharp::Parser::AST::DependentTemplateSpecializationType::DependentTemplateSpecializationType(CppSharp::Parser::AST::DependentTemplateSpecializationType^ _0) - : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)nullptr) -{ - __ownsNativeInstance = true; - if (ReferenceEquals(_0, nullptr)) - throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::DependentTemplateSpecializationType*)_0->NativePtr; - NativePtr = new ::CppSharp::CppParser::AST::DependentTemplateSpecializationType(__arg0); -} - -CppSharp::Parser::AST::TemplateArgument^ CppSharp::Parser::AST::DependentTemplateSpecializationType::GetArguments(unsigned int i) -{ - auto __ret = ((::CppSharp::CppParser::AST::DependentTemplateSpecializationType*)NativePtr)->getArguments(i); - auto ____ret = new ::CppSharp::CppParser::AST::TemplateArgument(__ret); - return (____ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::TemplateArgument((::CppSharp::CppParser::AST::TemplateArgument*)____ret); -} - -void CppSharp::Parser::AST::DependentTemplateSpecializationType::AddArguments(CppSharp::Parser::AST::TemplateArgument^ s) -{ - if (ReferenceEquals(s, nullptr)) - throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::TemplateArgument*)s->NativePtr; - ((::CppSharp::CppParser::AST::DependentTemplateSpecializationType*)NativePtr)->addArguments(__arg0); -} - -void CppSharp::Parser::AST::DependentTemplateSpecializationType::ClearArguments() -{ - ((::CppSharp::CppParser::AST::DependentTemplateSpecializationType*)NativePtr)->clearArguments(); -} - -System::Collections::Generic::List^ CppSharp::Parser::AST::DependentTemplateSpecializationType::Arguments::get() -{ - auto _tmp__Arguments = gcnew System::Collections::Generic::List(); - for(auto _element : ((::CppSharp::CppParser::AST::DependentTemplateSpecializationType*)NativePtr)->Arguments) - { - auto ___element = new ::CppSharp::CppParser::AST::TemplateArgument(_element); - auto _marshalElement = (___element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::TemplateArgument((::CppSharp::CppParser::AST::TemplateArgument*)___element); - _tmp__Arguments->Add(_marshalElement); - } - return _tmp__Arguments; -} - -void CppSharp::Parser::AST::DependentTemplateSpecializationType::Arguments::set(System::Collections::Generic::List^ value) -{ - auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::TemplateArgument>(); - for each(CppSharp::Parser::AST::TemplateArgument^ _element in value) - { - auto _marshalElement = *(::CppSharp::CppParser::AST::TemplateArgument*)_element->NativePtr; - _tmpvalue.push_back(_marshalElement); - } - ((::CppSharp::CppParser::AST::DependentTemplateSpecializationType*)NativePtr)->Arguments = _tmpvalue; -} - -CppSharp::Parser::AST::QualifiedType^ CppSharp::Parser::AST::DependentTemplateSpecializationType::Desugared::get() -{ - return (&((::CppSharp::CppParser::AST::DependentTemplateSpecializationType*)NativePtr)->desugared == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::QualifiedType((::CppSharp::CppParser::AST::QualifiedType*)&((::CppSharp::CppParser::AST::DependentTemplateSpecializationType*)NativePtr)->desugared); -} - -void CppSharp::Parser::AST::DependentTemplateSpecializationType::Desugared::set(CppSharp::Parser::AST::QualifiedType^ value) -{ - ((::CppSharp::CppParser::AST::DependentTemplateSpecializationType*)NativePtr)->desugared = *(::CppSharp::CppParser::AST::QualifiedType*)value->NativePtr; -} - -unsigned int CppSharp::Parser::AST::DependentTemplateSpecializationType::ArgumentsCount::get() -{ - auto __ret = ((::CppSharp::CppParser::AST::DependentTemplateSpecializationType*)NativePtr)->getArgumentsCount(); - return __ret; -} - -CppSharp::Parser::AST::TemplateParameterType::TemplateParameterType(::CppSharp::CppParser::AST::TemplateParameterType* native) - : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)native) -{ -} - -CppSharp::Parser::AST::TemplateParameterType^ CppSharp::Parser::AST::TemplateParameterType::__CreateInstance(::System::IntPtr native) -{ - return gcnew ::CppSharp::Parser::AST::TemplateParameterType((::CppSharp::CppParser::AST::TemplateParameterType*) native.ToPointer()); -} - -CppSharp::Parser::AST::TemplateParameterType::~TemplateParameterType() -{ - if (NativePtr) - { - auto __nativePtr = NativePtr; - NativePtr = 0; - delete (::CppSharp::CppParser::AST::TemplateParameterType*) __nativePtr; - } -} - -CppSharp::Parser::AST::TemplateParameterType::TemplateParameterType() - : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)nullptr) -{ - __ownsNativeInstance = true; - NativePtr = new ::CppSharp::CppParser::AST::TemplateParameterType(); -} - -CppSharp::Parser::AST::TemplateParameterType::TemplateParameterType(CppSharp::Parser::AST::TemplateParameterType^ _0) - : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)nullptr) -{ - __ownsNativeInstance = true; - if (ReferenceEquals(_0, nullptr)) - throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::TemplateParameterType*)_0->NativePtr; - NativePtr = new ::CppSharp::CppParser::AST::TemplateParameterType(__arg0); -} - -CppSharp::Parser::AST::TypeTemplateParameter^ CppSharp::Parser::AST::TemplateParameterType::Parameter::get() -{ - return (((::CppSharp::CppParser::AST::TemplateParameterType*)NativePtr)->parameter == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::TypeTemplateParameter((::CppSharp::CppParser::AST::TypeTemplateParameter*)((::CppSharp::CppParser::AST::TemplateParameterType*)NativePtr)->parameter); -} - -void CppSharp::Parser::AST::TemplateParameterType::Parameter::set(CppSharp::Parser::AST::TypeTemplateParameter^ value) -{ - ((::CppSharp::CppParser::AST::TemplateParameterType*)NativePtr)->parameter = (::CppSharp::CppParser::AST::TypeTemplateParameter*)value->NativePtr; -} - -unsigned int CppSharp::Parser::AST::TemplateParameterType::Depth::get() -{ - return ((::CppSharp::CppParser::AST::TemplateParameterType*)NativePtr)->depth; -} - -void CppSharp::Parser::AST::TemplateParameterType::Depth::set(unsigned int value) -{ - ((::CppSharp::CppParser::AST::TemplateParameterType*)NativePtr)->depth = value; -} - -unsigned int CppSharp::Parser::AST::TemplateParameterType::Index::get() -{ - return ((::CppSharp::CppParser::AST::TemplateParameterType*)NativePtr)->index; -} - -void CppSharp::Parser::AST::TemplateParameterType::Index::set(unsigned int value) -{ - ((::CppSharp::CppParser::AST::TemplateParameterType*)NativePtr)->index = value; -} - -bool CppSharp::Parser::AST::TemplateParameterType::IsParameterPack::get() -{ - return ((::CppSharp::CppParser::AST::TemplateParameterType*)NativePtr)->isParameterPack; -} - -void CppSharp::Parser::AST::TemplateParameterType::IsParameterPack::set(bool value) -{ - ((::CppSharp::CppParser::AST::TemplateParameterType*)NativePtr)->isParameterPack = value; -} - -CppSharp::Parser::AST::TemplateParameterSubstitutionType::TemplateParameterSubstitutionType(::CppSharp::CppParser::AST::TemplateParameterSubstitutionType* native) - : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)native) -{ -} - -CppSharp::Parser::AST::TemplateParameterSubstitutionType^ CppSharp::Parser::AST::TemplateParameterSubstitutionType::__CreateInstance(::System::IntPtr native) -{ - return gcnew ::CppSharp::Parser::AST::TemplateParameterSubstitutionType((::CppSharp::CppParser::AST::TemplateParameterSubstitutionType*) native.ToPointer()); -} - -CppSharp::Parser::AST::TemplateParameterSubstitutionType::~TemplateParameterSubstitutionType() -{ -} - -CppSharp::Parser::AST::TemplateParameterSubstitutionType::TemplateParameterSubstitutionType() - : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)nullptr) -{ - __ownsNativeInstance = true; - NativePtr = new ::CppSharp::CppParser::AST::TemplateParameterSubstitutionType(); -} - -CppSharp::Parser::AST::TemplateParameterSubstitutionType::TemplateParameterSubstitutionType(CppSharp::Parser::AST::TemplateParameterSubstitutionType^ _0) - : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)nullptr) -{ - __ownsNativeInstance = true; - if (ReferenceEquals(_0, nullptr)) - throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::TemplateParameterSubstitutionType*)_0->NativePtr; - NativePtr = new ::CppSharp::CppParser::AST::TemplateParameterSubstitutionType(__arg0); -} - -CppSharp::Parser::AST::QualifiedType^ CppSharp::Parser::AST::TemplateParameterSubstitutionType::Replacement::get() -{ - return (&((::CppSharp::CppParser::AST::TemplateParameterSubstitutionType*)NativePtr)->replacement == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::QualifiedType((::CppSharp::CppParser::AST::QualifiedType*)&((::CppSharp::CppParser::AST::TemplateParameterSubstitutionType*)NativePtr)->replacement); -} - -void CppSharp::Parser::AST::TemplateParameterSubstitutionType::Replacement::set(CppSharp::Parser::AST::QualifiedType^ value) -{ - ((::CppSharp::CppParser::AST::TemplateParameterSubstitutionType*)NativePtr)->replacement = *(::CppSharp::CppParser::AST::QualifiedType*)value->NativePtr; -} - -CppSharp::Parser::AST::TemplateParameterType^ CppSharp::Parser::AST::TemplateParameterSubstitutionType::ReplacedParameter::get() -{ - return (((::CppSharp::CppParser::AST::TemplateParameterSubstitutionType*)NativePtr)->replacedParameter == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::TemplateParameterType((::CppSharp::CppParser::AST::TemplateParameterType*)((::CppSharp::CppParser::AST::TemplateParameterSubstitutionType*)NativePtr)->replacedParameter); -} - -void CppSharp::Parser::AST::TemplateParameterSubstitutionType::ReplacedParameter::set(CppSharp::Parser::AST::TemplateParameterType^ value) -{ - ((::CppSharp::CppParser::AST::TemplateParameterSubstitutionType*)NativePtr)->replacedParameter = (::CppSharp::CppParser::AST::TemplateParameterType*)value->NativePtr; -} - -CppSharp::Parser::AST::InjectedClassNameType::InjectedClassNameType(::CppSharp::CppParser::AST::InjectedClassNameType* native) - : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)native) -{ -} - -CppSharp::Parser::AST::InjectedClassNameType^ CppSharp::Parser::AST::InjectedClassNameType::__CreateInstance(::System::IntPtr native) -{ - return gcnew ::CppSharp::Parser::AST::InjectedClassNameType((::CppSharp::CppParser::AST::InjectedClassNameType*) native.ToPointer()); -} - -CppSharp::Parser::AST::InjectedClassNameType::~InjectedClassNameType() -{ -} - -CppSharp::Parser::AST::InjectedClassNameType::InjectedClassNameType() - : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)nullptr) -{ - __ownsNativeInstance = true; - NativePtr = new ::CppSharp::CppParser::AST::InjectedClassNameType(); -} - -CppSharp::Parser::AST::InjectedClassNameType::InjectedClassNameType(CppSharp::Parser::AST::InjectedClassNameType^ _0) - : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)nullptr) -{ - __ownsNativeInstance = true; - if (ReferenceEquals(_0, nullptr)) - throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::InjectedClassNameType*)_0->NativePtr; - NativePtr = new ::CppSharp::CppParser::AST::InjectedClassNameType(__arg0); -} - -CppSharp::Parser::AST::QualifiedType^ CppSharp::Parser::AST::InjectedClassNameType::InjectedSpecializationType::get() -{ - return (&((::CppSharp::CppParser::AST::InjectedClassNameType*)NativePtr)->injectedSpecializationType == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::QualifiedType((::CppSharp::CppParser::AST::QualifiedType*)&((::CppSharp::CppParser::AST::InjectedClassNameType*)NativePtr)->injectedSpecializationType); -} - -void CppSharp::Parser::AST::InjectedClassNameType::InjectedSpecializationType::set(CppSharp::Parser::AST::QualifiedType^ value) -{ - ((::CppSharp::CppParser::AST::InjectedClassNameType*)NativePtr)->injectedSpecializationType = *(::CppSharp::CppParser::AST::QualifiedType*)value->NativePtr; -} - -CppSharp::Parser::AST::Class^ CppSharp::Parser::AST::InjectedClassNameType::Class::get() -{ - return (((::CppSharp::CppParser::AST::InjectedClassNameType*)NativePtr)->_class == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Class((::CppSharp::CppParser::AST::Class*)((::CppSharp::CppParser::AST::InjectedClassNameType*)NativePtr)->_class); -} - -void CppSharp::Parser::AST::InjectedClassNameType::Class::set(CppSharp::Parser::AST::Class^ value) -{ - ((::CppSharp::CppParser::AST::InjectedClassNameType*)NativePtr)->_class = (::CppSharp::CppParser::AST::Class*)value->NativePtr; -} - -CppSharp::Parser::AST::DependentNameType::DependentNameType(::CppSharp::CppParser::AST::DependentNameType* native) - : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)native) -{ -} - -CppSharp::Parser::AST::DependentNameType^ CppSharp::Parser::AST::DependentNameType::__CreateInstance(::System::IntPtr native) -{ - return gcnew ::CppSharp::Parser::AST::DependentNameType((::CppSharp::CppParser::AST::DependentNameType*) native.ToPointer()); -} - -CppSharp::Parser::AST::DependentNameType::~DependentNameType() -{ - if (NativePtr) - { - auto __nativePtr = NativePtr; - NativePtr = 0; - delete (::CppSharp::CppParser::AST::DependentNameType*) __nativePtr; - } -} - -CppSharp::Parser::AST::DependentNameType::DependentNameType() - : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)nullptr) -{ - __ownsNativeInstance = true; - NativePtr = new ::CppSharp::CppParser::AST::DependentNameType(); -} - -CppSharp::Parser::AST::DependentNameType::DependentNameType(CppSharp::Parser::AST::DependentNameType^ _0) - : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)nullptr) -{ - __ownsNativeInstance = true; - if (ReferenceEquals(_0, nullptr)) - throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::DependentNameType*)_0->NativePtr; - NativePtr = new ::CppSharp::CppParser::AST::DependentNameType(__arg0); -} - -CppSharp::Parser::AST::QualifiedType^ CppSharp::Parser::AST::DependentNameType::Qualifier::get() -{ - return (&((::CppSharp::CppParser::AST::DependentNameType*)NativePtr)->qualifier == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::QualifiedType((::CppSharp::CppParser::AST::QualifiedType*)&((::CppSharp::CppParser::AST::DependentNameType*)NativePtr)->qualifier); -} - -void CppSharp::Parser::AST::DependentNameType::Qualifier::set(CppSharp::Parser::AST::QualifiedType^ value) -{ - ((::CppSharp::CppParser::AST::DependentNameType*)NativePtr)->qualifier = *(::CppSharp::CppParser::AST::QualifiedType*)value->NativePtr; -} - -System::String^ CppSharp::Parser::AST::DependentNameType::Identifier::get() -{ - return clix::marshalString(((::CppSharp::CppParser::AST::DependentNameType*)NativePtr)->identifier); -} - -void CppSharp::Parser::AST::DependentNameType::Identifier::set(System::String^ value) -{ - ((::CppSharp::CppParser::AST::DependentNameType*)NativePtr)->identifier = clix::marshalString(value); -} - -CppSharp::Parser::AST::PackExpansionType::PackExpansionType(::CppSharp::CppParser::AST::PackExpansionType* native) - : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)native) -{ -} - -CppSharp::Parser::AST::PackExpansionType^ CppSharp::Parser::AST::PackExpansionType::__CreateInstance(::System::IntPtr native) -{ - return gcnew ::CppSharp::Parser::AST::PackExpansionType((::CppSharp::CppParser::AST::PackExpansionType*) native.ToPointer()); -} - -CppSharp::Parser::AST::PackExpansionType::~PackExpansionType() -{ -} - -CppSharp::Parser::AST::PackExpansionType::PackExpansionType() - : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)nullptr) -{ - __ownsNativeInstance = true; - NativePtr = new ::CppSharp::CppParser::AST::PackExpansionType(); -} - -CppSharp::Parser::AST::PackExpansionType::PackExpansionType(CppSharp::Parser::AST::PackExpansionType^ _0) - : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)nullptr) -{ - __ownsNativeInstance = true; - if (ReferenceEquals(_0, nullptr)) - throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::PackExpansionType*)_0->NativePtr; - NativePtr = new ::CppSharp::CppParser::AST::PackExpansionType(__arg0); -} - -CppSharp::Parser::AST::UnaryTransformType::UnaryTransformType(::CppSharp::CppParser::AST::UnaryTransformType* native) - : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)native) -{ -} - -CppSharp::Parser::AST::UnaryTransformType^ CppSharp::Parser::AST::UnaryTransformType::__CreateInstance(::System::IntPtr native) -{ - return gcnew ::CppSharp::Parser::AST::UnaryTransformType((::CppSharp::CppParser::AST::UnaryTransformType*) native.ToPointer()); -} - -CppSharp::Parser::AST::UnaryTransformType::~UnaryTransformType() -{ -} - -CppSharp::Parser::AST::UnaryTransformType::UnaryTransformType() - : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)nullptr) -{ - __ownsNativeInstance = true; - NativePtr = new ::CppSharp::CppParser::AST::UnaryTransformType(); -} - -CppSharp::Parser::AST::UnaryTransformType::UnaryTransformType(CppSharp::Parser::AST::UnaryTransformType^ _0) - : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)nullptr) -{ - __ownsNativeInstance = true; - if (ReferenceEquals(_0, nullptr)) - throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::UnaryTransformType*)_0->NativePtr; - NativePtr = new ::CppSharp::CppParser::AST::UnaryTransformType(__arg0); -} - -CppSharp::Parser::AST::QualifiedType^ CppSharp::Parser::AST::UnaryTransformType::Desugared::get() -{ - return (&((::CppSharp::CppParser::AST::UnaryTransformType*)NativePtr)->desugared == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::QualifiedType((::CppSharp::CppParser::AST::QualifiedType*)&((::CppSharp::CppParser::AST::UnaryTransformType*)NativePtr)->desugared); -} - -void CppSharp::Parser::AST::UnaryTransformType::Desugared::set(CppSharp::Parser::AST::QualifiedType^ value) -{ - ((::CppSharp::CppParser::AST::UnaryTransformType*)NativePtr)->desugared = *(::CppSharp::CppParser::AST::QualifiedType*)value->NativePtr; -} - -CppSharp::Parser::AST::QualifiedType^ CppSharp::Parser::AST::UnaryTransformType::BaseType::get() -{ - return (&((::CppSharp::CppParser::AST::UnaryTransformType*)NativePtr)->baseType == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::QualifiedType((::CppSharp::CppParser::AST::QualifiedType*)&((::CppSharp::CppParser::AST::UnaryTransformType*)NativePtr)->baseType); -} - -void CppSharp::Parser::AST::UnaryTransformType::BaseType::set(CppSharp::Parser::AST::QualifiedType^ value) -{ - ((::CppSharp::CppParser::AST::UnaryTransformType*)NativePtr)->baseType = *(::CppSharp::CppParser::AST::QualifiedType*)value->NativePtr; -} - -CppSharp::Parser::AST::VectorType::VectorType(::CppSharp::CppParser::AST::VectorType* native) - : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)native) -{ -} - -CppSharp::Parser::AST::VectorType^ CppSharp::Parser::AST::VectorType::__CreateInstance(::System::IntPtr native) -{ - return gcnew ::CppSharp::Parser::AST::VectorType((::CppSharp::CppParser::AST::VectorType*) native.ToPointer()); -} - -CppSharp::Parser::AST::VectorType::~VectorType() -{ -} - -CppSharp::Parser::AST::VectorType::VectorType() - : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)nullptr) -{ - __ownsNativeInstance = true; - NativePtr = new ::CppSharp::CppParser::AST::VectorType(); -} - -CppSharp::Parser::AST::VectorType::VectorType(CppSharp::Parser::AST::VectorType^ _0) - : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)nullptr) -{ - __ownsNativeInstance = true; - if (ReferenceEquals(_0, nullptr)) - throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::VectorType*)_0->NativePtr; - NativePtr = new ::CppSharp::CppParser::AST::VectorType(__arg0); -} - -CppSharp::Parser::AST::QualifiedType^ CppSharp::Parser::AST::VectorType::ElementType::get() -{ - return (&((::CppSharp::CppParser::AST::VectorType*)NativePtr)->elementType == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::QualifiedType((::CppSharp::CppParser::AST::QualifiedType*)&((::CppSharp::CppParser::AST::VectorType*)NativePtr)->elementType); -} - -void CppSharp::Parser::AST::VectorType::ElementType::set(CppSharp::Parser::AST::QualifiedType^ value) -{ - ((::CppSharp::CppParser::AST::VectorType*)NativePtr)->elementType = *(::CppSharp::CppParser::AST::QualifiedType*)value->NativePtr; -} - -unsigned int CppSharp::Parser::AST::VectorType::NumElements::get() -{ - return ((::CppSharp::CppParser::AST::VectorType*)NativePtr)->numElements; -} - -void CppSharp::Parser::AST::VectorType::NumElements::set(unsigned int value) -{ - ((::CppSharp::CppParser::AST::VectorType*)NativePtr)->numElements = value; -} - -CppSharp::Parser::AST::BuiltinType::BuiltinType(::CppSharp::CppParser::AST::BuiltinType* native) - : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)native) -{ -} - -CppSharp::Parser::AST::BuiltinType^ CppSharp::Parser::AST::BuiltinType::__CreateInstance(::System::IntPtr native) -{ - return gcnew ::CppSharp::Parser::AST::BuiltinType((::CppSharp::CppParser::AST::BuiltinType*) native.ToPointer()); -} - -CppSharp::Parser::AST::BuiltinType::~BuiltinType() -{ -} - -CppSharp::Parser::AST::BuiltinType::BuiltinType() - : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)nullptr) -{ - __ownsNativeInstance = true; - NativePtr = new ::CppSharp::CppParser::AST::BuiltinType(); -} - -CppSharp::Parser::AST::BuiltinType::BuiltinType(CppSharp::Parser::AST::BuiltinType^ _0) - : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)nullptr) -{ - __ownsNativeInstance = true; - if (ReferenceEquals(_0, nullptr)) - throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::BuiltinType*)_0->NativePtr; - NativePtr = new ::CppSharp::CppParser::AST::BuiltinType(__arg0); -} - -CppSharp::Parser::AST::PrimitiveType CppSharp::Parser::AST::BuiltinType::Type::get() -{ - return (CppSharp::Parser::AST::PrimitiveType)((::CppSharp::CppParser::AST::BuiltinType*)NativePtr)->type; -} - -void CppSharp::Parser::AST::BuiltinType::Type::set(CppSharp::Parser::AST::PrimitiveType value) -{ - ((::CppSharp::CppParser::AST::BuiltinType*)NativePtr)->type = (::CppSharp::CppParser::AST::PrimitiveType)value; -} - -CppSharp::Parser::AST::VTableComponent::VTableComponent(::CppSharp::CppParser::AST::VTableComponent* native) - : __ownsNativeInstance(false) -{ - NativePtr = native; -} - -CppSharp::Parser::AST::VTableComponent^ CppSharp::Parser::AST::VTableComponent::__CreateInstance(::System::IntPtr native) -{ - return gcnew ::CppSharp::Parser::AST::VTableComponent((::CppSharp::CppParser::AST::VTableComponent*) native.ToPointer()); -} - -CppSharp::Parser::AST::VTableComponent::~VTableComponent() -{ - delete NativePtr; -} - -CppSharp::Parser::AST::VTableComponent::VTableComponent() -{ - __ownsNativeInstance = true; - NativePtr = new ::CppSharp::CppParser::AST::VTableComponent(); -} - -CppSharp::Parser::AST::VTableComponent::VTableComponent(CppSharp::Parser::AST::VTableComponent^ _0) -{ - __ownsNativeInstance = true; - if (ReferenceEquals(_0, nullptr)) - throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::VTableComponent*)_0->NativePtr; - NativePtr = new ::CppSharp::CppParser::AST::VTableComponent(__arg0); -} - -System::IntPtr CppSharp::Parser::AST::VTableComponent::__Instance::get() -{ - return System::IntPtr(NativePtr); -} - -void CppSharp::Parser::AST::VTableComponent::__Instance::set(System::IntPtr object) -{ - NativePtr = (::CppSharp::CppParser::AST::VTableComponent*)object.ToPointer(); -} - -CppSharp::Parser::AST::VTableComponentKind CppSharp::Parser::AST::VTableComponent::Kind::get() -{ - return (CppSharp::Parser::AST::VTableComponentKind)((::CppSharp::CppParser::AST::VTableComponent*)NativePtr)->kind; -} - -void CppSharp::Parser::AST::VTableComponent::Kind::set(CppSharp::Parser::AST::VTableComponentKind value) -{ - ((::CppSharp::CppParser::AST::VTableComponent*)NativePtr)->kind = (::CppSharp::CppParser::AST::VTableComponentKind)value; -} - -unsigned int CppSharp::Parser::AST::VTableComponent::Offset::get() -{ - return ((::CppSharp::CppParser::AST::VTableComponent*)NativePtr)->offset; -} - -void CppSharp::Parser::AST::VTableComponent::Offset::set(unsigned int value) -{ - ((::CppSharp::CppParser::AST::VTableComponent*)NativePtr)->offset = value; -} - -CppSharp::Parser::AST::Declaration^ CppSharp::Parser::AST::VTableComponent::Declaration::get() -{ - return (((::CppSharp::CppParser::AST::VTableComponent*)NativePtr)->declaration == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)((::CppSharp::CppParser::AST::VTableComponent*)NativePtr)->declaration); -} - -void CppSharp::Parser::AST::VTableComponent::Declaration::set(CppSharp::Parser::AST::Declaration^ value) -{ - ((::CppSharp::CppParser::AST::VTableComponent*)NativePtr)->declaration = (::CppSharp::CppParser::AST::Declaration*)value->NativePtr; -} - -CppSharp::Parser::AST::VTableLayout::VTableLayout(::CppSharp::CppParser::AST::VTableLayout* native) - : __ownsNativeInstance(false) -{ - NativePtr = native; -} - -CppSharp::Parser::AST::VTableLayout^ CppSharp::Parser::AST::VTableLayout::__CreateInstance(::System::IntPtr native) -{ - return gcnew ::CppSharp::Parser::AST::VTableLayout((::CppSharp::CppParser::AST::VTableLayout*) native.ToPointer()); -} - -CppSharp::Parser::AST::VTableLayout::~VTableLayout() -{ - delete NativePtr; -} - -CppSharp::Parser::AST::VTableLayout::VTableLayout() -{ - __ownsNativeInstance = true; - NativePtr = new ::CppSharp::CppParser::AST::VTableLayout(); -} - -CppSharp::Parser::AST::VTableLayout::VTableLayout(CppSharp::Parser::AST::VTableLayout^ _0) -{ - __ownsNativeInstance = true; - if (ReferenceEquals(_0, nullptr)) - throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::VTableLayout*)_0->NativePtr; - NativePtr = new ::CppSharp::CppParser::AST::VTableLayout(__arg0); -} - -CppSharp::Parser::AST::VTableComponent^ CppSharp::Parser::AST::VTableLayout::GetComponents(unsigned int i) -{ - auto __ret = ((::CppSharp::CppParser::AST::VTableLayout*)NativePtr)->getComponents(i); - auto ____ret = new ::CppSharp::CppParser::AST::VTableComponent(__ret); - return (____ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::VTableComponent((::CppSharp::CppParser::AST::VTableComponent*)____ret); -} - -void CppSharp::Parser::AST::VTableLayout::AddComponents(CppSharp::Parser::AST::VTableComponent^ s) -{ - if (ReferenceEquals(s, nullptr)) - throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::VTableComponent*)s->NativePtr; - ((::CppSharp::CppParser::AST::VTableLayout*)NativePtr)->addComponents(__arg0); -} - -void CppSharp::Parser::AST::VTableLayout::ClearComponents() -{ - ((::CppSharp::CppParser::AST::VTableLayout*)NativePtr)->clearComponents(); -} - -System::IntPtr CppSharp::Parser::AST::VTableLayout::__Instance::get() -{ - return System::IntPtr(NativePtr); -} - -void CppSharp::Parser::AST::VTableLayout::__Instance::set(System::IntPtr object) -{ - NativePtr = (::CppSharp::CppParser::AST::VTableLayout*)object.ToPointer(); -} - -System::Collections::Generic::List^ CppSharp::Parser::AST::VTableLayout::Components::get() -{ - auto _tmp__Components = gcnew System::Collections::Generic::List(); - for(auto _element : ((::CppSharp::CppParser::AST::VTableLayout*)NativePtr)->Components) - { - auto ___element = new ::CppSharp::CppParser::AST::VTableComponent(_element); - auto _marshalElement = (___element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::VTableComponent((::CppSharp::CppParser::AST::VTableComponent*)___element); - _tmp__Components->Add(_marshalElement); - } - return _tmp__Components; -} - -void CppSharp::Parser::AST::VTableLayout::Components::set(System::Collections::Generic::List^ value) -{ - auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::VTableComponent>(); - for each(CppSharp::Parser::AST::VTableComponent^ _element in value) - { - auto _marshalElement = *(::CppSharp::CppParser::AST::VTableComponent*)_element->NativePtr; - _tmpvalue.push_back(_marshalElement); - } - ((::CppSharp::CppParser::AST::VTableLayout*)NativePtr)->Components = _tmpvalue; -} - -unsigned int CppSharp::Parser::AST::VTableLayout::ComponentsCount::get() -{ - auto __ret = ((::CppSharp::CppParser::AST::VTableLayout*)NativePtr)->getComponentsCount(); - return __ret; -} - -CppSharp::Parser::AST::VFTableInfo::VFTableInfo(::CppSharp::CppParser::AST::VFTableInfo* native) - : __ownsNativeInstance(false) -{ - NativePtr = native; -} - -CppSharp::Parser::AST::VFTableInfo^ CppSharp::Parser::AST::VFTableInfo::__CreateInstance(::System::IntPtr native) -{ - return gcnew ::CppSharp::Parser::AST::VFTableInfo((::CppSharp::CppParser::AST::VFTableInfo*) native.ToPointer()); -} - -CppSharp::Parser::AST::VFTableInfo::~VFTableInfo() -{ - delete NativePtr; -} - -CppSharp::Parser::AST::VFTableInfo::VFTableInfo() -{ - __ownsNativeInstance = true; - NativePtr = new ::CppSharp::CppParser::AST::VFTableInfo(); -} - -CppSharp::Parser::AST::VFTableInfo::VFTableInfo(CppSharp::Parser::AST::VFTableInfo^ _0) -{ - __ownsNativeInstance = true; - if (ReferenceEquals(_0, nullptr)) - throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::VFTableInfo*)_0->NativePtr; - NativePtr = new ::CppSharp::CppParser::AST::VFTableInfo(__arg0); -} - -System::IntPtr CppSharp::Parser::AST::VFTableInfo::__Instance::get() -{ - return System::IntPtr(NativePtr); -} - -void CppSharp::Parser::AST::VFTableInfo::__Instance::set(System::IntPtr object) -{ - NativePtr = (::CppSharp::CppParser::AST::VFTableInfo*)object.ToPointer(); -} - -unsigned long long CppSharp::Parser::AST::VFTableInfo::VBTableIndex::get() -{ - return ((::CppSharp::CppParser::AST::VFTableInfo*)NativePtr)->VBTableIndex; -} - -void CppSharp::Parser::AST::VFTableInfo::VBTableIndex::set(unsigned long long value) -{ - ((::CppSharp::CppParser::AST::VFTableInfo*)NativePtr)->VBTableIndex = (::uint64_t)value; -} - -unsigned int CppSharp::Parser::AST::VFTableInfo::VFPtrOffset::get() -{ - return ((::CppSharp::CppParser::AST::VFTableInfo*)NativePtr)->VFPtrOffset; -} - -void CppSharp::Parser::AST::VFTableInfo::VFPtrOffset::set(unsigned int value) -{ - ((::CppSharp::CppParser::AST::VFTableInfo*)NativePtr)->VFPtrOffset = (::uint32_t)value; -} - -unsigned int CppSharp::Parser::AST::VFTableInfo::VFPtrFullOffset::get() -{ - return ((::CppSharp::CppParser::AST::VFTableInfo*)NativePtr)->VFPtrFullOffset; -} - -void CppSharp::Parser::AST::VFTableInfo::VFPtrFullOffset::set(unsigned int value) -{ - ((::CppSharp::CppParser::AST::VFTableInfo*)NativePtr)->VFPtrFullOffset = (::uint32_t)value; -} - -CppSharp::Parser::AST::VTableLayout^ CppSharp::Parser::AST::VFTableInfo::Layout::get() -{ - return (&((::CppSharp::CppParser::AST::VFTableInfo*)NativePtr)->layout == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::VTableLayout((::CppSharp::CppParser::AST::VTableLayout*)&((::CppSharp::CppParser::AST::VFTableInfo*)NativePtr)->layout); -} - -void CppSharp::Parser::AST::VFTableInfo::Layout::set(CppSharp::Parser::AST::VTableLayout^ value) -{ - ((::CppSharp::CppParser::AST::VFTableInfo*)NativePtr)->layout = *(::CppSharp::CppParser::AST::VTableLayout*)value->NativePtr; -} - -CppSharp::Parser::AST::LayoutField::LayoutField(::CppSharp::CppParser::AST::LayoutField* native) - : __ownsNativeInstance(false) -{ - NativePtr = native; -} - -CppSharp::Parser::AST::LayoutField^ CppSharp::Parser::AST::LayoutField::__CreateInstance(::System::IntPtr native) -{ - return gcnew ::CppSharp::Parser::AST::LayoutField((::CppSharp::CppParser::AST::LayoutField*) native.ToPointer()); -} - -CppSharp::Parser::AST::LayoutField::~LayoutField() -{ - delete NativePtr; -} - -CppSharp::Parser::AST::LayoutField::LayoutField() -{ - __ownsNativeInstance = true; - NativePtr = new ::CppSharp::CppParser::AST::LayoutField(); -} - -CppSharp::Parser::AST::LayoutField::LayoutField(CppSharp::Parser::AST::LayoutField^ other) -{ - __ownsNativeInstance = true; - if (ReferenceEquals(other, nullptr)) - throw gcnew ::System::ArgumentNullException("other", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::LayoutField*)other->NativePtr; - NativePtr = new ::CppSharp::CppParser::AST::LayoutField(__arg0); -} - -System::IntPtr CppSharp::Parser::AST::LayoutField::__Instance::get() -{ - return System::IntPtr(NativePtr); -} - -void CppSharp::Parser::AST::LayoutField::__Instance::set(System::IntPtr object) -{ - NativePtr = (::CppSharp::CppParser::AST::LayoutField*)object.ToPointer(); -} - -unsigned int CppSharp::Parser::AST::LayoutField::Offset::get() -{ - return ((::CppSharp::CppParser::AST::LayoutField*)NativePtr)->offset; -} - -void CppSharp::Parser::AST::LayoutField::Offset::set(unsigned int value) -{ - ((::CppSharp::CppParser::AST::LayoutField*)NativePtr)->offset = value; -} - -System::String^ CppSharp::Parser::AST::LayoutField::Name::get() -{ - return clix::marshalString(((::CppSharp::CppParser::AST::LayoutField*)NativePtr)->name); -} - -void CppSharp::Parser::AST::LayoutField::Name::set(System::String^ value) -{ - ((::CppSharp::CppParser::AST::LayoutField*)NativePtr)->name = clix::marshalString(value); -} - -CppSharp::Parser::AST::QualifiedType^ CppSharp::Parser::AST::LayoutField::QualifiedType::get() -{ - return (&((::CppSharp::CppParser::AST::LayoutField*)NativePtr)->qualifiedType == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::QualifiedType((::CppSharp::CppParser::AST::QualifiedType*)&((::CppSharp::CppParser::AST::LayoutField*)NativePtr)->qualifiedType); -} - -void CppSharp::Parser::AST::LayoutField::QualifiedType::set(CppSharp::Parser::AST::QualifiedType^ value) -{ - ((::CppSharp::CppParser::AST::LayoutField*)NativePtr)->qualifiedType = *(::CppSharp::CppParser::AST::QualifiedType*)value->NativePtr; -} - -::System::IntPtr CppSharp::Parser::AST::LayoutField::FieldPtr::get() -{ - return ::System::IntPtr(((::CppSharp::CppParser::AST::LayoutField*)NativePtr)->fieldPtr); -} - -void CppSharp::Parser::AST::LayoutField::FieldPtr::set(::System::IntPtr value) -{ - ((::CppSharp::CppParser::AST::LayoutField*)NativePtr)->fieldPtr = (void*)value; -} - -CppSharp::Parser::AST::LayoutBase::LayoutBase(::CppSharp::CppParser::AST::LayoutBase* native) - : __ownsNativeInstance(false) -{ - NativePtr = native; -} - -CppSharp::Parser::AST::LayoutBase^ CppSharp::Parser::AST::LayoutBase::__CreateInstance(::System::IntPtr native) -{ - return gcnew ::CppSharp::Parser::AST::LayoutBase((::CppSharp::CppParser::AST::LayoutBase*) native.ToPointer()); -} - -CppSharp::Parser::AST::LayoutBase::~LayoutBase() -{ - delete NativePtr; -} - -CppSharp::Parser::AST::LayoutBase::LayoutBase() -{ - __ownsNativeInstance = true; - NativePtr = new ::CppSharp::CppParser::AST::LayoutBase(); -} - -CppSharp::Parser::AST::LayoutBase::LayoutBase(CppSharp::Parser::AST::LayoutBase^ other) -{ - __ownsNativeInstance = true; - if (ReferenceEquals(other, nullptr)) - throw gcnew ::System::ArgumentNullException("other", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::LayoutBase*)other->NativePtr; - NativePtr = new ::CppSharp::CppParser::AST::LayoutBase(__arg0); -} - -System::IntPtr CppSharp::Parser::AST::LayoutBase::__Instance::get() -{ - return System::IntPtr(NativePtr); -} - -void CppSharp::Parser::AST::LayoutBase::__Instance::set(System::IntPtr object) -{ - NativePtr = (::CppSharp::CppParser::AST::LayoutBase*)object.ToPointer(); -} - -unsigned int CppSharp::Parser::AST::LayoutBase::Offset::get() -{ - return ((::CppSharp::CppParser::AST::LayoutBase*)NativePtr)->offset; -} - -void CppSharp::Parser::AST::LayoutBase::Offset::set(unsigned int value) -{ - ((::CppSharp::CppParser::AST::LayoutBase*)NativePtr)->offset = value; -} - -CppSharp::Parser::AST::Class^ CppSharp::Parser::AST::LayoutBase::Class::get() -{ - return (((::CppSharp::CppParser::AST::LayoutBase*)NativePtr)->_class == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Class((::CppSharp::CppParser::AST::Class*)((::CppSharp::CppParser::AST::LayoutBase*)NativePtr)->_class); -} - -void CppSharp::Parser::AST::LayoutBase::Class::set(CppSharp::Parser::AST::Class^ value) -{ - ((::CppSharp::CppParser::AST::LayoutBase*)NativePtr)->_class = (::CppSharp::CppParser::AST::Class*)value->NativePtr; -} - -CppSharp::Parser::AST::ClassLayout::ClassLayout(::CppSharp::CppParser::AST::ClassLayout* native) - : __ownsNativeInstance(false) -{ - NativePtr = native; -} - -CppSharp::Parser::AST::ClassLayout^ CppSharp::Parser::AST::ClassLayout::__CreateInstance(::System::IntPtr native) -{ - return gcnew ::CppSharp::Parser::AST::ClassLayout((::CppSharp::CppParser::AST::ClassLayout*) native.ToPointer()); -} - -CppSharp::Parser::AST::ClassLayout::~ClassLayout() -{ - delete NativePtr; -} - -CppSharp::Parser::AST::ClassLayout::ClassLayout() -{ - __ownsNativeInstance = true; - NativePtr = new ::CppSharp::CppParser::AST::ClassLayout(); -} - -CppSharp::Parser::AST::VFTableInfo^ CppSharp::Parser::AST::ClassLayout::GetVFTables(unsigned int i) -{ - auto __ret = ((::CppSharp::CppParser::AST::ClassLayout*)NativePtr)->getVFTables(i); - auto ____ret = new ::CppSharp::CppParser::AST::VFTableInfo(__ret); - return (____ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::VFTableInfo((::CppSharp::CppParser::AST::VFTableInfo*)____ret); -} - -void CppSharp::Parser::AST::ClassLayout::AddVFTables(CppSharp::Parser::AST::VFTableInfo^ s) -{ - if (ReferenceEquals(s, nullptr)) - throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::VFTableInfo*)s->NativePtr; - ((::CppSharp::CppParser::AST::ClassLayout*)NativePtr)->addVFTables(__arg0); -} - -void CppSharp::Parser::AST::ClassLayout::ClearVFTables() -{ - ((::CppSharp::CppParser::AST::ClassLayout*)NativePtr)->clearVFTables(); -} - -CppSharp::Parser::AST::LayoutField^ CppSharp::Parser::AST::ClassLayout::GetFields(unsigned int i) -{ - auto __ret = ((::CppSharp::CppParser::AST::ClassLayout*)NativePtr)->getFields(i); - auto ____ret = new ::CppSharp::CppParser::AST::LayoutField(__ret); - return (____ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::LayoutField((::CppSharp::CppParser::AST::LayoutField*)____ret); -} - -void CppSharp::Parser::AST::ClassLayout::AddFields(CppSharp::Parser::AST::LayoutField^ s) -{ - if (ReferenceEquals(s, nullptr)) - throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::LayoutField*)s->NativePtr; - ((::CppSharp::CppParser::AST::ClassLayout*)NativePtr)->addFields(__arg0); -} - -void CppSharp::Parser::AST::ClassLayout::ClearFields() -{ - ((::CppSharp::CppParser::AST::ClassLayout*)NativePtr)->clearFields(); -} - -CppSharp::Parser::AST::LayoutBase^ CppSharp::Parser::AST::ClassLayout::GetBases(unsigned int i) -{ - auto __ret = ((::CppSharp::CppParser::AST::ClassLayout*)NativePtr)->getBases(i); - auto ____ret = new ::CppSharp::CppParser::AST::LayoutBase(__ret); - return (____ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::LayoutBase((::CppSharp::CppParser::AST::LayoutBase*)____ret); -} - -void CppSharp::Parser::AST::ClassLayout::AddBases(CppSharp::Parser::AST::LayoutBase^ s) -{ - if (ReferenceEquals(s, nullptr)) - throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::LayoutBase*)s->NativePtr; - ((::CppSharp::CppParser::AST::ClassLayout*)NativePtr)->addBases(__arg0); -} - -void CppSharp::Parser::AST::ClassLayout::ClearBases() -{ - ((::CppSharp::CppParser::AST::ClassLayout*)NativePtr)->clearBases(); -} - -CppSharp::Parser::AST::ClassLayout::ClassLayout(CppSharp::Parser::AST::ClassLayout^ _0) -{ - __ownsNativeInstance = true; - if (ReferenceEquals(_0, nullptr)) - throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::ClassLayout*)_0->NativePtr; - NativePtr = new ::CppSharp::CppParser::AST::ClassLayout(__arg0); -} - -System::IntPtr CppSharp::Parser::AST::ClassLayout::__Instance::get() -{ - return System::IntPtr(NativePtr); -} - -void CppSharp::Parser::AST::ClassLayout::__Instance::set(System::IntPtr object) -{ - NativePtr = (::CppSharp::CppParser::AST::ClassLayout*)object.ToPointer(); -} - -CppSharp::Parser::AST::CppAbi CppSharp::Parser::AST::ClassLayout::ABI::get() -{ - return (CppSharp::Parser::AST::CppAbi)((::CppSharp::CppParser::AST::ClassLayout*)NativePtr)->ABI; -} - -void CppSharp::Parser::AST::ClassLayout::ABI::set(CppSharp::Parser::AST::CppAbi value) -{ - ((::CppSharp::CppParser::AST::ClassLayout*)NativePtr)->ABI = (::CppSharp::CppParser::AST::CppAbi)value; -} - -System::Collections::Generic::List^ CppSharp::Parser::AST::ClassLayout::VFTables::get() -{ - auto _tmp__VFTables = gcnew System::Collections::Generic::List(); - for(auto _element : ((::CppSharp::CppParser::AST::ClassLayout*)NativePtr)->VFTables) - { - auto ___element = new ::CppSharp::CppParser::AST::VFTableInfo(_element); - auto _marshalElement = (___element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::VFTableInfo((::CppSharp::CppParser::AST::VFTableInfo*)___element); - _tmp__VFTables->Add(_marshalElement); - } - return _tmp__VFTables; -} - -void CppSharp::Parser::AST::ClassLayout::VFTables::set(System::Collections::Generic::List^ value) -{ - auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::VFTableInfo>(); - for each(CppSharp::Parser::AST::VFTableInfo^ _element in value) - { - auto _marshalElement = *(::CppSharp::CppParser::AST::VFTableInfo*)_element->NativePtr; - _tmpvalue.push_back(_marshalElement); - } - ((::CppSharp::CppParser::AST::ClassLayout*)NativePtr)->VFTables = _tmpvalue; -} - -CppSharp::Parser::AST::VTableLayout^ CppSharp::Parser::AST::ClassLayout::Layout::get() -{ - return (&((::CppSharp::CppParser::AST::ClassLayout*)NativePtr)->layout == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::VTableLayout((::CppSharp::CppParser::AST::VTableLayout*)&((::CppSharp::CppParser::AST::ClassLayout*)NativePtr)->layout); -} - -void CppSharp::Parser::AST::ClassLayout::Layout::set(CppSharp::Parser::AST::VTableLayout^ value) -{ - ((::CppSharp::CppParser::AST::ClassLayout*)NativePtr)->layout = *(::CppSharp::CppParser::AST::VTableLayout*)value->NativePtr; -} - -bool CppSharp::Parser::AST::ClassLayout::HasOwnVFPtr::get() -{ - return ((::CppSharp::CppParser::AST::ClassLayout*)NativePtr)->hasOwnVFPtr; -} - -void CppSharp::Parser::AST::ClassLayout::HasOwnVFPtr::set(bool value) -{ - ((::CppSharp::CppParser::AST::ClassLayout*)NativePtr)->hasOwnVFPtr = value; -} - -long CppSharp::Parser::AST::ClassLayout::VBPtrOffset::get() -{ - return ((::CppSharp::CppParser::AST::ClassLayout*)NativePtr)->VBPtrOffset; -} - -void CppSharp::Parser::AST::ClassLayout::VBPtrOffset::set(long value) -{ - ((::CppSharp::CppParser::AST::ClassLayout*)NativePtr)->VBPtrOffset = value; -} - -int CppSharp::Parser::AST::ClassLayout::Alignment::get() -{ - return ((::CppSharp::CppParser::AST::ClassLayout*)NativePtr)->alignment; -} - -void CppSharp::Parser::AST::ClassLayout::Alignment::set(int value) -{ - ((::CppSharp::CppParser::AST::ClassLayout*)NativePtr)->alignment = value; -} - -int CppSharp::Parser::AST::ClassLayout::Size::get() -{ - return ((::CppSharp::CppParser::AST::ClassLayout*)NativePtr)->size; -} - -void CppSharp::Parser::AST::ClassLayout::Size::set(int value) -{ - ((::CppSharp::CppParser::AST::ClassLayout*)NativePtr)->size = value; -} - -int CppSharp::Parser::AST::ClassLayout::DataSize::get() -{ - return ((::CppSharp::CppParser::AST::ClassLayout*)NativePtr)->dataSize; -} - -void CppSharp::Parser::AST::ClassLayout::DataSize::set(int value) -{ - ((::CppSharp::CppParser::AST::ClassLayout*)NativePtr)->dataSize = value; -} - -System::Collections::Generic::List^ CppSharp::Parser::AST::ClassLayout::Fields::get() -{ - auto _tmp__Fields = gcnew System::Collections::Generic::List(); - for(auto _element : ((::CppSharp::CppParser::AST::ClassLayout*)NativePtr)->Fields) - { - auto ___element = new ::CppSharp::CppParser::AST::LayoutField(_element); - auto _marshalElement = (___element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::LayoutField((::CppSharp::CppParser::AST::LayoutField*)___element); - _tmp__Fields->Add(_marshalElement); - } - return _tmp__Fields; -} - -void CppSharp::Parser::AST::ClassLayout::Fields::set(System::Collections::Generic::List^ value) -{ - auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::LayoutField>(); - for each(CppSharp::Parser::AST::LayoutField^ _element in value) - { - auto _marshalElement = *(::CppSharp::CppParser::AST::LayoutField*)_element->NativePtr; - _tmpvalue.push_back(_marshalElement); - } - ((::CppSharp::CppParser::AST::ClassLayout*)NativePtr)->Fields = _tmpvalue; -} - -System::Collections::Generic::List^ CppSharp::Parser::AST::ClassLayout::Bases::get() -{ - auto _tmp__Bases = gcnew System::Collections::Generic::List(); - for(auto _element : ((::CppSharp::CppParser::AST::ClassLayout*)NativePtr)->Bases) - { - auto ___element = new ::CppSharp::CppParser::AST::LayoutBase(_element); - auto _marshalElement = (___element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::LayoutBase((::CppSharp::CppParser::AST::LayoutBase*)___element); - _tmp__Bases->Add(_marshalElement); - } - return _tmp__Bases; -} - -void CppSharp::Parser::AST::ClassLayout::Bases::set(System::Collections::Generic::List^ value) -{ - auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::LayoutBase>(); - for each(CppSharp::Parser::AST::LayoutBase^ _element in value) - { - auto _marshalElement = *(::CppSharp::CppParser::AST::LayoutBase*)_element->NativePtr; - _tmpvalue.push_back(_marshalElement); - } - ((::CppSharp::CppParser::AST::ClassLayout*)NativePtr)->Bases = _tmpvalue; -} - -unsigned int CppSharp::Parser::AST::ClassLayout::VFTablesCount::get() -{ - auto __ret = ((::CppSharp::CppParser::AST::ClassLayout*)NativePtr)->getVFTablesCount(); - return __ret; -} - -unsigned int CppSharp::Parser::AST::ClassLayout::FieldsCount::get() -{ - auto __ret = ((::CppSharp::CppParser::AST::ClassLayout*)NativePtr)->getFieldsCount(); - return __ret; -} - -unsigned int CppSharp::Parser::AST::ClassLayout::BasesCount::get() -{ - auto __ret = ((::CppSharp::CppParser::AST::ClassLayout*)NativePtr)->getBasesCount(); - return __ret; -} - -CppSharp::Parser::AST::Declaration::Declaration(::CppSharp::CppParser::AST::Declaration* native) - : __ownsNativeInstance(false) -{ - NativePtr = native; -} - -CppSharp::Parser::AST::Declaration^ CppSharp::Parser::AST::Declaration::__CreateInstance(::System::IntPtr native) -{ - return gcnew ::CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*) native.ToPointer()); -} - -CppSharp::Parser::AST::Declaration::~Declaration() -{ - delete NativePtr; -} - -CppSharp::Parser::AST::Declaration::Declaration(CppSharp::Parser::AST::DeclarationKind kind) -{ - __ownsNativeInstance = true; - auto __arg0 = (::CppSharp::CppParser::AST::DeclarationKind)kind; - NativePtr = new ::CppSharp::CppParser::AST::Declaration(__arg0); -} - -CppSharp::Parser::AST::Declaration::Declaration(CppSharp::Parser::AST::Declaration^ _0) -{ - __ownsNativeInstance = true; - if (ReferenceEquals(_0, nullptr)) - throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::Declaration*)_0->NativePtr; - NativePtr = new ::CppSharp::CppParser::AST::Declaration(__arg0); -} - -CppSharp::Parser::AST::PreprocessedEntity^ CppSharp::Parser::AST::Declaration::GetPreprocessedEntities(unsigned int i) -{ - auto __ret = ((::CppSharp::CppParser::AST::Declaration*)NativePtr)->getPreprocessedEntities(i); - if (__ret == nullptr) return nullptr; - return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::PreprocessedEntity((::CppSharp::CppParser::AST::PreprocessedEntity*)__ret); -} - -void CppSharp::Parser::AST::Declaration::AddPreprocessedEntities(CppSharp::Parser::AST::PreprocessedEntity^ s) -{ - if (ReferenceEquals(s, nullptr)) - throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - auto __arg0 = (::CppSharp::CppParser::AST::PreprocessedEntity*)s->NativePtr; - ((::CppSharp::CppParser::AST::Declaration*)NativePtr)->addPreprocessedEntities(__arg0); -} - -void CppSharp::Parser::AST::Declaration::ClearPreprocessedEntities() -{ - ((::CppSharp::CppParser::AST::Declaration*)NativePtr)->clearPreprocessedEntities(); -} - -CppSharp::Parser::AST::Declaration^ CppSharp::Parser::AST::Declaration::GetRedeclarations(unsigned int i) -{ - auto __ret = ((::CppSharp::CppParser::AST::Declaration*)NativePtr)->getRedeclarations(i); - if (__ret == nullptr) return nullptr; - return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)__ret); -} - -void CppSharp::Parser::AST::Declaration::AddRedeclarations(CppSharp::Parser::AST::Declaration^ s) -{ - if (ReferenceEquals(s, nullptr)) - throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - auto __arg0 = (::CppSharp::CppParser::AST::Declaration*)s->NativePtr; - ((::CppSharp::CppParser::AST::Declaration*)NativePtr)->addRedeclarations(__arg0); -} - -void CppSharp::Parser::AST::Declaration::ClearRedeclarations() -{ - ((::CppSharp::CppParser::AST::Declaration*)NativePtr)->clearRedeclarations(); -} - -CppSharp::Parser::AST::Declaration::operator CppSharp::Parser::AST::Declaration^(CppSharp::Parser::AST::DeclarationKind kind) -{ - auto __arg0 = (::CppSharp::CppParser::AST::DeclarationKind)kind; - auto __ret = (::CppSharp::CppParser::AST::Declaration) __arg0; - auto ____ret = new ::CppSharp::CppParser::AST::Declaration(__ret); - return (____ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)____ret); -} - -System::IntPtr CppSharp::Parser::AST::Declaration::__Instance::get() -{ - return System::IntPtr(NativePtr); -} - -void CppSharp::Parser::AST::Declaration::__Instance::set(System::IntPtr object) -{ - NativePtr = (::CppSharp::CppParser::AST::Declaration*)object.ToPointer(); -} - -CppSharp::Parser::AST::DeclarationKind CppSharp::Parser::AST::Declaration::Kind::get() -{ - return (CppSharp::Parser::AST::DeclarationKind)((::CppSharp::CppParser::AST::Declaration*)NativePtr)->kind; -} - -void CppSharp::Parser::AST::Declaration::Kind::set(CppSharp::Parser::AST::DeclarationKind value) -{ - ((::CppSharp::CppParser::AST::Declaration*)NativePtr)->kind = (::CppSharp::CppParser::AST::DeclarationKind)value; -} - -int CppSharp::Parser::AST::Declaration::MaxFieldAlignment::get() -{ - return ((::CppSharp::CppParser::AST::Declaration*)NativePtr)->maxFieldAlignment; -} - -void CppSharp::Parser::AST::Declaration::MaxFieldAlignment::set(int value) -{ - ((::CppSharp::CppParser::AST::Declaration*)NativePtr)->maxFieldAlignment = value; -} - -CppSharp::Parser::AST::AccessSpecifier CppSharp::Parser::AST::Declaration::Access::get() -{ - return (CppSharp::Parser::AST::AccessSpecifier)((::CppSharp::CppParser::AST::Declaration*)NativePtr)->access; -} - -void CppSharp::Parser::AST::Declaration::Access::set(CppSharp::Parser::AST::AccessSpecifier value) -{ - ((::CppSharp::CppParser::AST::Declaration*)NativePtr)->access = (::CppSharp::CppParser::AST::AccessSpecifier)value; -} - -CppSharp::Parser::AST::DeclarationContext^ CppSharp::Parser::AST::Declaration::Namespace::get() -{ - return (((::CppSharp::CppParser::AST::Declaration*)NativePtr)->_namespace == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::DeclarationContext((::CppSharp::CppParser::AST::DeclarationContext*)((::CppSharp::CppParser::AST::Declaration*)NativePtr)->_namespace); -} - -void CppSharp::Parser::AST::Declaration::Namespace::set(CppSharp::Parser::AST::DeclarationContext^ value) -{ - ((::CppSharp::CppParser::AST::Declaration*)NativePtr)->_namespace = (::CppSharp::CppParser::AST::DeclarationContext*)value->NativePtr; -} - -CppSharp::Parser::SourceLocation CppSharp::Parser::AST::Declaration::Location::get() -{ - return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::Declaration*)NativePtr)->location); -} - -void CppSharp::Parser::AST::Declaration::Location::set(CppSharp::Parser::SourceLocation value) -{ - auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); - _marshal0.ID = value.ID; - ((::CppSharp::CppParser::AST::Declaration*)NativePtr)->location = _marshal0; -} - -int CppSharp::Parser::AST::Declaration::LineNumberStart::get() -{ - return ((::CppSharp::CppParser::AST::Declaration*)NativePtr)->lineNumberStart; -} - -void CppSharp::Parser::AST::Declaration::LineNumberStart::set(int value) -{ - ((::CppSharp::CppParser::AST::Declaration*)NativePtr)->lineNumberStart = value; -} - -int CppSharp::Parser::AST::Declaration::LineNumberEnd::get() -{ - return ((::CppSharp::CppParser::AST::Declaration*)NativePtr)->lineNumberEnd; -} - -void CppSharp::Parser::AST::Declaration::LineNumberEnd::set(int value) -{ - ((::CppSharp::CppParser::AST::Declaration*)NativePtr)->lineNumberEnd = value; -} - -System::String^ CppSharp::Parser::AST::Declaration::Name::get() -{ - return clix::marshalString(((::CppSharp::CppParser::AST::Declaration*)NativePtr)->name); -} - -void CppSharp::Parser::AST::Declaration::Name::set(System::String^ value) -{ - ((::CppSharp::CppParser::AST::Declaration*)NativePtr)->name = clix::marshalString(value); -} - -System::String^ CppSharp::Parser::AST::Declaration::USR::get() -{ - return clix::marshalString(((::CppSharp::CppParser::AST::Declaration*)NativePtr)->USR); -} - -void CppSharp::Parser::AST::Declaration::USR::set(System::String^ value) -{ - ((::CppSharp::CppParser::AST::Declaration*)NativePtr)->USR = clix::marshalString(value); -} - -System::String^ CppSharp::Parser::AST::Declaration::DebugText::get() -{ - return clix::marshalString(((::CppSharp::CppParser::AST::Declaration*)NativePtr)->debugText); -} - -void CppSharp::Parser::AST::Declaration::DebugText::set(System::String^ value) -{ - ((::CppSharp::CppParser::AST::Declaration*)NativePtr)->debugText = clix::marshalString(value); -} - -bool CppSharp::Parser::AST::Declaration::IsIncomplete::get() -{ - return ((::CppSharp::CppParser::AST::Declaration*)NativePtr)->isIncomplete; -} - -void CppSharp::Parser::AST::Declaration::IsIncomplete::set(bool value) -{ - ((::CppSharp::CppParser::AST::Declaration*)NativePtr)->isIncomplete = value; -} - -bool CppSharp::Parser::AST::Declaration::IsDependent::get() -{ - return ((::CppSharp::CppParser::AST::Declaration*)NativePtr)->isDependent; -} - -void CppSharp::Parser::AST::Declaration::IsDependent::set(bool value) -{ - ((::CppSharp::CppParser::AST::Declaration*)NativePtr)->isDependent = value; -} - -bool CppSharp::Parser::AST::Declaration::IsImplicit::get() -{ - return ((::CppSharp::CppParser::AST::Declaration*)NativePtr)->isImplicit; -} - -void CppSharp::Parser::AST::Declaration::IsImplicit::set(bool value) -{ - ((::CppSharp::CppParser::AST::Declaration*)NativePtr)->isImplicit = value; -} - -bool CppSharp::Parser::AST::Declaration::IsInvalid::get() -{ - return ((::CppSharp::CppParser::AST::Declaration*)NativePtr)->isInvalid; -} - -void CppSharp::Parser::AST::Declaration::IsInvalid::set(bool value) -{ - ((::CppSharp::CppParser::AST::Declaration*)NativePtr)->isInvalid = value; -} - -CppSharp::Parser::AST::Declaration^ CppSharp::Parser::AST::Declaration::CompleteDeclaration::get() -{ - return (((::CppSharp::CppParser::AST::Declaration*)NativePtr)->completeDeclaration == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)((::CppSharp::CppParser::AST::Declaration*)NativePtr)->completeDeclaration); -} - -void CppSharp::Parser::AST::Declaration::CompleteDeclaration::set(CppSharp::Parser::AST::Declaration^ value) -{ - ((::CppSharp::CppParser::AST::Declaration*)NativePtr)->completeDeclaration = (::CppSharp::CppParser::AST::Declaration*)value->NativePtr; -} - -unsigned int CppSharp::Parser::AST::Declaration::DefinitionOrder::get() -{ - return ((::CppSharp::CppParser::AST::Declaration*)NativePtr)->definitionOrder; -} - -void CppSharp::Parser::AST::Declaration::DefinitionOrder::set(unsigned int value) -{ - ((::CppSharp::CppParser::AST::Declaration*)NativePtr)->definitionOrder = value; -} - -System::Collections::Generic::List^ CppSharp::Parser::AST::Declaration::PreprocessedEntities::get() -{ - auto _tmp__PreprocessedEntities = gcnew System::Collections::Generic::List(); - for(auto _element : ((::CppSharp::CppParser::AST::Declaration*)NativePtr)->PreprocessedEntities) - { - auto _marshalElement = (_element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::PreprocessedEntity((::CppSharp::CppParser::AST::PreprocessedEntity*)_element); - _tmp__PreprocessedEntities->Add(_marshalElement); - } - return _tmp__PreprocessedEntities; -} - -void CppSharp::Parser::AST::Declaration::PreprocessedEntities::set(System::Collections::Generic::List^ value) -{ - auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::PreprocessedEntity*>(); - for each(CppSharp::Parser::AST::PreprocessedEntity^ _element in value) - { - auto _marshalElement = (::CppSharp::CppParser::AST::PreprocessedEntity*)_element->NativePtr; - _tmpvalue.push_back(_marshalElement); - } - ((::CppSharp::CppParser::AST::Declaration*)NativePtr)->PreprocessedEntities = _tmpvalue; -} - -System::Collections::Generic::List^ CppSharp::Parser::AST::Declaration::Redeclarations::get() -{ - auto _tmp__Redeclarations = gcnew System::Collections::Generic::List(); - for(auto _element : ((::CppSharp::CppParser::AST::Declaration*)NativePtr)->Redeclarations) - { - auto _marshalElement = (_element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)_element); - _tmp__Redeclarations->Add(_marshalElement); - } - return _tmp__Redeclarations; -} - -void CppSharp::Parser::AST::Declaration::Redeclarations::set(System::Collections::Generic::List^ value) -{ - auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::Declaration*>(); - for each(CppSharp::Parser::AST::Declaration^ _element in value) - { - auto _marshalElement = (::CppSharp::CppParser::AST::Declaration*)_element->NativePtr; - _tmpvalue.push_back(_marshalElement); - } - ((::CppSharp::CppParser::AST::Declaration*)NativePtr)->Redeclarations = _tmpvalue; -} - -::System::IntPtr CppSharp::Parser::AST::Declaration::OriginalPtr::get() -{ - return ::System::IntPtr(((::CppSharp::CppParser::AST::Declaration*)NativePtr)->originalPtr); -} - -void CppSharp::Parser::AST::Declaration::OriginalPtr::set(::System::IntPtr value) -{ - ((::CppSharp::CppParser::AST::Declaration*)NativePtr)->originalPtr = (void*)value; -} - -CppSharp::Parser::AST::RawComment^ CppSharp::Parser::AST::Declaration::Comment::get() -{ - return (((::CppSharp::CppParser::AST::Declaration*)NativePtr)->comment == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::RawComment((::CppSharp::CppParser::AST::RawComment*)((::CppSharp::CppParser::AST::Declaration*)NativePtr)->comment); -} - -void CppSharp::Parser::AST::Declaration::Comment::set(CppSharp::Parser::AST::RawComment^ value) -{ - ((::CppSharp::CppParser::AST::Declaration*)NativePtr)->comment = (::CppSharp::CppParser::AST::RawComment*)value->NativePtr; -} - -unsigned int CppSharp::Parser::AST::Declaration::PreprocessedEntitiesCount::get() -{ - auto __ret = ((::CppSharp::CppParser::AST::Declaration*)NativePtr)->getPreprocessedEntitiesCount(); - return __ret; -} - -unsigned int CppSharp::Parser::AST::Declaration::RedeclarationsCount::get() -{ - auto __ret = ((::CppSharp::CppParser::AST::Declaration*)NativePtr)->getRedeclarationsCount(); - return __ret; -} - -CppSharp::Parser::AST::DeclarationContext::DeclarationContext(::CppSharp::CppParser::AST::DeclarationContext* native) - : CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)native) -{ -} - -CppSharp::Parser::AST::DeclarationContext^ CppSharp::Parser::AST::DeclarationContext::__CreateInstance(::System::IntPtr native) -{ - return gcnew ::CppSharp::Parser::AST::DeclarationContext((::CppSharp::CppParser::AST::DeclarationContext*) native.ToPointer()); -} - -CppSharp::Parser::AST::DeclarationContext::~DeclarationContext() -{ - if (NativePtr) - { - auto __nativePtr = NativePtr; - NativePtr = 0; - delete (::CppSharp::CppParser::AST::DeclarationContext*) __nativePtr; - } -} - -CppSharp::Parser::AST::DeclarationContext::DeclarationContext(CppSharp::Parser::AST::DeclarationKind kind) - : CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)nullptr) -{ - __ownsNativeInstance = true; - auto __arg0 = (::CppSharp::CppParser::AST::DeclarationKind)kind; - NativePtr = new ::CppSharp::CppParser::AST::DeclarationContext(__arg0); -} - -CppSharp::Parser::AST::Namespace^ CppSharp::Parser::AST::DeclarationContext::GetNamespaces(unsigned int i) -{ - auto __ret = ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->getNamespaces(i); - if (__ret == nullptr) return nullptr; - return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Namespace((::CppSharp::CppParser::AST::Namespace*)__ret); -} - -void CppSharp::Parser::AST::DeclarationContext::AddNamespaces(CppSharp::Parser::AST::Namespace^ s) -{ - if (ReferenceEquals(s, nullptr)) - throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - auto __arg0 = (::CppSharp::CppParser::AST::Namespace*)s->NativePtr; - ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->addNamespaces(__arg0); -} - -void CppSharp::Parser::AST::DeclarationContext::ClearNamespaces() -{ - ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->clearNamespaces(); -} - -CppSharp::Parser::AST::Enumeration^ CppSharp::Parser::AST::DeclarationContext::GetEnums(unsigned int i) -{ - auto __ret = ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->getEnums(i); - if (__ret == nullptr) return nullptr; - return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Enumeration((::CppSharp::CppParser::AST::Enumeration*)__ret); -} - -void CppSharp::Parser::AST::DeclarationContext::AddEnums(CppSharp::Parser::AST::Enumeration^ s) -{ - if (ReferenceEquals(s, nullptr)) - throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - auto __arg0 = (::CppSharp::CppParser::AST::Enumeration*)s->NativePtr; - ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->addEnums(__arg0); -} - -void CppSharp::Parser::AST::DeclarationContext::ClearEnums() -{ - ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->clearEnums(); -} - -CppSharp::Parser::AST::Function^ CppSharp::Parser::AST::DeclarationContext::GetFunctions(unsigned int i) -{ - auto __ret = ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->getFunctions(i); - if (__ret == nullptr) return nullptr; - return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Function((::CppSharp::CppParser::AST::Function*)__ret); -} - -void CppSharp::Parser::AST::DeclarationContext::AddFunctions(CppSharp::Parser::AST::Function^ s) -{ - if (ReferenceEquals(s, nullptr)) - throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - auto __arg0 = (::CppSharp::CppParser::AST::Function*)s->NativePtr; - ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->addFunctions(__arg0); -} - -void CppSharp::Parser::AST::DeclarationContext::ClearFunctions() -{ - ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->clearFunctions(); -} - -CppSharp::Parser::AST::Class^ CppSharp::Parser::AST::DeclarationContext::GetClasses(unsigned int i) -{ - auto __ret = ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->getClasses(i); - if (__ret == nullptr) return nullptr; - return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Class((::CppSharp::CppParser::AST::Class*)__ret); -} - -void CppSharp::Parser::AST::DeclarationContext::AddClasses(CppSharp::Parser::AST::Class^ s) -{ - if (ReferenceEquals(s, nullptr)) - throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - auto __arg0 = (::CppSharp::CppParser::AST::Class*)s->NativePtr; - ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->addClasses(__arg0); -} - -void CppSharp::Parser::AST::DeclarationContext::ClearClasses() -{ - ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->clearClasses(); -} - -CppSharp::Parser::AST::Template^ CppSharp::Parser::AST::DeclarationContext::GetTemplates(unsigned int i) -{ - auto __ret = ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->getTemplates(i); - if (__ret == nullptr) return nullptr; - return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Template((::CppSharp::CppParser::AST::Template*)__ret); -} - -void CppSharp::Parser::AST::DeclarationContext::AddTemplates(CppSharp::Parser::AST::Template^ s) -{ - if (ReferenceEquals(s, nullptr)) - throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - auto __arg0 = (::CppSharp::CppParser::AST::Template*)s->NativePtr; - ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->addTemplates(__arg0); -} - -void CppSharp::Parser::AST::DeclarationContext::ClearTemplates() -{ - ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->clearTemplates(); -} - -CppSharp::Parser::AST::TypedefDecl^ CppSharp::Parser::AST::DeclarationContext::GetTypedefs(unsigned int i) -{ - auto __ret = ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->getTypedefs(i); - if (__ret == nullptr) return nullptr; - return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::TypedefDecl((::CppSharp::CppParser::AST::TypedefDecl*)__ret); -} - -void CppSharp::Parser::AST::DeclarationContext::AddTypedefs(CppSharp::Parser::AST::TypedefDecl^ s) -{ - if (ReferenceEquals(s, nullptr)) - throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - auto __arg0 = (::CppSharp::CppParser::AST::TypedefDecl*)s->NativePtr; - ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->addTypedefs(__arg0); -} - -void CppSharp::Parser::AST::DeclarationContext::ClearTypedefs() -{ - ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->clearTypedefs(); -} - -CppSharp::Parser::AST::TypeAlias^ CppSharp::Parser::AST::DeclarationContext::GetTypeAliases(unsigned int i) -{ - auto __ret = ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->getTypeAliases(i); - if (__ret == nullptr) return nullptr; - return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::TypeAlias((::CppSharp::CppParser::AST::TypeAlias*)__ret); -} - -void CppSharp::Parser::AST::DeclarationContext::AddTypeAliases(CppSharp::Parser::AST::TypeAlias^ s) -{ - if (ReferenceEquals(s, nullptr)) - throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - auto __arg0 = (::CppSharp::CppParser::AST::TypeAlias*)s->NativePtr; - ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->addTypeAliases(__arg0); -} - -void CppSharp::Parser::AST::DeclarationContext::ClearTypeAliases() -{ - ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->clearTypeAliases(); -} - -CppSharp::Parser::AST::Variable^ CppSharp::Parser::AST::DeclarationContext::GetVariables(unsigned int i) -{ - auto __ret = ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->getVariables(i); - if (__ret == nullptr) return nullptr; - return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Variable((::CppSharp::CppParser::AST::Variable*)__ret); -} - -void CppSharp::Parser::AST::DeclarationContext::AddVariables(CppSharp::Parser::AST::Variable^ s) -{ - if (ReferenceEquals(s, nullptr)) - throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - auto __arg0 = (::CppSharp::CppParser::AST::Variable*)s->NativePtr; - ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->addVariables(__arg0); -} - -void CppSharp::Parser::AST::DeclarationContext::ClearVariables() -{ - ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->clearVariables(); -} - -CppSharp::Parser::AST::Friend^ CppSharp::Parser::AST::DeclarationContext::GetFriends(unsigned int i) -{ - auto __ret = ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->getFriends(i); - if (__ret == nullptr) return nullptr; - return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Friend((::CppSharp::CppParser::AST::Friend*)__ret); -} - -void CppSharp::Parser::AST::DeclarationContext::AddFriends(CppSharp::Parser::AST::Friend^ s) -{ - if (ReferenceEquals(s, nullptr)) - throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - auto __arg0 = (::CppSharp::CppParser::AST::Friend*)s->NativePtr; - ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->addFriends(__arg0); -} - -void CppSharp::Parser::AST::DeclarationContext::ClearFriends() -{ - ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->clearFriends(); -} - -CppSharp::Parser::AST::DeclarationContext::DeclarationContext(CppSharp::Parser::AST::DeclarationContext^ _0) - : CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)nullptr) -{ - __ownsNativeInstance = true; - if (ReferenceEquals(_0, nullptr)) - throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::DeclarationContext*)_0->NativePtr; - NativePtr = new ::CppSharp::CppParser::AST::DeclarationContext(__arg0); -} - -CppSharp::Parser::AST::DeclarationContext::operator CppSharp::Parser::AST::DeclarationContext^(CppSharp::Parser::AST::DeclarationKind kind) -{ - auto __arg0 = (::CppSharp::CppParser::AST::DeclarationKind)kind; - auto __ret = (::CppSharp::CppParser::AST::DeclarationContext) __arg0; - auto ____ret = new ::CppSharp::CppParser::AST::DeclarationContext(__ret); - return (____ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::DeclarationContext((::CppSharp::CppParser::AST::DeclarationContext*)____ret); -} - -System::Collections::Generic::List^ CppSharp::Parser::AST::DeclarationContext::Namespaces::get() -{ - auto _tmp__Namespaces_ = gcnew System::Collections::Generic::List(); - for(auto _element : ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->Namespaces) - { - auto _marshalElement = (_element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Namespace((::CppSharp::CppParser::AST::Namespace*)_element); - _tmp__Namespaces_->Add(_marshalElement); - } - return _tmp__Namespaces_; -} - -void CppSharp::Parser::AST::DeclarationContext::Namespaces::set(System::Collections::Generic::List^ value) -{ - auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::Namespace*>(); - for each(CppSharp::Parser::AST::Namespace^ _element in value) - { - auto _marshalElement = (::CppSharp::CppParser::AST::Namespace*)_element->NativePtr; - _tmpvalue.push_back(_marshalElement); - } - ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->Namespaces = _tmpvalue; -} - -System::Collections::Generic::List^ CppSharp::Parser::AST::DeclarationContext::Enums::get() -{ - auto _tmp__Enums_ = gcnew System::Collections::Generic::List(); - for(auto _element : ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->Enums) - { - auto _marshalElement = (_element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Enumeration((::CppSharp::CppParser::AST::Enumeration*)_element); - _tmp__Enums_->Add(_marshalElement); - } - return _tmp__Enums_; -} - -void CppSharp::Parser::AST::DeclarationContext::Enums::set(System::Collections::Generic::List^ value) -{ - auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::Enumeration*>(); - for each(CppSharp::Parser::AST::Enumeration^ _element in value) - { - auto _marshalElement = (::CppSharp::CppParser::AST::Enumeration*)_element->NativePtr; - _tmpvalue.push_back(_marshalElement); - } - ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->Enums = _tmpvalue; -} - -System::Collections::Generic::List^ CppSharp::Parser::AST::DeclarationContext::Functions::get() -{ - auto _tmp__Functions_ = gcnew System::Collections::Generic::List(); - for(auto _element : ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->Functions) - { - auto _marshalElement = (_element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Function((::CppSharp::CppParser::AST::Function*)_element); - _tmp__Functions_->Add(_marshalElement); - } - return _tmp__Functions_; -} - -void CppSharp::Parser::AST::DeclarationContext::Functions::set(System::Collections::Generic::List^ value) -{ - auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::Function*>(); - for each(CppSharp::Parser::AST::Function^ _element in value) - { - auto _marshalElement = (::CppSharp::CppParser::AST::Function*)_element->NativePtr; - _tmpvalue.push_back(_marshalElement); - } - ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->Functions = _tmpvalue; -} - -System::Collections::Generic::List^ CppSharp::Parser::AST::DeclarationContext::Classes::get() -{ - auto _tmp__Classes_ = gcnew System::Collections::Generic::List(); - for(auto _element : ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->Classes) - { - auto _marshalElement = (_element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Class((::CppSharp::CppParser::AST::Class*)_element); - _tmp__Classes_->Add(_marshalElement); - } - return _tmp__Classes_; -} - -void CppSharp::Parser::AST::DeclarationContext::Classes::set(System::Collections::Generic::List^ value) -{ - auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::Class*>(); - for each(CppSharp::Parser::AST::Class^ _element in value) - { - auto _marshalElement = (::CppSharp::CppParser::AST::Class*)_element->NativePtr; - _tmpvalue.push_back(_marshalElement); - } - ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->Classes = _tmpvalue; -} - -System::Collections::Generic::List^ CppSharp::Parser::AST::DeclarationContext::Templates::get() -{ - auto _tmp__Templates = gcnew System::Collections::Generic::List(); - for(auto _element : ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->Templates) - { - auto _marshalElement = (_element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Template((::CppSharp::CppParser::AST::Template*)_element); - _tmp__Templates->Add(_marshalElement); - } - return _tmp__Templates; -} - -void CppSharp::Parser::AST::DeclarationContext::Templates::set(System::Collections::Generic::List^ value) -{ - auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::Template*>(); - for each(CppSharp::Parser::AST::Template^ _element in value) - { - auto _marshalElement = (::CppSharp::CppParser::AST::Template*)_element->NativePtr; - _tmpvalue.push_back(_marshalElement); - } - ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->Templates = _tmpvalue; -} - -System::Collections::Generic::List^ CppSharp::Parser::AST::DeclarationContext::Typedefs::get() -{ - auto _tmp__Typedefs = gcnew System::Collections::Generic::List(); - for(auto _element : ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->Typedefs) - { - auto _marshalElement = (_element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::TypedefDecl((::CppSharp::CppParser::AST::TypedefDecl*)_element); - _tmp__Typedefs->Add(_marshalElement); - } - return _tmp__Typedefs; -} - -void CppSharp::Parser::AST::DeclarationContext::Typedefs::set(System::Collections::Generic::List^ value) -{ - auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::TypedefDecl*>(); - for each(CppSharp::Parser::AST::TypedefDecl^ _element in value) - { - auto _marshalElement = (::CppSharp::CppParser::AST::TypedefDecl*)_element->NativePtr; - _tmpvalue.push_back(_marshalElement); - } - ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->Typedefs = _tmpvalue; -} - -System::Collections::Generic::List^ CppSharp::Parser::AST::DeclarationContext::TypeAliases::get() -{ - auto _tmp__TypeAliases = gcnew System::Collections::Generic::List(); - for(auto _element : ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->TypeAliases) - { - auto _marshalElement = (_element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::TypeAlias((::CppSharp::CppParser::AST::TypeAlias*)_element); - _tmp__TypeAliases->Add(_marshalElement); - } - return _tmp__TypeAliases; -} - -void CppSharp::Parser::AST::DeclarationContext::TypeAliases::set(System::Collections::Generic::List^ value) -{ - auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::TypeAlias*>(); - for each(CppSharp::Parser::AST::TypeAlias^ _element in value) - { - auto _marshalElement = (::CppSharp::CppParser::AST::TypeAlias*)_element->NativePtr; - _tmpvalue.push_back(_marshalElement); - } - ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->TypeAliases = _tmpvalue; -} - -System::Collections::Generic::List^ CppSharp::Parser::AST::DeclarationContext::Variables::get() -{ - auto _tmp__Variables = gcnew System::Collections::Generic::List(); - for(auto _element : ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->Variables) - { - auto _marshalElement = (_element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Variable((::CppSharp::CppParser::AST::Variable*)_element); - _tmp__Variables->Add(_marshalElement); - } - return _tmp__Variables; -} - -void CppSharp::Parser::AST::DeclarationContext::Variables::set(System::Collections::Generic::List^ value) -{ - auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::Variable*>(); - for each(CppSharp::Parser::AST::Variable^ _element in value) - { - auto _marshalElement = (::CppSharp::CppParser::AST::Variable*)_element->NativePtr; - _tmpvalue.push_back(_marshalElement); - } - ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->Variables = _tmpvalue; -} - -System::Collections::Generic::List^ CppSharp::Parser::AST::DeclarationContext::Friends::get() -{ - auto _tmp__Friends = gcnew System::Collections::Generic::List(); - for(auto _element : ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->Friends) - { - auto _marshalElement = (_element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Friend((::CppSharp::CppParser::AST::Friend*)_element); - _tmp__Friends->Add(_marshalElement); - } - return _tmp__Friends; -} - -void CppSharp::Parser::AST::DeclarationContext::Friends::set(System::Collections::Generic::List^ value) -{ - auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::Friend*>(); - for each(CppSharp::Parser::AST::Friend^ _element in value) - { - auto _marshalElement = (::CppSharp::CppParser::AST::Friend*)_element->NativePtr; - _tmpvalue.push_back(_marshalElement); - } - ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->Friends = _tmpvalue; -} - -bool CppSharp::Parser::AST::DeclarationContext::IsAnonymous::get() -{ - return ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->isAnonymous; -} - -void CppSharp::Parser::AST::DeclarationContext::IsAnonymous::set(bool value) -{ - ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->isAnonymous = value; -} - -unsigned int CppSharp::Parser::AST::DeclarationContext::NamespacesCount::get() -{ - auto __ret = ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->getNamespacesCount(); - return __ret; -} - -unsigned int CppSharp::Parser::AST::DeclarationContext::EnumsCount::get() -{ - auto __ret = ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->getEnumsCount(); - return __ret; -} - -unsigned int CppSharp::Parser::AST::DeclarationContext::FunctionsCount::get() -{ - auto __ret = ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->getFunctionsCount(); - return __ret; -} - -unsigned int CppSharp::Parser::AST::DeclarationContext::ClassesCount::get() -{ - auto __ret = ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->getClassesCount(); - return __ret; -} - -unsigned int CppSharp::Parser::AST::DeclarationContext::TemplatesCount::get() -{ - auto __ret = ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->getTemplatesCount(); - return __ret; -} - -unsigned int CppSharp::Parser::AST::DeclarationContext::TypedefsCount::get() -{ - auto __ret = ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->getTypedefsCount(); - return __ret; -} - -unsigned int CppSharp::Parser::AST::DeclarationContext::TypeAliasesCount::get() -{ - auto __ret = ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->getTypeAliasesCount(); - return __ret; -} - -unsigned int CppSharp::Parser::AST::DeclarationContext::VariablesCount::get() -{ - auto __ret = ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->getVariablesCount(); - return __ret; -} - -unsigned int CppSharp::Parser::AST::DeclarationContext::FriendsCount::get() -{ - auto __ret = ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->getFriendsCount(); - return __ret; -} - -CppSharp::Parser::AST::TypedefNameDecl::TypedefNameDecl(::CppSharp::CppParser::AST::TypedefNameDecl* native) - : CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)native) -{ -} - -CppSharp::Parser::AST::TypedefNameDecl^ CppSharp::Parser::AST::TypedefNameDecl::__CreateInstance(::System::IntPtr native) -{ - return gcnew ::CppSharp::Parser::AST::TypedefNameDecl((::CppSharp::CppParser::AST::TypedefNameDecl*) native.ToPointer()); -} - -CppSharp::Parser::AST::TypedefNameDecl::~TypedefNameDecl() -{ - if (NativePtr) - { - auto __nativePtr = NativePtr; - NativePtr = 0; - delete (::CppSharp::CppParser::AST::TypedefNameDecl*) __nativePtr; - } -} - -CppSharp::Parser::AST::TypedefNameDecl::TypedefNameDecl(CppSharp::Parser::AST::DeclarationKind kind) - : CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)nullptr) -{ - __ownsNativeInstance = true; - auto __arg0 = (::CppSharp::CppParser::AST::DeclarationKind)kind; - NativePtr = new ::CppSharp::CppParser::AST::TypedefNameDecl(__arg0); -} - -CppSharp::Parser::AST::TypedefNameDecl::TypedefNameDecl(CppSharp::Parser::AST::TypedefNameDecl^ _0) - : CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)nullptr) -{ - __ownsNativeInstance = true; - if (ReferenceEquals(_0, nullptr)) - throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::TypedefNameDecl*)_0->NativePtr; - NativePtr = new ::CppSharp::CppParser::AST::TypedefNameDecl(__arg0); -} - -CppSharp::Parser::AST::TypedefNameDecl::operator CppSharp::Parser::AST::TypedefNameDecl^(CppSharp::Parser::AST::DeclarationKind kind) -{ - auto __arg0 = (::CppSharp::CppParser::AST::DeclarationKind)kind; - auto __ret = (::CppSharp::CppParser::AST::TypedefNameDecl) __arg0; - auto ____ret = new ::CppSharp::CppParser::AST::TypedefNameDecl(__ret); - return (____ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::TypedefNameDecl((::CppSharp::CppParser::AST::TypedefNameDecl*)____ret); -} - -CppSharp::Parser::AST::QualifiedType^ CppSharp::Parser::AST::TypedefNameDecl::QualifiedType::get() -{ - return (&((::CppSharp::CppParser::AST::TypedefNameDecl*)NativePtr)->qualifiedType == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::QualifiedType((::CppSharp::CppParser::AST::QualifiedType*)&((::CppSharp::CppParser::AST::TypedefNameDecl*)NativePtr)->qualifiedType); -} - -void CppSharp::Parser::AST::TypedefNameDecl::QualifiedType::set(CppSharp::Parser::AST::QualifiedType^ value) -{ - ((::CppSharp::CppParser::AST::TypedefNameDecl*)NativePtr)->qualifiedType = *(::CppSharp::CppParser::AST::QualifiedType*)value->NativePtr; -} - -CppSharp::Parser::AST::TypedefDecl::TypedefDecl(::CppSharp::CppParser::AST::TypedefDecl* native) - : CppSharp::Parser::AST::TypedefNameDecl((::CppSharp::CppParser::AST::TypedefNameDecl*)native) -{ -} - -CppSharp::Parser::AST::TypedefDecl^ CppSharp::Parser::AST::TypedefDecl::__CreateInstance(::System::IntPtr native) -{ - return gcnew ::CppSharp::Parser::AST::TypedefDecl((::CppSharp::CppParser::AST::TypedefDecl*) native.ToPointer()); -} - -CppSharp::Parser::AST::TypedefDecl::~TypedefDecl() -{ - if (NativePtr) - { - auto __nativePtr = NativePtr; - NativePtr = 0; - delete (::CppSharp::CppParser::AST::TypedefDecl*) __nativePtr; - } -} - -CppSharp::Parser::AST::TypedefDecl::TypedefDecl() - : CppSharp::Parser::AST::TypedefNameDecl((::CppSharp::CppParser::AST::TypedefNameDecl*)nullptr) -{ - __ownsNativeInstance = true; - NativePtr = new ::CppSharp::CppParser::AST::TypedefDecl(); -} - -CppSharp::Parser::AST::TypedefDecl::TypedefDecl(CppSharp::Parser::AST::TypedefDecl^ _0) - : CppSharp::Parser::AST::TypedefNameDecl((::CppSharp::CppParser::AST::TypedefNameDecl*)nullptr) -{ - __ownsNativeInstance = true; - if (ReferenceEquals(_0, nullptr)) - throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::TypedefDecl*)_0->NativePtr; - NativePtr = new ::CppSharp::CppParser::AST::TypedefDecl(__arg0); -} - -CppSharp::Parser::AST::TypeAlias::TypeAlias(::CppSharp::CppParser::AST::TypeAlias* native) - : CppSharp::Parser::AST::TypedefNameDecl((::CppSharp::CppParser::AST::TypedefNameDecl*)native) -{ -} - -CppSharp::Parser::AST::TypeAlias^ CppSharp::Parser::AST::TypeAlias::__CreateInstance(::System::IntPtr native) -{ - return gcnew ::CppSharp::Parser::AST::TypeAlias((::CppSharp::CppParser::AST::TypeAlias*) native.ToPointer()); -} - -CppSharp::Parser::AST::TypeAlias::~TypeAlias() -{ - if (NativePtr) - { - auto __nativePtr = NativePtr; - NativePtr = 0; - delete (::CppSharp::CppParser::AST::TypeAlias*) __nativePtr; - } -} - -CppSharp::Parser::AST::TypeAlias::TypeAlias() - : CppSharp::Parser::AST::TypedefNameDecl((::CppSharp::CppParser::AST::TypedefNameDecl*)nullptr) -{ - __ownsNativeInstance = true; - NativePtr = new ::CppSharp::CppParser::AST::TypeAlias(); -} - -CppSharp::Parser::AST::TypeAlias::TypeAlias(CppSharp::Parser::AST::TypeAlias^ _0) - : CppSharp::Parser::AST::TypedefNameDecl((::CppSharp::CppParser::AST::TypedefNameDecl*)nullptr) -{ - __ownsNativeInstance = true; - if (ReferenceEquals(_0, nullptr)) - throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::TypeAlias*)_0->NativePtr; - NativePtr = new ::CppSharp::CppParser::AST::TypeAlias(__arg0); -} - -CppSharp::Parser::AST::TypeAliasTemplate^ CppSharp::Parser::AST::TypeAlias::DescribedAliasTemplate::get() -{ - return (((::CppSharp::CppParser::AST::TypeAlias*)NativePtr)->describedAliasTemplate == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::TypeAliasTemplate((::CppSharp::CppParser::AST::TypeAliasTemplate*)((::CppSharp::CppParser::AST::TypeAlias*)NativePtr)->describedAliasTemplate); -} - -void CppSharp::Parser::AST::TypeAlias::DescribedAliasTemplate::set(CppSharp::Parser::AST::TypeAliasTemplate^ value) -{ - ((::CppSharp::CppParser::AST::TypeAlias*)NativePtr)->describedAliasTemplate = (::CppSharp::CppParser::AST::TypeAliasTemplate*)value->NativePtr; -} - -CppSharp::Parser::AST::Friend::Friend(::CppSharp::CppParser::AST::Friend* native) - : CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)native) -{ -} - -CppSharp::Parser::AST::Friend^ CppSharp::Parser::AST::Friend::__CreateInstance(::System::IntPtr native) -{ - return gcnew ::CppSharp::Parser::AST::Friend((::CppSharp::CppParser::AST::Friend*) native.ToPointer()); -} - -CppSharp::Parser::AST::Friend::~Friend() -{ - if (NativePtr) - { - auto __nativePtr = NativePtr; - NativePtr = 0; - delete (::CppSharp::CppParser::AST::Friend*) __nativePtr; - } -} - -CppSharp::Parser::AST::Friend::Friend() - : CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)nullptr) -{ - __ownsNativeInstance = true; - NativePtr = new ::CppSharp::CppParser::AST::Friend(); -} - -CppSharp::Parser::AST::Friend::Friend(CppSharp::Parser::AST::Friend^ _0) - : CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)nullptr) -{ - __ownsNativeInstance = true; - if (ReferenceEquals(_0, nullptr)) - throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::Friend*)_0->NativePtr; - NativePtr = new ::CppSharp::CppParser::AST::Friend(__arg0); -} - -CppSharp::Parser::AST::Declaration^ CppSharp::Parser::AST::Friend::Declaration::get() -{ - return (((::CppSharp::CppParser::AST::Friend*)NativePtr)->declaration == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)((::CppSharp::CppParser::AST::Friend*)NativePtr)->declaration); -} - -void CppSharp::Parser::AST::Friend::Declaration::set(CppSharp::Parser::AST::Declaration^ value) -{ - ((::CppSharp::CppParser::AST::Friend*)NativePtr)->declaration = (::CppSharp::CppParser::AST::Declaration*)value->NativePtr; -} - -CppSharp::Parser::AST::Statement::Statement(::CppSharp::CppParser::AST::Statement* native) - : __ownsNativeInstance(false) -{ - NativePtr = native; -} - -CppSharp::Parser::AST::Statement^ CppSharp::Parser::AST::Statement::__CreateInstance(::System::IntPtr native) -{ - return gcnew ::CppSharp::Parser::AST::Statement((::CppSharp::CppParser::AST::Statement*) native.ToPointer()); -} - -CppSharp::Parser::AST::Statement::~Statement() -{ - delete NativePtr; -} - -CppSharp::Parser::AST::Statement::Statement(System::String^ str, CppSharp::Parser::AST::StatementClass Class, CppSharp::Parser::AST::Declaration^ decl) -{ - __ownsNativeInstance = true; - auto __arg0 = clix::marshalString(str); - auto __arg1 = (::CppSharp::CppParser::AST::StatementClass)Class; - auto __arg2 = (::CppSharp::CppParser::AST::Declaration*)decl->NativePtr; - NativePtr = new ::CppSharp::CppParser::AST::Statement(__arg0, __arg1, __arg2); -} - -CppSharp::Parser::AST::Statement::Statement(CppSharp::Parser::AST::Statement^ _0) -{ - __ownsNativeInstance = true; - if (ReferenceEquals(_0, nullptr)) - throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::Statement*)_0->NativePtr; - NativePtr = new ::CppSharp::CppParser::AST::Statement(__arg0); -} - -System::IntPtr CppSharp::Parser::AST::Statement::__Instance::get() -{ - return System::IntPtr(NativePtr); -} - -void CppSharp::Parser::AST::Statement::__Instance::set(System::IntPtr object) -{ - NativePtr = (::CppSharp::CppParser::AST::Statement*)object.ToPointer(); -} - -CppSharp::Parser::AST::StatementClass CppSharp::Parser::AST::Statement::Class::get() -{ - return (CppSharp::Parser::AST::StatementClass)((::CppSharp::CppParser::AST::Statement*)NativePtr)->_class; -} - -void CppSharp::Parser::AST::Statement::Class::set(CppSharp::Parser::AST::StatementClass value) -{ - ((::CppSharp::CppParser::AST::Statement*)NativePtr)->_class = (::CppSharp::CppParser::AST::StatementClass)value; -} - -CppSharp::Parser::AST::Declaration^ CppSharp::Parser::AST::Statement::Decl::get() -{ - return (((::CppSharp::CppParser::AST::Statement*)NativePtr)->decl == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)((::CppSharp::CppParser::AST::Statement*)NativePtr)->decl); -} - -void CppSharp::Parser::AST::Statement::Decl::set(CppSharp::Parser::AST::Declaration^ value) -{ - ((::CppSharp::CppParser::AST::Statement*)NativePtr)->decl = (::CppSharp::CppParser::AST::Declaration*)value->NativePtr; -} - -System::String^ CppSharp::Parser::AST::Statement::String::get() -{ - return clix::marshalString(((::CppSharp::CppParser::AST::Statement*)NativePtr)->string); -} - -void CppSharp::Parser::AST::Statement::String::set(System::String^ value) -{ - ((::CppSharp::CppParser::AST::Statement*)NativePtr)->string = clix::marshalString(value); -} - -CppSharp::Parser::AST::Expression::Expression(::CppSharp::CppParser::AST::Expression* native) - : CppSharp::Parser::AST::Statement((::CppSharp::CppParser::AST::Statement*)native) -{ -} - -CppSharp::Parser::AST::Expression^ CppSharp::Parser::AST::Expression::__CreateInstance(::System::IntPtr native) -{ - return gcnew ::CppSharp::Parser::AST::Expression((::CppSharp::CppParser::AST::Expression*) native.ToPointer()); -} - -CppSharp::Parser::AST::Expression::~Expression() -{ - if (NativePtr) - { - auto __nativePtr = NativePtr; - NativePtr = 0; - delete (::CppSharp::CppParser::AST::Expression*) __nativePtr; - } -} - -CppSharp::Parser::AST::Expression::Expression(System::String^ str, CppSharp::Parser::AST::StatementClass Class, CppSharp::Parser::AST::Declaration^ decl) - : CppSharp::Parser::AST::Statement((::CppSharp::CppParser::AST::Statement*)nullptr) -{ - __ownsNativeInstance = true; - auto __arg0 = clix::marshalString(str); - auto __arg1 = (::CppSharp::CppParser::AST::StatementClass)Class; - auto __arg2 = (::CppSharp::CppParser::AST::Declaration*)decl->NativePtr; - NativePtr = new ::CppSharp::CppParser::AST::Expression(__arg0, __arg1, __arg2); -} - -CppSharp::Parser::AST::Expression::Expression(CppSharp::Parser::AST::Expression^ _0) - : CppSharp::Parser::AST::Statement((::CppSharp::CppParser::AST::Statement*)nullptr) -{ - __ownsNativeInstance = true; - if (ReferenceEquals(_0, nullptr)) - throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::Expression*)_0->NativePtr; - NativePtr = new ::CppSharp::CppParser::AST::Expression(__arg0); -} - -CppSharp::Parser::AST::BinaryOperator::BinaryOperator(::CppSharp::CppParser::AST::BinaryOperator* native) - : CppSharp::Parser::AST::Expression((::CppSharp::CppParser::AST::Expression*)native) -{ -} - -CppSharp::Parser::AST::BinaryOperator^ CppSharp::Parser::AST::BinaryOperator::__CreateInstance(::System::IntPtr native) -{ - return gcnew ::CppSharp::Parser::AST::BinaryOperator((::CppSharp::CppParser::AST::BinaryOperator*) native.ToPointer()); -} - -CppSharp::Parser::AST::BinaryOperator::~BinaryOperator() -{ - if (NativePtr) - { - auto __nativePtr = NativePtr; - NativePtr = 0; - delete (::CppSharp::CppParser::AST::BinaryOperator*) __nativePtr; - } -} - -CppSharp::Parser::AST::BinaryOperator::BinaryOperator(System::String^ str, CppSharp::Parser::AST::Expression^ lhs, CppSharp::Parser::AST::Expression^ rhs, System::String^ opcodeStr) - : CppSharp::Parser::AST::Expression((::CppSharp::CppParser::AST::Expression*)nullptr) -{ - __ownsNativeInstance = true; - auto __arg0 = clix::marshalString(str); - auto __arg1 = (::CppSharp::CppParser::AST::Expression*)lhs->NativePtr; - auto __arg2 = (::CppSharp::CppParser::AST::Expression*)rhs->NativePtr; - auto __arg3 = clix::marshalString(opcodeStr); - NativePtr = new ::CppSharp::CppParser::AST::BinaryOperator(__arg0, __arg1, __arg2, __arg3); -} - -CppSharp::Parser::AST::BinaryOperator::BinaryOperator(CppSharp::Parser::AST::BinaryOperator^ _0) - : CppSharp::Parser::AST::Expression((::CppSharp::CppParser::AST::Expression*)nullptr) -{ - __ownsNativeInstance = true; - if (ReferenceEquals(_0, nullptr)) - throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::BinaryOperator*)_0->NativePtr; - NativePtr = new ::CppSharp::CppParser::AST::BinaryOperator(__arg0); -} - -CppSharp::Parser::AST::Expression^ CppSharp::Parser::AST::BinaryOperator::LHS::get() -{ - return (((::CppSharp::CppParser::AST::BinaryOperator*)NativePtr)->LHS == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expression((::CppSharp::CppParser::AST::Expression*)((::CppSharp::CppParser::AST::BinaryOperator*)NativePtr)->LHS); -} - -void CppSharp::Parser::AST::BinaryOperator::LHS::set(CppSharp::Parser::AST::Expression^ value) -{ - ((::CppSharp::CppParser::AST::BinaryOperator*)NativePtr)->LHS = (::CppSharp::CppParser::AST::Expression*)value->NativePtr; -} - -CppSharp::Parser::AST::Expression^ CppSharp::Parser::AST::BinaryOperator::RHS::get() -{ - return (((::CppSharp::CppParser::AST::BinaryOperator*)NativePtr)->RHS == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expression((::CppSharp::CppParser::AST::Expression*)((::CppSharp::CppParser::AST::BinaryOperator*)NativePtr)->RHS); -} - -void CppSharp::Parser::AST::BinaryOperator::RHS::set(CppSharp::Parser::AST::Expression^ value) -{ - ((::CppSharp::CppParser::AST::BinaryOperator*)NativePtr)->RHS = (::CppSharp::CppParser::AST::Expression*)value->NativePtr; -} - -System::String^ CppSharp::Parser::AST::BinaryOperator::OpcodeStr::get() -{ - return clix::marshalString(((::CppSharp::CppParser::AST::BinaryOperator*)NativePtr)->opcodeStr); -} - -void CppSharp::Parser::AST::BinaryOperator::OpcodeStr::set(System::String^ value) -{ - ((::CppSharp::CppParser::AST::BinaryOperator*)NativePtr)->opcodeStr = clix::marshalString(value); -} - -CppSharp::Parser::AST::CallExpr::CallExpr(::CppSharp::CppParser::AST::CallExpr* native) - : CppSharp::Parser::AST::Expression((::CppSharp::CppParser::AST::Expression*)native) -{ -} - -CppSharp::Parser::AST::CallExpr^ CppSharp::Parser::AST::CallExpr::__CreateInstance(::System::IntPtr native) -{ - return gcnew ::CppSharp::Parser::AST::CallExpr((::CppSharp::CppParser::AST::CallExpr*) native.ToPointer()); -} - -CppSharp::Parser::AST::CallExpr::~CallExpr() -{ - if (NativePtr) - { - auto __nativePtr = NativePtr; - NativePtr = 0; - delete (::CppSharp::CppParser::AST::CallExpr*) __nativePtr; - } -} - -CppSharp::Parser::AST::CallExpr::CallExpr(System::String^ str, CppSharp::Parser::AST::Declaration^ decl) - : CppSharp::Parser::AST::Expression((::CppSharp::CppParser::AST::Expression*)nullptr) -{ - __ownsNativeInstance = true; - auto __arg0 = clix::marshalString(str); - auto __arg1 = (::CppSharp::CppParser::AST::Declaration*)decl->NativePtr; - NativePtr = new ::CppSharp::CppParser::AST::CallExpr(__arg0, __arg1); -} - -CppSharp::Parser::AST::Expression^ CppSharp::Parser::AST::CallExpr::GetArguments(unsigned int i) -{ - auto __ret = ((::CppSharp::CppParser::AST::CallExpr*)NativePtr)->getArguments(i); - if (__ret == nullptr) return nullptr; - return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expression((::CppSharp::CppParser::AST::Expression*)__ret); -} - -void CppSharp::Parser::AST::CallExpr::AddArguments(CppSharp::Parser::AST::Expression^ s) -{ - if (ReferenceEquals(s, nullptr)) - throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - auto __arg0 = (::CppSharp::CppParser::AST::Expression*)s->NativePtr; - ((::CppSharp::CppParser::AST::CallExpr*)NativePtr)->addArguments(__arg0); -} - -void CppSharp::Parser::AST::CallExpr::ClearArguments() -{ - ((::CppSharp::CppParser::AST::CallExpr*)NativePtr)->clearArguments(); -} - -CppSharp::Parser::AST::CallExpr::CallExpr(CppSharp::Parser::AST::CallExpr^ _0) - : CppSharp::Parser::AST::Expression((::CppSharp::CppParser::AST::Expression*)nullptr) -{ - __ownsNativeInstance = true; - if (ReferenceEquals(_0, nullptr)) - throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::CallExpr*)_0->NativePtr; - NativePtr = new ::CppSharp::CppParser::AST::CallExpr(__arg0); -} - -System::Collections::Generic::List^ CppSharp::Parser::AST::CallExpr::Arguments::get() -{ - auto _tmp__Arguments = gcnew System::Collections::Generic::List(); - for(auto _element : ((::CppSharp::CppParser::AST::CallExpr*)NativePtr)->Arguments) - { - auto _marshalElement = (_element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expression((::CppSharp::CppParser::AST::Expression*)_element); - _tmp__Arguments->Add(_marshalElement); - } - return _tmp__Arguments; -} - -void CppSharp::Parser::AST::CallExpr::Arguments::set(System::Collections::Generic::List^ value) -{ - auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::Expression*>(); - for each(CppSharp::Parser::AST::Expression^ _element in value) - { - auto _marshalElement = (::CppSharp::CppParser::AST::Expression*)_element->NativePtr; - _tmpvalue.push_back(_marshalElement); - } - ((::CppSharp::CppParser::AST::CallExpr*)NativePtr)->Arguments = _tmpvalue; -} - -unsigned int CppSharp::Parser::AST::CallExpr::ArgumentsCount::get() -{ - auto __ret = ((::CppSharp::CppParser::AST::CallExpr*)NativePtr)->getArgumentsCount(); - return __ret; -} - -CppSharp::Parser::AST::CXXConstructExpr::CXXConstructExpr(::CppSharp::CppParser::AST::CXXConstructExpr* native) - : CppSharp::Parser::AST::Expression((::CppSharp::CppParser::AST::Expression*)native) -{ -} - -CppSharp::Parser::AST::CXXConstructExpr^ CppSharp::Parser::AST::CXXConstructExpr::__CreateInstance(::System::IntPtr native) -{ - return gcnew ::CppSharp::Parser::AST::CXXConstructExpr((::CppSharp::CppParser::AST::CXXConstructExpr*) native.ToPointer()); -} - -CppSharp::Parser::AST::CXXConstructExpr::~CXXConstructExpr() -{ - if (NativePtr) - { - auto __nativePtr = NativePtr; - NativePtr = 0; - delete (::CppSharp::CppParser::AST::CXXConstructExpr*) __nativePtr; - } -} - -CppSharp::Parser::AST::CXXConstructExpr::CXXConstructExpr(System::String^ str, CppSharp::Parser::AST::Declaration^ decl) - : CppSharp::Parser::AST::Expression((::CppSharp::CppParser::AST::Expression*)nullptr) -{ - __ownsNativeInstance = true; - auto __arg0 = clix::marshalString(str); - auto __arg1 = (::CppSharp::CppParser::AST::Declaration*)decl->NativePtr; - NativePtr = new ::CppSharp::CppParser::AST::CXXConstructExpr(__arg0, __arg1); -} - -CppSharp::Parser::AST::Expression^ CppSharp::Parser::AST::CXXConstructExpr::GetArguments(unsigned int i) -{ - auto __ret = ((::CppSharp::CppParser::AST::CXXConstructExpr*)NativePtr)->getArguments(i); - if (__ret == nullptr) return nullptr; - return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expression((::CppSharp::CppParser::AST::Expression*)__ret); -} - -void CppSharp::Parser::AST::CXXConstructExpr::AddArguments(CppSharp::Parser::AST::Expression^ s) -{ - if (ReferenceEquals(s, nullptr)) - throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - auto __arg0 = (::CppSharp::CppParser::AST::Expression*)s->NativePtr; - ((::CppSharp::CppParser::AST::CXXConstructExpr*)NativePtr)->addArguments(__arg0); -} - -void CppSharp::Parser::AST::CXXConstructExpr::ClearArguments() -{ - ((::CppSharp::CppParser::AST::CXXConstructExpr*)NativePtr)->clearArguments(); -} - -CppSharp::Parser::AST::CXXConstructExpr::CXXConstructExpr(CppSharp::Parser::AST::CXXConstructExpr^ _0) - : CppSharp::Parser::AST::Expression((::CppSharp::CppParser::AST::Expression*)nullptr) -{ - __ownsNativeInstance = true; - if (ReferenceEquals(_0, nullptr)) - throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::CXXConstructExpr*)_0->NativePtr; - NativePtr = new ::CppSharp::CppParser::AST::CXXConstructExpr(__arg0); -} - -System::Collections::Generic::List^ CppSharp::Parser::AST::CXXConstructExpr::Arguments::get() -{ - auto _tmp__Arguments = gcnew System::Collections::Generic::List(); - for(auto _element : ((::CppSharp::CppParser::AST::CXXConstructExpr*)NativePtr)->Arguments) - { - auto _marshalElement = (_element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expression((::CppSharp::CppParser::AST::Expression*)_element); - _tmp__Arguments->Add(_marshalElement); - } - return _tmp__Arguments; -} - -void CppSharp::Parser::AST::CXXConstructExpr::Arguments::set(System::Collections::Generic::List^ value) -{ - auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::Expression*>(); - for each(CppSharp::Parser::AST::Expression^ _element in value) - { - auto _marshalElement = (::CppSharp::CppParser::AST::Expression*)_element->NativePtr; - _tmpvalue.push_back(_marshalElement); - } - ((::CppSharp::CppParser::AST::CXXConstructExpr*)NativePtr)->Arguments = _tmpvalue; -} - -unsigned int CppSharp::Parser::AST::CXXConstructExpr::ArgumentsCount::get() -{ - auto __ret = ((::CppSharp::CppParser::AST::CXXConstructExpr*)NativePtr)->getArgumentsCount(); - return __ret; -} - -CppSharp::Parser::AST::Parameter::Parameter(::CppSharp::CppParser::AST::Parameter* native) - : CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)native) -{ -} - -CppSharp::Parser::AST::Parameter^ CppSharp::Parser::AST::Parameter::__CreateInstance(::System::IntPtr native) -{ - return gcnew ::CppSharp::Parser::AST::Parameter((::CppSharp::CppParser::AST::Parameter*) native.ToPointer()); -} - -CppSharp::Parser::AST::Parameter::~Parameter() -{ - if (NativePtr) - { - auto __nativePtr = NativePtr; - NativePtr = 0; - delete (::CppSharp::CppParser::AST::Parameter*) __nativePtr; - } -} - -CppSharp::Parser::AST::Parameter::Parameter() - : CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)nullptr) -{ - __ownsNativeInstance = true; - NativePtr = new ::CppSharp::CppParser::AST::Parameter(); -} - -CppSharp::Parser::AST::Parameter::Parameter(CppSharp::Parser::AST::Parameter^ _0) - : CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)nullptr) -{ - __ownsNativeInstance = true; - if (ReferenceEquals(_0, nullptr)) - throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::Parameter*)_0->NativePtr; - NativePtr = new ::CppSharp::CppParser::AST::Parameter(__arg0); -} - -CppSharp::Parser::AST::QualifiedType^ CppSharp::Parser::AST::Parameter::QualifiedType::get() -{ - return (&((::CppSharp::CppParser::AST::Parameter*)NativePtr)->qualifiedType == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::QualifiedType((::CppSharp::CppParser::AST::QualifiedType*)&((::CppSharp::CppParser::AST::Parameter*)NativePtr)->qualifiedType); -} - -void CppSharp::Parser::AST::Parameter::QualifiedType::set(CppSharp::Parser::AST::QualifiedType^ value) -{ - ((::CppSharp::CppParser::AST::Parameter*)NativePtr)->qualifiedType = *(::CppSharp::CppParser::AST::QualifiedType*)value->NativePtr; -} - -bool CppSharp::Parser::AST::Parameter::IsIndirect::get() -{ - return ((::CppSharp::CppParser::AST::Parameter*)NativePtr)->isIndirect; -} - -void CppSharp::Parser::AST::Parameter::IsIndirect::set(bool value) -{ - ((::CppSharp::CppParser::AST::Parameter*)NativePtr)->isIndirect = value; -} - -bool CppSharp::Parser::AST::Parameter::HasDefaultValue::get() -{ - return ((::CppSharp::CppParser::AST::Parameter*)NativePtr)->hasDefaultValue; -} - -void CppSharp::Parser::AST::Parameter::HasDefaultValue::set(bool value) -{ - ((::CppSharp::CppParser::AST::Parameter*)NativePtr)->hasDefaultValue = value; -} - -unsigned int CppSharp::Parser::AST::Parameter::Index::get() -{ - return ((::CppSharp::CppParser::AST::Parameter*)NativePtr)->index; -} - -void CppSharp::Parser::AST::Parameter::Index::set(unsigned int value) -{ - ((::CppSharp::CppParser::AST::Parameter*)NativePtr)->index = value; -} - -CppSharp::Parser::AST::Expression^ CppSharp::Parser::AST::Parameter::DefaultArgument::get() -{ - return (((::CppSharp::CppParser::AST::Parameter*)NativePtr)->defaultArgument == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expression((::CppSharp::CppParser::AST::Expression*)((::CppSharp::CppParser::AST::Parameter*)NativePtr)->defaultArgument); -} - -void CppSharp::Parser::AST::Parameter::DefaultArgument::set(CppSharp::Parser::AST::Expression^ value) -{ - ((::CppSharp::CppParser::AST::Parameter*)NativePtr)->defaultArgument = (::CppSharp::CppParser::AST::Expression*)value->NativePtr; -} - -CppSharp::Parser::AST::Function::Function(::CppSharp::CppParser::AST::Function* native) - : CppSharp::Parser::AST::DeclarationContext((::CppSharp::CppParser::AST::DeclarationContext*)native) -{ -} - -CppSharp::Parser::AST::Function^ CppSharp::Parser::AST::Function::__CreateInstance(::System::IntPtr native) -{ - return gcnew ::CppSharp::Parser::AST::Function((::CppSharp::CppParser::AST::Function*) native.ToPointer()); -} - -CppSharp::Parser::AST::Function::~Function() -{ - if (NativePtr) - { - auto __nativePtr = NativePtr; - NativePtr = 0; - delete (::CppSharp::CppParser::AST::Function*) __nativePtr; - } -} - -CppSharp::Parser::AST::Function::Function() - : CppSharp::Parser::AST::DeclarationContext((::CppSharp::CppParser::AST::DeclarationContext*)nullptr) -{ - __ownsNativeInstance = true; - NativePtr = new ::CppSharp::CppParser::AST::Function(); -} - -CppSharp::Parser::AST::Parameter^ CppSharp::Parser::AST::Function::GetParameters(unsigned int i) -{ - auto __ret = ((::CppSharp::CppParser::AST::Function*)NativePtr)->getParameters(i); - if (__ret == nullptr) return nullptr; - return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Parameter((::CppSharp::CppParser::AST::Parameter*)__ret); -} - -void CppSharp::Parser::AST::Function::AddParameters(CppSharp::Parser::AST::Parameter^ s) -{ - if (ReferenceEquals(s, nullptr)) - throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - auto __arg0 = (::CppSharp::CppParser::AST::Parameter*)s->NativePtr; - ((::CppSharp::CppParser::AST::Function*)NativePtr)->addParameters(__arg0); -} - -void CppSharp::Parser::AST::Function::ClearParameters() -{ - ((::CppSharp::CppParser::AST::Function*)NativePtr)->clearParameters(); -} - -CppSharp::Parser::AST::Function::Function(CppSharp::Parser::AST::Function^ _0) - : CppSharp::Parser::AST::DeclarationContext((::CppSharp::CppParser::AST::DeclarationContext*)nullptr) -{ - __ownsNativeInstance = true; - if (ReferenceEquals(_0, nullptr)) - throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::Function*)_0->NativePtr; - NativePtr = new ::CppSharp::CppParser::AST::Function(__arg0); -} - -CppSharp::Parser::AST::QualifiedType^ CppSharp::Parser::AST::Function::ReturnType::get() -{ - return (&((::CppSharp::CppParser::AST::Function*)NativePtr)->returnType == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::QualifiedType((::CppSharp::CppParser::AST::QualifiedType*)&((::CppSharp::CppParser::AST::Function*)NativePtr)->returnType); -} - -void CppSharp::Parser::AST::Function::ReturnType::set(CppSharp::Parser::AST::QualifiedType^ value) -{ - ((::CppSharp::CppParser::AST::Function*)NativePtr)->returnType = *(::CppSharp::CppParser::AST::QualifiedType*)value->NativePtr; -} - -bool CppSharp::Parser::AST::Function::IsReturnIndirect::get() -{ - return ((::CppSharp::CppParser::AST::Function*)NativePtr)->isReturnIndirect; -} - -void CppSharp::Parser::AST::Function::IsReturnIndirect::set(bool value) -{ - ((::CppSharp::CppParser::AST::Function*)NativePtr)->isReturnIndirect = value; -} - -bool CppSharp::Parser::AST::Function::HasThisReturn::get() -{ - return ((::CppSharp::CppParser::AST::Function*)NativePtr)->hasThisReturn; -} - -void CppSharp::Parser::AST::Function::HasThisReturn::set(bool value) -{ - ((::CppSharp::CppParser::AST::Function*)NativePtr)->hasThisReturn = value; -} - -bool CppSharp::Parser::AST::Function::IsConstExpr::get() -{ - return ((::CppSharp::CppParser::AST::Function*)NativePtr)->isConstExpr; -} - -void CppSharp::Parser::AST::Function::IsConstExpr::set(bool value) -{ - ((::CppSharp::CppParser::AST::Function*)NativePtr)->isConstExpr = value; -} - -bool CppSharp::Parser::AST::Function::IsVariadic::get() -{ - return ((::CppSharp::CppParser::AST::Function*)NativePtr)->isVariadic; -} - -void CppSharp::Parser::AST::Function::IsVariadic::set(bool value) -{ - ((::CppSharp::CppParser::AST::Function*)NativePtr)->isVariadic = value; -} - -bool CppSharp::Parser::AST::Function::IsInline::get() -{ - return ((::CppSharp::CppParser::AST::Function*)NativePtr)->isInline; -} - -void CppSharp::Parser::AST::Function::IsInline::set(bool value) -{ - ((::CppSharp::CppParser::AST::Function*)NativePtr)->isInline = value; -} - -bool CppSharp::Parser::AST::Function::IsPure::get() -{ - return ((::CppSharp::CppParser::AST::Function*)NativePtr)->isPure; -} - -void CppSharp::Parser::AST::Function::IsPure::set(bool value) -{ - ((::CppSharp::CppParser::AST::Function*)NativePtr)->isPure = value; -} - -bool CppSharp::Parser::AST::Function::IsDeleted::get() -{ - return ((::CppSharp::CppParser::AST::Function*)NativePtr)->isDeleted; -} - -void CppSharp::Parser::AST::Function::IsDeleted::set(bool value) -{ - ((::CppSharp::CppParser::AST::Function*)NativePtr)->isDeleted = value; -} - -bool CppSharp::Parser::AST::Function::IsDefaulted::get() -{ - return ((::CppSharp::CppParser::AST::Function*)NativePtr)->isDefaulted; -} - -void CppSharp::Parser::AST::Function::IsDefaulted::set(bool value) -{ - ((::CppSharp::CppParser::AST::Function*)NativePtr)->isDefaulted = value; -} - -CppSharp::Parser::AST::FriendKind CppSharp::Parser::AST::Function::FriendKind::get() -{ - return (CppSharp::Parser::AST::FriendKind)((::CppSharp::CppParser::AST::Function*)NativePtr)->friendKind; -} - -void CppSharp::Parser::AST::Function::FriendKind::set(CppSharp::Parser::AST::FriendKind value) -{ - ((::CppSharp::CppParser::AST::Function*)NativePtr)->friendKind = (::CppSharp::CppParser::AST::FriendKind)value; -} - -CppSharp::Parser::AST::CXXOperatorKind CppSharp::Parser::AST::Function::OperatorKind::get() -{ - return (CppSharp::Parser::AST::CXXOperatorKind)((::CppSharp::CppParser::AST::Function*)NativePtr)->operatorKind; -} - -void CppSharp::Parser::AST::Function::OperatorKind::set(CppSharp::Parser::AST::CXXOperatorKind value) -{ - ((::CppSharp::CppParser::AST::Function*)NativePtr)->operatorKind = (::CppSharp::CppParser::AST::CXXOperatorKind)value; -} - -System::String^ CppSharp::Parser::AST::Function::Mangled::get() -{ - return clix::marshalString(((::CppSharp::CppParser::AST::Function*)NativePtr)->mangled); -} - -void CppSharp::Parser::AST::Function::Mangled::set(System::String^ value) -{ - ((::CppSharp::CppParser::AST::Function*)NativePtr)->mangled = clix::marshalString(value); -} - -System::String^ CppSharp::Parser::AST::Function::Signature::get() -{ - return clix::marshalString(((::CppSharp::CppParser::AST::Function*)NativePtr)->signature); -} - -void CppSharp::Parser::AST::Function::Signature::set(System::String^ value) -{ - ((::CppSharp::CppParser::AST::Function*)NativePtr)->signature = clix::marshalString(value); -} - -System::String^ CppSharp::Parser::AST::Function::Body::get() -{ - return clix::marshalString(((::CppSharp::CppParser::AST::Function*)NativePtr)->body); -} - -void CppSharp::Parser::AST::Function::Body::set(System::String^ value) -{ - ((::CppSharp::CppParser::AST::Function*)NativePtr)->body = clix::marshalString(value); -} - -CppSharp::Parser::AST::CallingConvention CppSharp::Parser::AST::Function::CallingConvention::get() -{ - return (CppSharp::Parser::AST::CallingConvention)((::CppSharp::CppParser::AST::Function*)NativePtr)->callingConvention; -} - -void CppSharp::Parser::AST::Function::CallingConvention::set(CppSharp::Parser::AST::CallingConvention value) -{ - ((::CppSharp::CppParser::AST::Function*)NativePtr)->callingConvention = (::CppSharp::CppParser::AST::CallingConvention)value; -} - -System::Collections::Generic::List^ CppSharp::Parser::AST::Function::Parameters::get() -{ - auto _tmp__Parameters = gcnew System::Collections::Generic::List(); - for(auto _element : ((::CppSharp::CppParser::AST::Function*)NativePtr)->Parameters) - { - auto _marshalElement = (_element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Parameter((::CppSharp::CppParser::AST::Parameter*)_element); - _tmp__Parameters->Add(_marshalElement); - } - return _tmp__Parameters; -} - -void CppSharp::Parser::AST::Function::Parameters::set(System::Collections::Generic::List^ value) -{ - auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::Parameter*>(); - for each(CppSharp::Parser::AST::Parameter^ _element in value) - { - auto _marshalElement = (::CppSharp::CppParser::AST::Parameter*)_element->NativePtr; - _tmpvalue.push_back(_marshalElement); - } - ((::CppSharp::CppParser::AST::Function*)NativePtr)->Parameters = _tmpvalue; -} - -CppSharp::Parser::AST::FunctionTemplateSpecialization^ CppSharp::Parser::AST::Function::SpecializationInfo::get() -{ - return (((::CppSharp::CppParser::AST::Function*)NativePtr)->specializationInfo == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::FunctionTemplateSpecialization((::CppSharp::CppParser::AST::FunctionTemplateSpecialization*)((::CppSharp::CppParser::AST::Function*)NativePtr)->specializationInfo); -} - -void CppSharp::Parser::AST::Function::SpecializationInfo::set(CppSharp::Parser::AST::FunctionTemplateSpecialization^ value) -{ - ((::CppSharp::CppParser::AST::Function*)NativePtr)->specializationInfo = (::CppSharp::CppParser::AST::FunctionTemplateSpecialization*)value->NativePtr; -} - -CppSharp::Parser::AST::Function^ CppSharp::Parser::AST::Function::InstantiatedFrom::get() -{ - return (((::CppSharp::CppParser::AST::Function*)NativePtr)->instantiatedFrom == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Function((::CppSharp::CppParser::AST::Function*)((::CppSharp::CppParser::AST::Function*)NativePtr)->instantiatedFrom); -} - -void CppSharp::Parser::AST::Function::InstantiatedFrom::set(CppSharp::Parser::AST::Function^ value) -{ - ((::CppSharp::CppParser::AST::Function*)NativePtr)->instantiatedFrom = (::CppSharp::CppParser::AST::Function*)value->NativePtr; -} - -CppSharp::Parser::AST::QualifiedType^ CppSharp::Parser::AST::Function::QualifiedType::get() -{ - return (&((::CppSharp::CppParser::AST::Function*)NativePtr)->qualifiedType == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::QualifiedType((::CppSharp::CppParser::AST::QualifiedType*)&((::CppSharp::CppParser::AST::Function*)NativePtr)->qualifiedType); -} - -void CppSharp::Parser::AST::Function::QualifiedType::set(CppSharp::Parser::AST::QualifiedType^ value) -{ - ((::CppSharp::CppParser::AST::Function*)NativePtr)->qualifiedType = *(::CppSharp::CppParser::AST::QualifiedType*)value->NativePtr; -} - -unsigned int CppSharp::Parser::AST::Function::ParametersCount::get() -{ - auto __ret = ((::CppSharp::CppParser::AST::Function*)NativePtr)->getParametersCount(); - return __ret; -} - -CppSharp::Parser::AST::Method::Method(::CppSharp::CppParser::AST::Method* native) - : CppSharp::Parser::AST::Function((::CppSharp::CppParser::AST::Function*)native) -{ -} - -CppSharp::Parser::AST::Method^ CppSharp::Parser::AST::Method::__CreateInstance(::System::IntPtr native) -{ - return gcnew ::CppSharp::Parser::AST::Method((::CppSharp::CppParser::AST::Method*) native.ToPointer()); -} - -CppSharp::Parser::AST::Method::~Method() -{ - if (NativePtr) - { - auto __nativePtr = NativePtr; - NativePtr = 0; - delete (::CppSharp::CppParser::AST::Method*) __nativePtr; - } -} - -CppSharp::Parser::AST::Method::Method() - : CppSharp::Parser::AST::Function((::CppSharp::CppParser::AST::Function*)nullptr) -{ - __ownsNativeInstance = true; - NativePtr = new ::CppSharp::CppParser::AST::Method(); -} - -CppSharp::Parser::AST::Method^ CppSharp::Parser::AST::Method::GetOverriddenMethods(unsigned int i) -{ - auto __ret = ((::CppSharp::CppParser::AST::Method*)NativePtr)->getOverriddenMethods(i); - if (__ret == nullptr) return nullptr; - return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Method((::CppSharp::CppParser::AST::Method*)__ret); -} - -void CppSharp::Parser::AST::Method::AddOverriddenMethods(CppSharp::Parser::AST::Method^ s) -{ - if (ReferenceEquals(s, nullptr)) - throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - auto __arg0 = (::CppSharp::CppParser::AST::Method*)s->NativePtr; - ((::CppSharp::CppParser::AST::Method*)NativePtr)->addOverriddenMethods(__arg0); -} - -void CppSharp::Parser::AST::Method::ClearOverriddenMethods() -{ - ((::CppSharp::CppParser::AST::Method*)NativePtr)->clearOverriddenMethods(); -} - -CppSharp::Parser::AST::Method::Method(CppSharp::Parser::AST::Method^ _0) - : CppSharp::Parser::AST::Function((::CppSharp::CppParser::AST::Function*)nullptr) -{ - __ownsNativeInstance = true; - if (ReferenceEquals(_0, nullptr)) - throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::Method*)_0->NativePtr; - NativePtr = new ::CppSharp::CppParser::AST::Method(__arg0); -} - -bool CppSharp::Parser::AST::Method::IsVirtual::get() -{ - return ((::CppSharp::CppParser::AST::Method*)NativePtr)->isVirtual; -} - -void CppSharp::Parser::AST::Method::IsVirtual::set(bool value) -{ - ((::CppSharp::CppParser::AST::Method*)NativePtr)->isVirtual = value; -} - -bool CppSharp::Parser::AST::Method::IsStatic::get() -{ - return ((::CppSharp::CppParser::AST::Method*)NativePtr)->isStatic; -} - -void CppSharp::Parser::AST::Method::IsStatic::set(bool value) -{ - ((::CppSharp::CppParser::AST::Method*)NativePtr)->isStatic = value; -} - -bool CppSharp::Parser::AST::Method::IsConst::get() -{ - return ((::CppSharp::CppParser::AST::Method*)NativePtr)->isConst; -} - -void CppSharp::Parser::AST::Method::IsConst::set(bool value) -{ - ((::CppSharp::CppParser::AST::Method*)NativePtr)->isConst = value; -} - -bool CppSharp::Parser::AST::Method::IsExplicit::get() -{ - return ((::CppSharp::CppParser::AST::Method*)NativePtr)->isExplicit; -} - -void CppSharp::Parser::AST::Method::IsExplicit::set(bool value) -{ - ((::CppSharp::CppParser::AST::Method*)NativePtr)->isExplicit = value; -} - -CppSharp::Parser::AST::CXXMethodKind CppSharp::Parser::AST::Method::MethodKind::get() -{ - return (CppSharp::Parser::AST::CXXMethodKind)((::CppSharp::CppParser::AST::Method*)NativePtr)->methodKind; -} - -void CppSharp::Parser::AST::Method::MethodKind::set(CppSharp::Parser::AST::CXXMethodKind value) -{ - ((::CppSharp::CppParser::AST::Method*)NativePtr)->methodKind = (::CppSharp::CppParser::AST::CXXMethodKind)value; -} - -bool CppSharp::Parser::AST::Method::IsDefaultConstructor::get() -{ - return ((::CppSharp::CppParser::AST::Method*)NativePtr)->isDefaultConstructor; -} - -void CppSharp::Parser::AST::Method::IsDefaultConstructor::set(bool value) -{ - ((::CppSharp::CppParser::AST::Method*)NativePtr)->isDefaultConstructor = value; -} - -bool CppSharp::Parser::AST::Method::IsCopyConstructor::get() -{ - return ((::CppSharp::CppParser::AST::Method*)NativePtr)->isCopyConstructor; -} - -void CppSharp::Parser::AST::Method::IsCopyConstructor::set(bool value) -{ - ((::CppSharp::CppParser::AST::Method*)NativePtr)->isCopyConstructor = value; -} - -bool CppSharp::Parser::AST::Method::IsMoveConstructor::get() -{ - return ((::CppSharp::CppParser::AST::Method*)NativePtr)->isMoveConstructor; -} - -void CppSharp::Parser::AST::Method::IsMoveConstructor::set(bool value) -{ - ((::CppSharp::CppParser::AST::Method*)NativePtr)->isMoveConstructor = value; -} - -CppSharp::Parser::AST::QualifiedType^ CppSharp::Parser::AST::Method::ConversionType::get() -{ - return (&((::CppSharp::CppParser::AST::Method*)NativePtr)->conversionType == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::QualifiedType((::CppSharp::CppParser::AST::QualifiedType*)&((::CppSharp::CppParser::AST::Method*)NativePtr)->conversionType); -} - -void CppSharp::Parser::AST::Method::ConversionType::set(CppSharp::Parser::AST::QualifiedType^ value) -{ - ((::CppSharp::CppParser::AST::Method*)NativePtr)->conversionType = *(::CppSharp::CppParser::AST::QualifiedType*)value->NativePtr; -} - -CppSharp::Parser::AST::RefQualifierKind CppSharp::Parser::AST::Method::RefQualifier::get() -{ - return (CppSharp::Parser::AST::RefQualifierKind)((::CppSharp::CppParser::AST::Method*)NativePtr)->refQualifier; -} - -void CppSharp::Parser::AST::Method::RefQualifier::set(CppSharp::Parser::AST::RefQualifierKind value) -{ - ((::CppSharp::CppParser::AST::Method*)NativePtr)->refQualifier = (::CppSharp::CppParser::AST::RefQualifierKind)value; -} - -System::Collections::Generic::List^ CppSharp::Parser::AST::Method::OverriddenMethods::get() -{ - auto _tmp__OverriddenMethods = gcnew System::Collections::Generic::List(); - for(auto _element : ((::CppSharp::CppParser::AST::Method*)NativePtr)->OverriddenMethods) - { - auto _marshalElement = (_element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Method((::CppSharp::CppParser::AST::Method*)_element); - _tmp__OverriddenMethods->Add(_marshalElement); - } - return _tmp__OverriddenMethods; -} - -void CppSharp::Parser::AST::Method::OverriddenMethods::set(System::Collections::Generic::List^ value) -{ - auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::Method*>(); - for each(CppSharp::Parser::AST::Method^ _element in value) - { - auto _marshalElement = (::CppSharp::CppParser::AST::Method*)_element->NativePtr; - _tmpvalue.push_back(_marshalElement); - } - ((::CppSharp::CppParser::AST::Method*)NativePtr)->OverriddenMethods = _tmpvalue; -} - -unsigned int CppSharp::Parser::AST::Method::OverriddenMethodsCount::get() -{ - auto __ret = ((::CppSharp::CppParser::AST::Method*)NativePtr)->getOverriddenMethodsCount(); - return __ret; -} - -CppSharp::Parser::AST::Enumeration::Item::Item(::CppSharp::CppParser::AST::Enumeration::Item* native) - : CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)native) -{ -} - -CppSharp::Parser::AST::Enumeration::Item^ CppSharp::Parser::AST::Enumeration::Item::__CreateInstance(::System::IntPtr native) -{ - return gcnew ::CppSharp::Parser::AST::Enumeration::Item((::CppSharp::CppParser::AST::Enumeration::Item*) native.ToPointer()); -} - -CppSharp::Parser::AST::Enumeration::Item::~Item() -{ - if (NativePtr) - { - auto __nativePtr = NativePtr; - NativePtr = 0; - delete (::CppSharp::CppParser::AST::Enumeration::Item*) __nativePtr; - } -} - -CppSharp::Parser::AST::Enumeration::Item::Item() - : CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)nullptr) -{ - __ownsNativeInstance = true; - NativePtr = new ::CppSharp::CppParser::AST::Enumeration::Item(); -} - -CppSharp::Parser::AST::Enumeration::Item::Item(CppSharp::Parser::AST::Enumeration::Item^ _0) - : CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)nullptr) -{ - __ownsNativeInstance = true; - if (ReferenceEquals(_0, nullptr)) - throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::Enumeration::Item*)_0->NativePtr; - NativePtr = new ::CppSharp::CppParser::AST::Enumeration::Item(__arg0); -} - -System::String^ CppSharp::Parser::AST::Enumeration::Item::Expression::get() -{ - return clix::marshalString(((::CppSharp::CppParser::AST::Enumeration::Item*)NativePtr)->expression); -} - -void CppSharp::Parser::AST::Enumeration::Item::Expression::set(System::String^ value) -{ - ((::CppSharp::CppParser::AST::Enumeration::Item*)NativePtr)->expression = clix::marshalString(value); -} - -unsigned long long CppSharp::Parser::AST::Enumeration::Item::Value::get() -{ - return ((::CppSharp::CppParser::AST::Enumeration::Item*)NativePtr)->value; -} - -void CppSharp::Parser::AST::Enumeration::Item::Value::set(unsigned long long value) -{ - ((::CppSharp::CppParser::AST::Enumeration::Item*)NativePtr)->value = (::uint64_t)value; -} - -CppSharp::Parser::AST::Enumeration::Enumeration(::CppSharp::CppParser::AST::Enumeration* native) - : CppSharp::Parser::AST::DeclarationContext((::CppSharp::CppParser::AST::DeclarationContext*)native) -{ -} - -CppSharp::Parser::AST::Enumeration^ CppSharp::Parser::AST::Enumeration::__CreateInstance(::System::IntPtr native) -{ - return gcnew ::CppSharp::Parser::AST::Enumeration((::CppSharp::CppParser::AST::Enumeration*) native.ToPointer()); -} - -CppSharp::Parser::AST::Enumeration::~Enumeration() -{ - if (NativePtr) - { - auto __nativePtr = NativePtr; - NativePtr = 0; - delete (::CppSharp::CppParser::AST::Enumeration*) __nativePtr; - } -} - -CppSharp::Parser::AST::Enumeration::Enumeration() - : CppSharp::Parser::AST::DeclarationContext((::CppSharp::CppParser::AST::DeclarationContext*)nullptr) -{ - __ownsNativeInstance = true; - NativePtr = new ::CppSharp::CppParser::AST::Enumeration(); -} - -CppSharp::Parser::AST::Enumeration::Item^ CppSharp::Parser::AST::Enumeration::GetItems(unsigned int i) -{ - auto __ret = ((::CppSharp::CppParser::AST::Enumeration*)NativePtr)->getItems(i); - if (__ret == nullptr) return nullptr; - return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Enumeration::Item((::CppSharp::CppParser::AST::Enumeration::Item*)__ret); -} - -void CppSharp::Parser::AST::Enumeration::AddItems(CppSharp::Parser::AST::Enumeration::Item^ s) -{ - if (ReferenceEquals(s, nullptr)) - throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - auto __arg0 = (::CppSharp::CppParser::AST::Enumeration::Item*)s->NativePtr; - ((::CppSharp::CppParser::AST::Enumeration*)NativePtr)->addItems(__arg0); -} - -void CppSharp::Parser::AST::Enumeration::ClearItems() -{ - ((::CppSharp::CppParser::AST::Enumeration*)NativePtr)->clearItems(); -} - -CppSharp::Parser::AST::Enumeration::Item^ CppSharp::Parser::AST::Enumeration::FindItemByName(System::String^ Name) -{ - auto __arg0 = clix::marshalString(Name); - auto __ret = ((::CppSharp::CppParser::AST::Enumeration*)NativePtr)->FindItemByName(__arg0); - if (__ret == nullptr) return nullptr; - return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Enumeration::Item((::CppSharp::CppParser::AST::Enumeration::Item*)__ret); -} - -CppSharp::Parser::AST::Enumeration::Enumeration(CppSharp::Parser::AST::Enumeration^ _0) - : CppSharp::Parser::AST::DeclarationContext((::CppSharp::CppParser::AST::DeclarationContext*)nullptr) -{ - __ownsNativeInstance = true; - if (ReferenceEquals(_0, nullptr)) - throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::Enumeration*)_0->NativePtr; - NativePtr = new ::CppSharp::CppParser::AST::Enumeration(__arg0); -} - -CppSharp::Parser::AST::Enumeration::EnumModifiers CppSharp::Parser::AST::Enumeration::Modifiers::get() -{ - return (CppSharp::Parser::AST::Enumeration::EnumModifiers)((::CppSharp::CppParser::AST::Enumeration*)NativePtr)->modifiers; -} - -void CppSharp::Parser::AST::Enumeration::Modifiers::set(CppSharp::Parser::AST::Enumeration::EnumModifiers value) -{ - ((::CppSharp::CppParser::AST::Enumeration*)NativePtr)->modifiers = (::CppSharp::CppParser::AST::Enumeration::EnumModifiers)value; -} - -CppSharp::Parser::AST::Type^ CppSharp::Parser::AST::Enumeration::Type::get() -{ - return (((::CppSharp::CppParser::AST::Enumeration*)NativePtr)->type == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)((::CppSharp::CppParser::AST::Enumeration*)NativePtr)->type); -} - -void CppSharp::Parser::AST::Enumeration::Type::set(CppSharp::Parser::AST::Type^ value) -{ - ((::CppSharp::CppParser::AST::Enumeration*)NativePtr)->type = (::CppSharp::CppParser::AST::Type*)value->NativePtr; -} - -CppSharp::Parser::AST::BuiltinType^ CppSharp::Parser::AST::Enumeration::BuiltinType::get() -{ - return (((::CppSharp::CppParser::AST::Enumeration*)NativePtr)->builtinType == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::BuiltinType((::CppSharp::CppParser::AST::BuiltinType*)((::CppSharp::CppParser::AST::Enumeration*)NativePtr)->builtinType); -} - -void CppSharp::Parser::AST::Enumeration::BuiltinType::set(CppSharp::Parser::AST::BuiltinType^ value) -{ - ((::CppSharp::CppParser::AST::Enumeration*)NativePtr)->builtinType = (::CppSharp::CppParser::AST::BuiltinType*)value->NativePtr; -} - -System::Collections::Generic::List^ CppSharp::Parser::AST::Enumeration::Items::get() -{ - auto _tmp__Items = gcnew System::Collections::Generic::List(); - for(auto _element : ((::CppSharp::CppParser::AST::Enumeration*)NativePtr)->Items) - { - auto _marshalElement = (_element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Enumeration::Item((::CppSharp::CppParser::AST::Enumeration::Item*)_element); - _tmp__Items->Add(_marshalElement); - } - return _tmp__Items; -} - -void CppSharp::Parser::AST::Enumeration::Items::set(System::Collections::Generic::List^ value) -{ - auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::Enumeration::Item*>(); - for each(CppSharp::Parser::AST::Enumeration::Item^ _element in value) - { - auto _marshalElement = (::CppSharp::CppParser::AST::Enumeration::Item*)_element->NativePtr; - _tmpvalue.push_back(_marshalElement); - } - ((::CppSharp::CppParser::AST::Enumeration*)NativePtr)->Items = _tmpvalue; -} - -unsigned int CppSharp::Parser::AST::Enumeration::ItemsCount::get() -{ - auto __ret = ((::CppSharp::CppParser::AST::Enumeration*)NativePtr)->getItemsCount(); - return __ret; -} - -CppSharp::Parser::AST::Variable::Variable(::CppSharp::CppParser::AST::Variable* native) - : CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)native) -{ -} - -CppSharp::Parser::AST::Variable^ CppSharp::Parser::AST::Variable::__CreateInstance(::System::IntPtr native) -{ - return gcnew ::CppSharp::Parser::AST::Variable((::CppSharp::CppParser::AST::Variable*) native.ToPointer()); -} - -CppSharp::Parser::AST::Variable::~Variable() -{ - if (NativePtr) - { - auto __nativePtr = NativePtr; - NativePtr = 0; - delete (::CppSharp::CppParser::AST::Variable*) __nativePtr; - } -} - -CppSharp::Parser::AST::Variable::Variable() - : CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)nullptr) -{ - __ownsNativeInstance = true; - NativePtr = new ::CppSharp::CppParser::AST::Variable(); -} - -CppSharp::Parser::AST::Variable::Variable(CppSharp::Parser::AST::Variable^ _0) - : CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)nullptr) -{ - __ownsNativeInstance = true; - if (ReferenceEquals(_0, nullptr)) - throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::Variable*)_0->NativePtr; - NativePtr = new ::CppSharp::CppParser::AST::Variable(__arg0); -} - -System::String^ CppSharp::Parser::AST::Variable::Mangled::get() -{ - return clix::marshalString(((::CppSharp::CppParser::AST::Variable*)NativePtr)->mangled); -} - -void CppSharp::Parser::AST::Variable::Mangled::set(System::String^ value) -{ - ((::CppSharp::CppParser::AST::Variable*)NativePtr)->mangled = clix::marshalString(value); -} - -CppSharp::Parser::AST::QualifiedType^ CppSharp::Parser::AST::Variable::QualifiedType::get() -{ - return (&((::CppSharp::CppParser::AST::Variable*)NativePtr)->qualifiedType == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::QualifiedType((::CppSharp::CppParser::AST::QualifiedType*)&((::CppSharp::CppParser::AST::Variable*)NativePtr)->qualifiedType); -} - -void CppSharp::Parser::AST::Variable::QualifiedType::set(CppSharp::Parser::AST::QualifiedType^ value) -{ - ((::CppSharp::CppParser::AST::Variable*)NativePtr)->qualifiedType = *(::CppSharp::CppParser::AST::QualifiedType*)value->NativePtr; -} - -CppSharp::Parser::AST::BaseClassSpecifier::BaseClassSpecifier(::CppSharp::CppParser::AST::BaseClassSpecifier* native) - : __ownsNativeInstance(false) -{ - NativePtr = native; -} - -CppSharp::Parser::AST::BaseClassSpecifier^ CppSharp::Parser::AST::BaseClassSpecifier::__CreateInstance(::System::IntPtr native) -{ - return gcnew ::CppSharp::Parser::AST::BaseClassSpecifier((::CppSharp::CppParser::AST::BaseClassSpecifier*) native.ToPointer()); -} - -CppSharp::Parser::AST::BaseClassSpecifier::~BaseClassSpecifier() -{ - delete NativePtr; -} - -CppSharp::Parser::AST::BaseClassSpecifier::BaseClassSpecifier() -{ - __ownsNativeInstance = true; - NativePtr = new ::CppSharp::CppParser::AST::BaseClassSpecifier(); -} - -CppSharp::Parser::AST::BaseClassSpecifier::BaseClassSpecifier(CppSharp::Parser::AST::BaseClassSpecifier^ _0) -{ - __ownsNativeInstance = true; - if (ReferenceEquals(_0, nullptr)) - throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::BaseClassSpecifier*)_0->NativePtr; - NativePtr = new ::CppSharp::CppParser::AST::BaseClassSpecifier(__arg0); -} - -System::IntPtr CppSharp::Parser::AST::BaseClassSpecifier::__Instance::get() -{ - return System::IntPtr(NativePtr); -} - -void CppSharp::Parser::AST::BaseClassSpecifier::__Instance::set(System::IntPtr object) -{ - NativePtr = (::CppSharp::CppParser::AST::BaseClassSpecifier*)object.ToPointer(); -} - -CppSharp::Parser::AST::AccessSpecifier CppSharp::Parser::AST::BaseClassSpecifier::Access::get() -{ - return (CppSharp::Parser::AST::AccessSpecifier)((::CppSharp::CppParser::AST::BaseClassSpecifier*)NativePtr)->access; -} - -void CppSharp::Parser::AST::BaseClassSpecifier::Access::set(CppSharp::Parser::AST::AccessSpecifier value) -{ - ((::CppSharp::CppParser::AST::BaseClassSpecifier*)NativePtr)->access = (::CppSharp::CppParser::AST::AccessSpecifier)value; -} - -bool CppSharp::Parser::AST::BaseClassSpecifier::IsVirtual::get() -{ - return ((::CppSharp::CppParser::AST::BaseClassSpecifier*)NativePtr)->isVirtual; -} - -void CppSharp::Parser::AST::BaseClassSpecifier::IsVirtual::set(bool value) -{ - ((::CppSharp::CppParser::AST::BaseClassSpecifier*)NativePtr)->isVirtual = value; -} - -CppSharp::Parser::AST::Type^ CppSharp::Parser::AST::BaseClassSpecifier::Type::get() -{ - return (((::CppSharp::CppParser::AST::BaseClassSpecifier*)NativePtr)->type == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)((::CppSharp::CppParser::AST::BaseClassSpecifier*)NativePtr)->type); -} - -void CppSharp::Parser::AST::BaseClassSpecifier::Type::set(CppSharp::Parser::AST::Type^ value) -{ - ((::CppSharp::CppParser::AST::BaseClassSpecifier*)NativePtr)->type = (::CppSharp::CppParser::AST::Type*)value->NativePtr; -} - -int CppSharp::Parser::AST::BaseClassSpecifier::Offset::get() -{ - return ((::CppSharp::CppParser::AST::BaseClassSpecifier*)NativePtr)->offset; -} - -void CppSharp::Parser::AST::BaseClassSpecifier::Offset::set(int value) -{ - ((::CppSharp::CppParser::AST::BaseClassSpecifier*)NativePtr)->offset = value; -} - -CppSharp::Parser::AST::Field::Field(::CppSharp::CppParser::AST::Field* native) - : CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)native) -{ -} - -CppSharp::Parser::AST::Field^ CppSharp::Parser::AST::Field::__CreateInstance(::System::IntPtr native) -{ - return gcnew ::CppSharp::Parser::AST::Field((::CppSharp::CppParser::AST::Field*) native.ToPointer()); -} - -CppSharp::Parser::AST::Field::~Field() -{ - if (NativePtr) - { - auto __nativePtr = NativePtr; - NativePtr = 0; - delete (::CppSharp::CppParser::AST::Field*) __nativePtr; - } -} - -CppSharp::Parser::AST::Field::Field() - : CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)nullptr) -{ - __ownsNativeInstance = true; - NativePtr = new ::CppSharp::CppParser::AST::Field(); -} - -CppSharp::Parser::AST::Field::Field(CppSharp::Parser::AST::Field^ _0) - : CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)nullptr) -{ - __ownsNativeInstance = true; - if (ReferenceEquals(_0, nullptr)) - throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::Field*)_0->NativePtr; - NativePtr = new ::CppSharp::CppParser::AST::Field(__arg0); -} - -CppSharp::Parser::AST::QualifiedType^ CppSharp::Parser::AST::Field::QualifiedType::get() -{ - return (&((::CppSharp::CppParser::AST::Field*)NativePtr)->qualifiedType == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::QualifiedType((::CppSharp::CppParser::AST::QualifiedType*)&((::CppSharp::CppParser::AST::Field*)NativePtr)->qualifiedType); -} - -void CppSharp::Parser::AST::Field::QualifiedType::set(CppSharp::Parser::AST::QualifiedType^ value) -{ - ((::CppSharp::CppParser::AST::Field*)NativePtr)->qualifiedType = *(::CppSharp::CppParser::AST::QualifiedType*)value->NativePtr; -} - -CppSharp::Parser::AST::Class^ CppSharp::Parser::AST::Field::Class::get() -{ - return (((::CppSharp::CppParser::AST::Field*)NativePtr)->_class == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Class((::CppSharp::CppParser::AST::Class*)((::CppSharp::CppParser::AST::Field*)NativePtr)->_class); -} - -void CppSharp::Parser::AST::Field::Class::set(CppSharp::Parser::AST::Class^ value) -{ - ((::CppSharp::CppParser::AST::Field*)NativePtr)->_class = (::CppSharp::CppParser::AST::Class*)value->NativePtr; -} - -bool CppSharp::Parser::AST::Field::IsBitField::get() -{ - return ((::CppSharp::CppParser::AST::Field*)NativePtr)->isBitField; -} - -void CppSharp::Parser::AST::Field::IsBitField::set(bool value) -{ - ((::CppSharp::CppParser::AST::Field*)NativePtr)->isBitField = value; -} - -unsigned int CppSharp::Parser::AST::Field::BitWidth::get() -{ - return ((::CppSharp::CppParser::AST::Field*)NativePtr)->bitWidth; -} - -void CppSharp::Parser::AST::Field::BitWidth::set(unsigned int value) -{ - ((::CppSharp::CppParser::AST::Field*)NativePtr)->bitWidth = value; -} - -CppSharp::Parser::AST::AccessSpecifierDecl::AccessSpecifierDecl(::CppSharp::CppParser::AST::AccessSpecifierDecl* native) - : CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)native) -{ -} - -CppSharp::Parser::AST::AccessSpecifierDecl^ CppSharp::Parser::AST::AccessSpecifierDecl::__CreateInstance(::System::IntPtr native) -{ - return gcnew ::CppSharp::Parser::AST::AccessSpecifierDecl((::CppSharp::CppParser::AST::AccessSpecifierDecl*) native.ToPointer()); -} - -CppSharp::Parser::AST::AccessSpecifierDecl::~AccessSpecifierDecl() -{ - if (NativePtr) - { - auto __nativePtr = NativePtr; - NativePtr = 0; - delete (::CppSharp::CppParser::AST::AccessSpecifierDecl*) __nativePtr; - } -} - -CppSharp::Parser::AST::AccessSpecifierDecl::AccessSpecifierDecl() - : CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)nullptr) -{ - __ownsNativeInstance = true; - NativePtr = new ::CppSharp::CppParser::AST::AccessSpecifierDecl(); -} - -CppSharp::Parser::AST::AccessSpecifierDecl::AccessSpecifierDecl(CppSharp::Parser::AST::AccessSpecifierDecl^ _0) - : CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)nullptr) -{ - __ownsNativeInstance = true; - if (ReferenceEquals(_0, nullptr)) - throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::AccessSpecifierDecl*)_0->NativePtr; - NativePtr = new ::CppSharp::CppParser::AST::AccessSpecifierDecl(__arg0); -} - -CppSharp::Parser::AST::Class::Class(::CppSharp::CppParser::AST::Class* native) - : CppSharp::Parser::AST::DeclarationContext((::CppSharp::CppParser::AST::DeclarationContext*)native) -{ -} - -CppSharp::Parser::AST::Class^ CppSharp::Parser::AST::Class::__CreateInstance(::System::IntPtr native) -{ - return gcnew ::CppSharp::Parser::AST::Class((::CppSharp::CppParser::AST::Class*) native.ToPointer()); -} - -CppSharp::Parser::AST::Class::~Class() -{ - if (NativePtr) - { - auto __nativePtr = NativePtr; - NativePtr = 0; - delete (::CppSharp::CppParser::AST::Class*) __nativePtr; - } -} - -CppSharp::Parser::AST::Class::Class() - : CppSharp::Parser::AST::DeclarationContext((::CppSharp::CppParser::AST::DeclarationContext*)nullptr) -{ - __ownsNativeInstance = true; - NativePtr = new ::CppSharp::CppParser::AST::Class(); -} - -CppSharp::Parser::AST::BaseClassSpecifier^ CppSharp::Parser::AST::Class::GetBases(unsigned int i) -{ - auto __ret = ((::CppSharp::CppParser::AST::Class*)NativePtr)->getBases(i); - if (__ret == nullptr) return nullptr; - return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::BaseClassSpecifier((::CppSharp::CppParser::AST::BaseClassSpecifier*)__ret); -} - -void CppSharp::Parser::AST::Class::AddBases(CppSharp::Parser::AST::BaseClassSpecifier^ s) -{ - if (ReferenceEquals(s, nullptr)) - throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - auto __arg0 = (::CppSharp::CppParser::AST::BaseClassSpecifier*)s->NativePtr; - ((::CppSharp::CppParser::AST::Class*)NativePtr)->addBases(__arg0); -} - -void CppSharp::Parser::AST::Class::ClearBases() -{ - ((::CppSharp::CppParser::AST::Class*)NativePtr)->clearBases(); -} - -CppSharp::Parser::AST::Field^ CppSharp::Parser::AST::Class::GetFields(unsigned int i) -{ - auto __ret = ((::CppSharp::CppParser::AST::Class*)NativePtr)->getFields(i); - if (__ret == nullptr) return nullptr; - return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Field((::CppSharp::CppParser::AST::Field*)__ret); -} - -void CppSharp::Parser::AST::Class::AddFields(CppSharp::Parser::AST::Field^ s) -{ - if (ReferenceEquals(s, nullptr)) - throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - auto __arg0 = (::CppSharp::CppParser::AST::Field*)s->NativePtr; - ((::CppSharp::CppParser::AST::Class*)NativePtr)->addFields(__arg0); -} - -void CppSharp::Parser::AST::Class::ClearFields() -{ - ((::CppSharp::CppParser::AST::Class*)NativePtr)->clearFields(); -} - -CppSharp::Parser::AST::Method^ CppSharp::Parser::AST::Class::GetMethods(unsigned int i) -{ - auto __ret = ((::CppSharp::CppParser::AST::Class*)NativePtr)->getMethods(i); - if (__ret == nullptr) return nullptr; - return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Method((::CppSharp::CppParser::AST::Method*)__ret); -} - -void CppSharp::Parser::AST::Class::AddMethods(CppSharp::Parser::AST::Method^ s) -{ - if (ReferenceEquals(s, nullptr)) - throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - auto __arg0 = (::CppSharp::CppParser::AST::Method*)s->NativePtr; - ((::CppSharp::CppParser::AST::Class*)NativePtr)->addMethods(__arg0); -} - -void CppSharp::Parser::AST::Class::ClearMethods() -{ - ((::CppSharp::CppParser::AST::Class*)NativePtr)->clearMethods(); -} - -CppSharp::Parser::AST::AccessSpecifierDecl^ CppSharp::Parser::AST::Class::GetSpecifiers(unsigned int i) -{ - auto __ret = ((::CppSharp::CppParser::AST::Class*)NativePtr)->getSpecifiers(i); - if (__ret == nullptr) return nullptr; - return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::AccessSpecifierDecl((::CppSharp::CppParser::AST::AccessSpecifierDecl*)__ret); -} - -void CppSharp::Parser::AST::Class::AddSpecifiers(CppSharp::Parser::AST::AccessSpecifierDecl^ s) -{ - if (ReferenceEquals(s, nullptr)) - throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - auto __arg0 = (::CppSharp::CppParser::AST::AccessSpecifierDecl*)s->NativePtr; - ((::CppSharp::CppParser::AST::Class*)NativePtr)->addSpecifiers(__arg0); -} - -void CppSharp::Parser::AST::Class::ClearSpecifiers() -{ - ((::CppSharp::CppParser::AST::Class*)NativePtr)->clearSpecifiers(); -} - -CppSharp::Parser::AST::Class::Class(CppSharp::Parser::AST::Class^ _0) - : CppSharp::Parser::AST::DeclarationContext((::CppSharp::CppParser::AST::DeclarationContext*)nullptr) -{ - __ownsNativeInstance = true; - if (ReferenceEquals(_0, nullptr)) - throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::Class*)_0->NativePtr; - NativePtr = new ::CppSharp::CppParser::AST::Class(__arg0); -} - -System::Collections::Generic::List^ CppSharp::Parser::AST::Class::Bases::get() -{ - auto _tmp__Bases = gcnew System::Collections::Generic::List(); - for(auto _element : ((::CppSharp::CppParser::AST::Class*)NativePtr)->Bases) - { - auto _marshalElement = (_element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::BaseClassSpecifier((::CppSharp::CppParser::AST::BaseClassSpecifier*)_element); - _tmp__Bases->Add(_marshalElement); - } - return _tmp__Bases; -} - -void CppSharp::Parser::AST::Class::Bases::set(System::Collections::Generic::List^ value) -{ - auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::BaseClassSpecifier*>(); - for each(CppSharp::Parser::AST::BaseClassSpecifier^ _element in value) - { - auto _marshalElement = (::CppSharp::CppParser::AST::BaseClassSpecifier*)_element->NativePtr; - _tmpvalue.push_back(_marshalElement); - } - ((::CppSharp::CppParser::AST::Class*)NativePtr)->Bases = _tmpvalue; -} - -System::Collections::Generic::List^ CppSharp::Parser::AST::Class::Fields::get() -{ - auto _tmp__Fields = gcnew System::Collections::Generic::List(); - for(auto _element : ((::CppSharp::CppParser::AST::Class*)NativePtr)->Fields) - { - auto _marshalElement = (_element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Field((::CppSharp::CppParser::AST::Field*)_element); - _tmp__Fields->Add(_marshalElement); - } - return _tmp__Fields; -} - -void CppSharp::Parser::AST::Class::Fields::set(System::Collections::Generic::List^ value) -{ - auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::Field*>(); - for each(CppSharp::Parser::AST::Field^ _element in value) - { - auto _marshalElement = (::CppSharp::CppParser::AST::Field*)_element->NativePtr; - _tmpvalue.push_back(_marshalElement); - } - ((::CppSharp::CppParser::AST::Class*)NativePtr)->Fields = _tmpvalue; -} - -System::Collections::Generic::List^ CppSharp::Parser::AST::Class::Methods::get() -{ - auto _tmp__Methods = gcnew System::Collections::Generic::List(); - for(auto _element : ((::CppSharp::CppParser::AST::Class*)NativePtr)->Methods) - { - auto _marshalElement = (_element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Method((::CppSharp::CppParser::AST::Method*)_element); - _tmp__Methods->Add(_marshalElement); - } - return _tmp__Methods; -} - -void CppSharp::Parser::AST::Class::Methods::set(System::Collections::Generic::List^ value) -{ - auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::Method*>(); - for each(CppSharp::Parser::AST::Method^ _element in value) - { - auto _marshalElement = (::CppSharp::CppParser::AST::Method*)_element->NativePtr; - _tmpvalue.push_back(_marshalElement); - } - ((::CppSharp::CppParser::AST::Class*)NativePtr)->Methods = _tmpvalue; -} - -System::Collections::Generic::List^ CppSharp::Parser::AST::Class::Specifiers::get() -{ - auto _tmp__Specifiers = gcnew System::Collections::Generic::List(); - for(auto _element : ((::CppSharp::CppParser::AST::Class*)NativePtr)->Specifiers) - { - auto _marshalElement = (_element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::AccessSpecifierDecl((::CppSharp::CppParser::AST::AccessSpecifierDecl*)_element); - _tmp__Specifiers->Add(_marshalElement); - } - return _tmp__Specifiers; -} - -void CppSharp::Parser::AST::Class::Specifiers::set(System::Collections::Generic::List^ value) -{ - auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::AccessSpecifierDecl*>(); - for each(CppSharp::Parser::AST::AccessSpecifierDecl^ _element in value) - { - auto _marshalElement = (::CppSharp::CppParser::AST::AccessSpecifierDecl*)_element->NativePtr; - _tmpvalue.push_back(_marshalElement); - } - ((::CppSharp::CppParser::AST::Class*)NativePtr)->Specifiers = _tmpvalue; -} - -bool CppSharp::Parser::AST::Class::IsPOD::get() -{ - return ((::CppSharp::CppParser::AST::Class*)NativePtr)->isPOD; -} - -void CppSharp::Parser::AST::Class::IsPOD::set(bool value) -{ - ((::CppSharp::CppParser::AST::Class*)NativePtr)->isPOD = value; -} - -bool CppSharp::Parser::AST::Class::IsAbstract::get() -{ - return ((::CppSharp::CppParser::AST::Class*)NativePtr)->isAbstract; -} - -void CppSharp::Parser::AST::Class::IsAbstract::set(bool value) -{ - ((::CppSharp::CppParser::AST::Class*)NativePtr)->isAbstract = value; -} - -bool CppSharp::Parser::AST::Class::IsUnion::get() -{ - return ((::CppSharp::CppParser::AST::Class*)NativePtr)->isUnion; -} - -void CppSharp::Parser::AST::Class::IsUnion::set(bool value) -{ - ((::CppSharp::CppParser::AST::Class*)NativePtr)->isUnion = value; -} - -bool CppSharp::Parser::AST::Class::IsDynamic::get() -{ - return ((::CppSharp::CppParser::AST::Class*)NativePtr)->isDynamic; -} - -void CppSharp::Parser::AST::Class::IsDynamic::set(bool value) -{ - ((::CppSharp::CppParser::AST::Class*)NativePtr)->isDynamic = value; -} - -bool CppSharp::Parser::AST::Class::IsPolymorphic::get() -{ - return ((::CppSharp::CppParser::AST::Class*)NativePtr)->isPolymorphic; -} - -void CppSharp::Parser::AST::Class::IsPolymorphic::set(bool value) -{ - ((::CppSharp::CppParser::AST::Class*)NativePtr)->isPolymorphic = value; -} - -bool CppSharp::Parser::AST::Class::HasNonTrivialDefaultConstructor::get() -{ - return ((::CppSharp::CppParser::AST::Class*)NativePtr)->hasNonTrivialDefaultConstructor; -} - -void CppSharp::Parser::AST::Class::HasNonTrivialDefaultConstructor::set(bool value) -{ - ((::CppSharp::CppParser::AST::Class*)NativePtr)->hasNonTrivialDefaultConstructor = value; -} - -bool CppSharp::Parser::AST::Class::HasNonTrivialCopyConstructor::get() -{ - return ((::CppSharp::CppParser::AST::Class*)NativePtr)->hasNonTrivialCopyConstructor; -} - -void CppSharp::Parser::AST::Class::HasNonTrivialCopyConstructor::set(bool value) -{ - ((::CppSharp::CppParser::AST::Class*)NativePtr)->hasNonTrivialCopyConstructor = value; -} - -bool CppSharp::Parser::AST::Class::HasNonTrivialDestructor::get() -{ - return ((::CppSharp::CppParser::AST::Class*)NativePtr)->hasNonTrivialDestructor; -} - -void CppSharp::Parser::AST::Class::HasNonTrivialDestructor::set(bool value) -{ - ((::CppSharp::CppParser::AST::Class*)NativePtr)->hasNonTrivialDestructor = value; -} - -bool CppSharp::Parser::AST::Class::IsExternCContext::get() -{ - return ((::CppSharp::CppParser::AST::Class*)NativePtr)->isExternCContext; -} - -void CppSharp::Parser::AST::Class::IsExternCContext::set(bool value) -{ - ((::CppSharp::CppParser::AST::Class*)NativePtr)->isExternCContext = value; -} - -bool CppSharp::Parser::AST::Class::IsInjected::get() -{ - return ((::CppSharp::CppParser::AST::Class*)NativePtr)->isInjected; -} - -void CppSharp::Parser::AST::Class::IsInjected::set(bool value) -{ - ((::CppSharp::CppParser::AST::Class*)NativePtr)->isInjected = value; -} - -CppSharp::Parser::AST::ClassLayout^ CppSharp::Parser::AST::Class::Layout::get() -{ - return (((::CppSharp::CppParser::AST::Class*)NativePtr)->layout == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::ClassLayout((::CppSharp::CppParser::AST::ClassLayout*)((::CppSharp::CppParser::AST::Class*)NativePtr)->layout); -} - -void CppSharp::Parser::AST::Class::Layout::set(CppSharp::Parser::AST::ClassLayout^ value) -{ - ((::CppSharp::CppParser::AST::Class*)NativePtr)->layout = (::CppSharp::CppParser::AST::ClassLayout*)value->NativePtr; -} - -unsigned int CppSharp::Parser::AST::Class::BasesCount::get() -{ - auto __ret = ((::CppSharp::CppParser::AST::Class*)NativePtr)->getBasesCount(); - return __ret; -} - -unsigned int CppSharp::Parser::AST::Class::FieldsCount::get() -{ - auto __ret = ((::CppSharp::CppParser::AST::Class*)NativePtr)->getFieldsCount(); - return __ret; -} - -unsigned int CppSharp::Parser::AST::Class::MethodsCount::get() -{ - auto __ret = ((::CppSharp::CppParser::AST::Class*)NativePtr)->getMethodsCount(); - return __ret; -} - -unsigned int CppSharp::Parser::AST::Class::SpecifiersCount::get() -{ - auto __ret = ((::CppSharp::CppParser::AST::Class*)NativePtr)->getSpecifiersCount(); - return __ret; -} - -CppSharp::Parser::AST::Template::Template(::CppSharp::CppParser::AST::Template* native) - : CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)native) -{ -} - -CppSharp::Parser::AST::Template^ CppSharp::Parser::AST::Template::__CreateInstance(::System::IntPtr native) -{ - return gcnew ::CppSharp::Parser::AST::Template((::CppSharp::CppParser::AST::Template*) native.ToPointer()); -} - -CppSharp::Parser::AST::Template::~Template() -{ - if (NativePtr) - { - auto __nativePtr = NativePtr; - NativePtr = 0; - delete (::CppSharp::CppParser::AST::Template*) __nativePtr; - } -} - -CppSharp::Parser::AST::Template::Template(CppSharp::Parser::AST::DeclarationKind kind) - : CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)nullptr) -{ - __ownsNativeInstance = true; - auto __arg0 = (::CppSharp::CppParser::AST::DeclarationKind)kind; - NativePtr = new ::CppSharp::CppParser::AST::Template(__arg0); -} - -CppSharp::Parser::AST::Template::Template() - : CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)nullptr) -{ - __ownsNativeInstance = true; - NativePtr = new ::CppSharp::CppParser::AST::Template(); -} - -CppSharp::Parser::AST::Declaration^ CppSharp::Parser::AST::Template::GetParameters(unsigned int i) -{ - auto __ret = ((::CppSharp::CppParser::AST::Template*)NativePtr)->getParameters(i); - if (__ret == nullptr) return nullptr; - return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)__ret); -} - -void CppSharp::Parser::AST::Template::AddParameters(CppSharp::Parser::AST::Declaration^ s) -{ - if (ReferenceEquals(s, nullptr)) - throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - auto __arg0 = (::CppSharp::CppParser::AST::Declaration*)s->NativePtr; - ((::CppSharp::CppParser::AST::Template*)NativePtr)->addParameters(__arg0); -} - -void CppSharp::Parser::AST::Template::ClearParameters() -{ - ((::CppSharp::CppParser::AST::Template*)NativePtr)->clearParameters(); -} - -CppSharp::Parser::AST::Template::Template(CppSharp::Parser::AST::Template^ _0) - : CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)nullptr) -{ - __ownsNativeInstance = true; - if (ReferenceEquals(_0, nullptr)) - throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::Template*)_0->NativePtr; - NativePtr = new ::CppSharp::CppParser::AST::Template(__arg0); -} - -CppSharp::Parser::AST::Template::operator CppSharp::Parser::AST::Template^(CppSharp::Parser::AST::DeclarationKind kind) -{ - auto __arg0 = (::CppSharp::CppParser::AST::DeclarationKind)kind; - auto __ret = (::CppSharp::CppParser::AST::Template) __arg0; - auto ____ret = new ::CppSharp::CppParser::AST::Template(__ret); - return (____ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Template((::CppSharp::CppParser::AST::Template*)____ret); -} - -CppSharp::Parser::AST::Declaration^ CppSharp::Parser::AST::Template::TemplatedDecl::get() -{ - return (((::CppSharp::CppParser::AST::Template*)NativePtr)->TemplatedDecl == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)((::CppSharp::CppParser::AST::Template*)NativePtr)->TemplatedDecl); -} - -void CppSharp::Parser::AST::Template::TemplatedDecl::set(CppSharp::Parser::AST::Declaration^ value) -{ - ((::CppSharp::CppParser::AST::Template*)NativePtr)->TemplatedDecl = (::CppSharp::CppParser::AST::Declaration*)value->NativePtr; -} - -System::Collections::Generic::List^ CppSharp::Parser::AST::Template::Parameters::get() -{ - auto _tmp__Parameters = gcnew System::Collections::Generic::List(); - for(auto _element : ((::CppSharp::CppParser::AST::Template*)NativePtr)->Parameters) - { - auto _marshalElement = (_element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)_element); - _tmp__Parameters->Add(_marshalElement); - } - return _tmp__Parameters; -} - -void CppSharp::Parser::AST::Template::Parameters::set(System::Collections::Generic::List^ value) -{ - auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::Declaration*>(); - for each(CppSharp::Parser::AST::Declaration^ _element in value) - { - auto _marshalElement = (::CppSharp::CppParser::AST::Declaration*)_element->NativePtr; - _tmpvalue.push_back(_marshalElement); - } - ((::CppSharp::CppParser::AST::Template*)NativePtr)->Parameters = _tmpvalue; -} - -unsigned int CppSharp::Parser::AST::Template::ParametersCount::get() -{ - auto __ret = ((::CppSharp::CppParser::AST::Template*)NativePtr)->getParametersCount(); - return __ret; -} - -CppSharp::Parser::AST::TypeAliasTemplate::TypeAliasTemplate(::CppSharp::CppParser::AST::TypeAliasTemplate* native) - : CppSharp::Parser::AST::Template((::CppSharp::CppParser::AST::Template*)native) -{ -} - -CppSharp::Parser::AST::TypeAliasTemplate^ CppSharp::Parser::AST::TypeAliasTemplate::__CreateInstance(::System::IntPtr native) -{ - return gcnew ::CppSharp::Parser::AST::TypeAliasTemplate((::CppSharp::CppParser::AST::TypeAliasTemplate*) native.ToPointer()); -} - -CppSharp::Parser::AST::TypeAliasTemplate::~TypeAliasTemplate() -{ - if (NativePtr) - { - auto __nativePtr = NativePtr; - NativePtr = 0; - delete (::CppSharp::CppParser::AST::TypeAliasTemplate*) __nativePtr; - } -} - -CppSharp::Parser::AST::TypeAliasTemplate::TypeAliasTemplate() - : CppSharp::Parser::AST::Template((::CppSharp::CppParser::AST::Template*)nullptr) -{ - __ownsNativeInstance = true; - NativePtr = new ::CppSharp::CppParser::AST::TypeAliasTemplate(); -} - -CppSharp::Parser::AST::TypeAliasTemplate::TypeAliasTemplate(CppSharp::Parser::AST::TypeAliasTemplate^ _0) - : CppSharp::Parser::AST::Template((::CppSharp::CppParser::AST::Template*)nullptr) -{ - __ownsNativeInstance = true; - if (ReferenceEquals(_0, nullptr)) - throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::TypeAliasTemplate*)_0->NativePtr; - NativePtr = new ::CppSharp::CppParser::AST::TypeAliasTemplate(__arg0); -} - -CppSharp::Parser::AST::TemplateParameter::TemplateParameter(::CppSharp::CppParser::AST::TemplateParameter* native) - : CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)native) -{ -} - -CppSharp::Parser::AST::TemplateParameter^ CppSharp::Parser::AST::TemplateParameter::__CreateInstance(::System::IntPtr native) -{ - return gcnew ::CppSharp::Parser::AST::TemplateParameter((::CppSharp::CppParser::AST::TemplateParameter*) native.ToPointer()); -} - -CppSharp::Parser::AST::TemplateParameter::~TemplateParameter() -{ - if (NativePtr) - { - auto __nativePtr = NativePtr; - NativePtr = 0; - delete (::CppSharp::CppParser::AST::TemplateParameter*) __nativePtr; - } -} - -CppSharp::Parser::AST::TemplateParameter::TemplateParameter(CppSharp::Parser::AST::DeclarationKind kind) - : CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)nullptr) -{ - __ownsNativeInstance = true; - auto __arg0 = (::CppSharp::CppParser::AST::DeclarationKind)kind; - NativePtr = new ::CppSharp::CppParser::AST::TemplateParameter(__arg0); -} - -CppSharp::Parser::AST::TemplateParameter::TemplateParameter(CppSharp::Parser::AST::TemplateParameter^ _0) - : CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)nullptr) -{ - __ownsNativeInstance = true; - if (ReferenceEquals(_0, nullptr)) - throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::TemplateParameter*)_0->NativePtr; - NativePtr = new ::CppSharp::CppParser::AST::TemplateParameter(__arg0); -} - -CppSharp::Parser::AST::TemplateParameter::operator CppSharp::Parser::AST::TemplateParameter^(CppSharp::Parser::AST::DeclarationKind kind) -{ - auto __arg0 = (::CppSharp::CppParser::AST::DeclarationKind)kind; - auto __ret = (::CppSharp::CppParser::AST::TemplateParameter) __arg0; - auto ____ret = new ::CppSharp::CppParser::AST::TemplateParameter(__ret); - return (____ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::TemplateParameter((::CppSharp::CppParser::AST::TemplateParameter*)____ret); -} - -unsigned int CppSharp::Parser::AST::TemplateParameter::Depth::get() -{ - return ((::CppSharp::CppParser::AST::TemplateParameter*)NativePtr)->depth; -} - -void CppSharp::Parser::AST::TemplateParameter::Depth::set(unsigned int value) -{ - ((::CppSharp::CppParser::AST::TemplateParameter*)NativePtr)->depth = value; -} - -unsigned int CppSharp::Parser::AST::TemplateParameter::Index::get() -{ - return ((::CppSharp::CppParser::AST::TemplateParameter*)NativePtr)->index; -} - -void CppSharp::Parser::AST::TemplateParameter::Index::set(unsigned int value) -{ - ((::CppSharp::CppParser::AST::TemplateParameter*)NativePtr)->index = value; -} - -bool CppSharp::Parser::AST::TemplateParameter::IsParameterPack::get() -{ - return ((::CppSharp::CppParser::AST::TemplateParameter*)NativePtr)->isParameterPack; -} - -void CppSharp::Parser::AST::TemplateParameter::IsParameterPack::set(bool value) -{ - ((::CppSharp::CppParser::AST::TemplateParameter*)NativePtr)->isParameterPack = value; -} - -CppSharp::Parser::AST::TemplateTemplateParameter::TemplateTemplateParameter(::CppSharp::CppParser::AST::TemplateTemplateParameter* native) - : CppSharp::Parser::AST::Template((::CppSharp::CppParser::AST::Template*)native) -{ -} - -CppSharp::Parser::AST::TemplateTemplateParameter^ CppSharp::Parser::AST::TemplateTemplateParameter::__CreateInstance(::System::IntPtr native) -{ - return gcnew ::CppSharp::Parser::AST::TemplateTemplateParameter((::CppSharp::CppParser::AST::TemplateTemplateParameter*) native.ToPointer()); -} - -CppSharp::Parser::AST::TemplateTemplateParameter::~TemplateTemplateParameter() -{ - if (NativePtr) - { - auto __nativePtr = NativePtr; - NativePtr = 0; - delete (::CppSharp::CppParser::AST::TemplateTemplateParameter*) __nativePtr; - } -} - -CppSharp::Parser::AST::TemplateTemplateParameter::TemplateTemplateParameter() - : CppSharp::Parser::AST::Template((::CppSharp::CppParser::AST::Template*)nullptr) -{ - __ownsNativeInstance = true; - NativePtr = new ::CppSharp::CppParser::AST::TemplateTemplateParameter(); -} - -CppSharp::Parser::AST::TemplateTemplateParameter::TemplateTemplateParameter(CppSharp::Parser::AST::TemplateTemplateParameter^ _0) - : CppSharp::Parser::AST::Template((::CppSharp::CppParser::AST::Template*)nullptr) -{ - __ownsNativeInstance = true; - if (ReferenceEquals(_0, nullptr)) - throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::TemplateTemplateParameter*)_0->NativePtr; - NativePtr = new ::CppSharp::CppParser::AST::TemplateTemplateParameter(__arg0); -} - -bool CppSharp::Parser::AST::TemplateTemplateParameter::IsParameterPack::get() -{ - return ((::CppSharp::CppParser::AST::TemplateTemplateParameter*)NativePtr)->isParameterPack; -} - -void CppSharp::Parser::AST::TemplateTemplateParameter::IsParameterPack::set(bool value) -{ - ((::CppSharp::CppParser::AST::TemplateTemplateParameter*)NativePtr)->isParameterPack = value; -} - -bool CppSharp::Parser::AST::TemplateTemplateParameter::IsPackExpansion::get() -{ - return ((::CppSharp::CppParser::AST::TemplateTemplateParameter*)NativePtr)->isPackExpansion; -} - -void CppSharp::Parser::AST::TemplateTemplateParameter::IsPackExpansion::set(bool value) -{ - ((::CppSharp::CppParser::AST::TemplateTemplateParameter*)NativePtr)->isPackExpansion = value; -} - -bool CppSharp::Parser::AST::TemplateTemplateParameter::IsExpandedParameterPack::get() -{ - return ((::CppSharp::CppParser::AST::TemplateTemplateParameter*)NativePtr)->isExpandedParameterPack; -} - -void CppSharp::Parser::AST::TemplateTemplateParameter::IsExpandedParameterPack::set(bool value) -{ - ((::CppSharp::CppParser::AST::TemplateTemplateParameter*)NativePtr)->isExpandedParameterPack = value; -} - -CppSharp::Parser::AST::TypeTemplateParameter::TypeTemplateParameter(::CppSharp::CppParser::AST::TypeTemplateParameter* native) - : CppSharp::Parser::AST::TemplateParameter((::CppSharp::CppParser::AST::TemplateParameter*)native) -{ -} - -CppSharp::Parser::AST::TypeTemplateParameter^ CppSharp::Parser::AST::TypeTemplateParameter::__CreateInstance(::System::IntPtr native) -{ - return gcnew ::CppSharp::Parser::AST::TypeTemplateParameter((::CppSharp::CppParser::AST::TypeTemplateParameter*) native.ToPointer()); -} - -CppSharp::Parser::AST::TypeTemplateParameter::~TypeTemplateParameter() -{ - if (NativePtr) - { - auto __nativePtr = NativePtr; - NativePtr = 0; - delete (::CppSharp::CppParser::AST::TypeTemplateParameter*) __nativePtr; - } -} - -CppSharp::Parser::AST::TypeTemplateParameter::TypeTemplateParameter() - : CppSharp::Parser::AST::TemplateParameter((::CppSharp::CppParser::AST::TemplateParameter*)nullptr) -{ - __ownsNativeInstance = true; - NativePtr = new ::CppSharp::CppParser::AST::TypeTemplateParameter(); -} - -CppSharp::Parser::AST::TypeTemplateParameter::TypeTemplateParameter(CppSharp::Parser::AST::TypeTemplateParameter^ _0) - : CppSharp::Parser::AST::TemplateParameter((::CppSharp::CppParser::AST::TemplateParameter*)nullptr) -{ - __ownsNativeInstance = true; - if (ReferenceEquals(_0, nullptr)) - throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::TypeTemplateParameter*)_0->NativePtr; - NativePtr = new ::CppSharp::CppParser::AST::TypeTemplateParameter(__arg0); -} - -CppSharp::Parser::AST::QualifiedType^ CppSharp::Parser::AST::TypeTemplateParameter::DefaultArgument::get() -{ - return (&((::CppSharp::CppParser::AST::TypeTemplateParameter*)NativePtr)->defaultArgument == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::QualifiedType((::CppSharp::CppParser::AST::QualifiedType*)&((::CppSharp::CppParser::AST::TypeTemplateParameter*)NativePtr)->defaultArgument); -} - -void CppSharp::Parser::AST::TypeTemplateParameter::DefaultArgument::set(CppSharp::Parser::AST::QualifiedType^ value) -{ - ((::CppSharp::CppParser::AST::TypeTemplateParameter*)NativePtr)->defaultArgument = *(::CppSharp::CppParser::AST::QualifiedType*)value->NativePtr; -} - -CppSharp::Parser::AST::NonTypeTemplateParameter::NonTypeTemplateParameter(::CppSharp::CppParser::AST::NonTypeTemplateParameter* native) - : CppSharp::Parser::AST::TemplateParameter((::CppSharp::CppParser::AST::TemplateParameter*)native) -{ -} - -CppSharp::Parser::AST::NonTypeTemplateParameter^ CppSharp::Parser::AST::NonTypeTemplateParameter::__CreateInstance(::System::IntPtr native) -{ - return gcnew ::CppSharp::Parser::AST::NonTypeTemplateParameter((::CppSharp::CppParser::AST::NonTypeTemplateParameter*) native.ToPointer()); -} - -CppSharp::Parser::AST::NonTypeTemplateParameter::~NonTypeTemplateParameter() -{ - if (NativePtr) - { - auto __nativePtr = NativePtr; - NativePtr = 0; - delete (::CppSharp::CppParser::AST::NonTypeTemplateParameter*) __nativePtr; - } -} - -CppSharp::Parser::AST::NonTypeTemplateParameter::NonTypeTemplateParameter() - : CppSharp::Parser::AST::TemplateParameter((::CppSharp::CppParser::AST::TemplateParameter*)nullptr) -{ - __ownsNativeInstance = true; - NativePtr = new ::CppSharp::CppParser::AST::NonTypeTemplateParameter(); -} - -CppSharp::Parser::AST::NonTypeTemplateParameter::NonTypeTemplateParameter(CppSharp::Parser::AST::NonTypeTemplateParameter^ _0) - : CppSharp::Parser::AST::TemplateParameter((::CppSharp::CppParser::AST::TemplateParameter*)nullptr) -{ - __ownsNativeInstance = true; - if (ReferenceEquals(_0, nullptr)) - throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::NonTypeTemplateParameter*)_0->NativePtr; - NativePtr = new ::CppSharp::CppParser::AST::NonTypeTemplateParameter(__arg0); -} - -CppSharp::Parser::AST::Expression^ CppSharp::Parser::AST::NonTypeTemplateParameter::DefaultArgument::get() -{ - return (((::CppSharp::CppParser::AST::NonTypeTemplateParameter*)NativePtr)->defaultArgument == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expression((::CppSharp::CppParser::AST::Expression*)((::CppSharp::CppParser::AST::NonTypeTemplateParameter*)NativePtr)->defaultArgument); -} - -void CppSharp::Parser::AST::NonTypeTemplateParameter::DefaultArgument::set(CppSharp::Parser::AST::Expression^ value) -{ - ((::CppSharp::CppParser::AST::NonTypeTemplateParameter*)NativePtr)->defaultArgument = (::CppSharp::CppParser::AST::Expression*)value->NativePtr; -} - -unsigned int CppSharp::Parser::AST::NonTypeTemplateParameter::Position::get() -{ - return ((::CppSharp::CppParser::AST::NonTypeTemplateParameter*)NativePtr)->position; -} - -void CppSharp::Parser::AST::NonTypeTemplateParameter::Position::set(unsigned int value) -{ - ((::CppSharp::CppParser::AST::NonTypeTemplateParameter*)NativePtr)->position = value; -} - -bool CppSharp::Parser::AST::NonTypeTemplateParameter::IsPackExpansion::get() -{ - return ((::CppSharp::CppParser::AST::NonTypeTemplateParameter*)NativePtr)->isPackExpansion; -} - -void CppSharp::Parser::AST::NonTypeTemplateParameter::IsPackExpansion::set(bool value) -{ - ((::CppSharp::CppParser::AST::NonTypeTemplateParameter*)NativePtr)->isPackExpansion = value; -} - -bool CppSharp::Parser::AST::NonTypeTemplateParameter::IsExpandedParameterPack::get() -{ - return ((::CppSharp::CppParser::AST::NonTypeTemplateParameter*)NativePtr)->isExpandedParameterPack; -} - -void CppSharp::Parser::AST::NonTypeTemplateParameter::IsExpandedParameterPack::set(bool value) -{ - ((::CppSharp::CppParser::AST::NonTypeTemplateParameter*)NativePtr)->isExpandedParameterPack = value; -} - -CppSharp::Parser::AST::ClassTemplate::ClassTemplate(::CppSharp::CppParser::AST::ClassTemplate* native) - : CppSharp::Parser::AST::Template((::CppSharp::CppParser::AST::Template*)native) -{ -} - -CppSharp::Parser::AST::ClassTemplate^ CppSharp::Parser::AST::ClassTemplate::__CreateInstance(::System::IntPtr native) -{ - return gcnew ::CppSharp::Parser::AST::ClassTemplate((::CppSharp::CppParser::AST::ClassTemplate*) native.ToPointer()); -} - -CppSharp::Parser::AST::ClassTemplate::~ClassTemplate() -{ - if (NativePtr) - { - auto __nativePtr = NativePtr; - NativePtr = 0; - delete (::CppSharp::CppParser::AST::ClassTemplate*) __nativePtr; - } -} - -CppSharp::Parser::AST::ClassTemplate::ClassTemplate() - : CppSharp::Parser::AST::Template((::CppSharp::CppParser::AST::Template*)nullptr) -{ - __ownsNativeInstance = true; - NativePtr = new ::CppSharp::CppParser::AST::ClassTemplate(); -} - -CppSharp::Parser::AST::ClassTemplateSpecialization^ CppSharp::Parser::AST::ClassTemplate::GetSpecializations(unsigned int i) -{ - auto __ret = ((::CppSharp::CppParser::AST::ClassTemplate*)NativePtr)->getSpecializations(i); - if (__ret == nullptr) return nullptr; - return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::ClassTemplateSpecialization((::CppSharp::CppParser::AST::ClassTemplateSpecialization*)__ret); -} - -void CppSharp::Parser::AST::ClassTemplate::AddSpecializations(CppSharp::Parser::AST::ClassTemplateSpecialization^ s) -{ - if (ReferenceEquals(s, nullptr)) - throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - auto __arg0 = (::CppSharp::CppParser::AST::ClassTemplateSpecialization*)s->NativePtr; - ((::CppSharp::CppParser::AST::ClassTemplate*)NativePtr)->addSpecializations(__arg0); -} - -void CppSharp::Parser::AST::ClassTemplate::ClearSpecializations() -{ - ((::CppSharp::CppParser::AST::ClassTemplate*)NativePtr)->clearSpecializations(); -} - -CppSharp::Parser::AST::ClassTemplateSpecialization^ CppSharp::Parser::AST::ClassTemplate::FindSpecialization(System::String^ usr) -{ - auto __arg0 = clix::marshalString(usr); - auto __ret = ((::CppSharp::CppParser::AST::ClassTemplate*)NativePtr)->FindSpecialization(__arg0); - if (__ret == nullptr) return nullptr; - return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::ClassTemplateSpecialization((::CppSharp::CppParser::AST::ClassTemplateSpecialization*)__ret); -} - -CppSharp::Parser::AST::ClassTemplatePartialSpecialization^ CppSharp::Parser::AST::ClassTemplate::FindPartialSpecialization(System::String^ usr) -{ - auto __arg0 = clix::marshalString(usr); - auto __ret = ((::CppSharp::CppParser::AST::ClassTemplate*)NativePtr)->FindPartialSpecialization(__arg0); - if (__ret == nullptr) return nullptr; - return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::ClassTemplatePartialSpecialization((::CppSharp::CppParser::AST::ClassTemplatePartialSpecialization*)__ret); -} - -CppSharp::Parser::AST::ClassTemplate::ClassTemplate(CppSharp::Parser::AST::ClassTemplate^ _0) - : CppSharp::Parser::AST::Template((::CppSharp::CppParser::AST::Template*)nullptr) -{ - __ownsNativeInstance = true; - if (ReferenceEquals(_0, nullptr)) - throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::ClassTemplate*)_0->NativePtr; - NativePtr = new ::CppSharp::CppParser::AST::ClassTemplate(__arg0); -} - -System::Collections::Generic::List^ CppSharp::Parser::AST::ClassTemplate::Specializations::get() -{ - auto _tmp__Specializations = gcnew System::Collections::Generic::List(); - for(auto _element : ((::CppSharp::CppParser::AST::ClassTemplate*)NativePtr)->Specializations) - { - auto _marshalElement = (_element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::ClassTemplateSpecialization((::CppSharp::CppParser::AST::ClassTemplateSpecialization*)_element); - _tmp__Specializations->Add(_marshalElement); - } - return _tmp__Specializations; -} - -void CppSharp::Parser::AST::ClassTemplate::Specializations::set(System::Collections::Generic::List^ value) -{ - auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::ClassTemplateSpecialization*>(); - for each(CppSharp::Parser::AST::ClassTemplateSpecialization^ _element in value) - { - auto _marshalElement = (::CppSharp::CppParser::AST::ClassTemplateSpecialization*)_element->NativePtr; - _tmpvalue.push_back(_marshalElement); - } - ((::CppSharp::CppParser::AST::ClassTemplate*)NativePtr)->Specializations = _tmpvalue; -} - -unsigned int CppSharp::Parser::AST::ClassTemplate::SpecializationsCount::get() -{ - auto __ret = ((::CppSharp::CppParser::AST::ClassTemplate*)NativePtr)->getSpecializationsCount(); - return __ret; -} - -CppSharp::Parser::AST::ClassTemplateSpecialization::ClassTemplateSpecialization(::CppSharp::CppParser::AST::ClassTemplateSpecialization* native) - : CppSharp::Parser::AST::Class((::CppSharp::CppParser::AST::Class*)native) -{ -} - -CppSharp::Parser::AST::ClassTemplateSpecialization^ CppSharp::Parser::AST::ClassTemplateSpecialization::__CreateInstance(::System::IntPtr native) -{ - return gcnew ::CppSharp::Parser::AST::ClassTemplateSpecialization((::CppSharp::CppParser::AST::ClassTemplateSpecialization*) native.ToPointer()); -} - -CppSharp::Parser::AST::ClassTemplateSpecialization::~ClassTemplateSpecialization() -{ - if (NativePtr) - { - auto __nativePtr = NativePtr; - NativePtr = 0; - delete (::CppSharp::CppParser::AST::ClassTemplateSpecialization*) __nativePtr; - } -} - -CppSharp::Parser::AST::ClassTemplateSpecialization::ClassTemplateSpecialization() - : CppSharp::Parser::AST::Class((::CppSharp::CppParser::AST::Class*)nullptr) -{ - __ownsNativeInstance = true; - NativePtr = new ::CppSharp::CppParser::AST::ClassTemplateSpecialization(); -} - -CppSharp::Parser::AST::TemplateArgument^ CppSharp::Parser::AST::ClassTemplateSpecialization::GetArguments(unsigned int i) -{ - auto __ret = ((::CppSharp::CppParser::AST::ClassTemplateSpecialization*)NativePtr)->getArguments(i); - auto ____ret = new ::CppSharp::CppParser::AST::TemplateArgument(__ret); - return (____ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::TemplateArgument((::CppSharp::CppParser::AST::TemplateArgument*)____ret); -} - -void CppSharp::Parser::AST::ClassTemplateSpecialization::AddArguments(CppSharp::Parser::AST::TemplateArgument^ s) -{ - if (ReferenceEquals(s, nullptr)) - throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::TemplateArgument*)s->NativePtr; - ((::CppSharp::CppParser::AST::ClassTemplateSpecialization*)NativePtr)->addArguments(__arg0); -} - -void CppSharp::Parser::AST::ClassTemplateSpecialization::ClearArguments() -{ - ((::CppSharp::CppParser::AST::ClassTemplateSpecialization*)NativePtr)->clearArguments(); -} - -CppSharp::Parser::AST::ClassTemplateSpecialization::ClassTemplateSpecialization(CppSharp::Parser::AST::ClassTemplateSpecialization^ _0) - : CppSharp::Parser::AST::Class((::CppSharp::CppParser::AST::Class*)nullptr) -{ - __ownsNativeInstance = true; - if (ReferenceEquals(_0, nullptr)) - throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::ClassTemplateSpecialization*)_0->NativePtr; - NativePtr = new ::CppSharp::CppParser::AST::ClassTemplateSpecialization(__arg0); -} - -CppSharp::Parser::AST::ClassTemplate^ CppSharp::Parser::AST::ClassTemplateSpecialization::TemplatedDecl::get() -{ - return (((::CppSharp::CppParser::AST::ClassTemplateSpecialization*)NativePtr)->templatedDecl == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::ClassTemplate((::CppSharp::CppParser::AST::ClassTemplate*)((::CppSharp::CppParser::AST::ClassTemplateSpecialization*)NativePtr)->templatedDecl); -} - -void CppSharp::Parser::AST::ClassTemplateSpecialization::TemplatedDecl::set(CppSharp::Parser::AST::ClassTemplate^ value) -{ - ((::CppSharp::CppParser::AST::ClassTemplateSpecialization*)NativePtr)->templatedDecl = (::CppSharp::CppParser::AST::ClassTemplate*)value->NativePtr; -} - -System::Collections::Generic::List^ CppSharp::Parser::AST::ClassTemplateSpecialization::Arguments::get() -{ - auto _tmp__Arguments = gcnew System::Collections::Generic::List(); - for(auto _element : ((::CppSharp::CppParser::AST::ClassTemplateSpecialization*)NativePtr)->Arguments) - { - auto ___element = new ::CppSharp::CppParser::AST::TemplateArgument(_element); - auto _marshalElement = (___element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::TemplateArgument((::CppSharp::CppParser::AST::TemplateArgument*)___element); - _tmp__Arguments->Add(_marshalElement); - } - return _tmp__Arguments; -} - -void CppSharp::Parser::AST::ClassTemplateSpecialization::Arguments::set(System::Collections::Generic::List^ value) -{ - auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::TemplateArgument>(); - for each(CppSharp::Parser::AST::TemplateArgument^ _element in value) - { - auto _marshalElement = *(::CppSharp::CppParser::AST::TemplateArgument*)_element->NativePtr; - _tmpvalue.push_back(_marshalElement); - } - ((::CppSharp::CppParser::AST::ClassTemplateSpecialization*)NativePtr)->Arguments = _tmpvalue; -} - -CppSharp::Parser::AST::TemplateSpecializationKind CppSharp::Parser::AST::ClassTemplateSpecialization::SpecializationKind::get() -{ - return (CppSharp::Parser::AST::TemplateSpecializationKind)((::CppSharp::CppParser::AST::ClassTemplateSpecialization*)NativePtr)->specializationKind; -} - -void CppSharp::Parser::AST::ClassTemplateSpecialization::SpecializationKind::set(CppSharp::Parser::AST::TemplateSpecializationKind value) -{ - ((::CppSharp::CppParser::AST::ClassTemplateSpecialization*)NativePtr)->specializationKind = (::CppSharp::CppParser::AST::TemplateSpecializationKind)value; -} - -unsigned int CppSharp::Parser::AST::ClassTemplateSpecialization::ArgumentsCount::get() -{ - auto __ret = ((::CppSharp::CppParser::AST::ClassTemplateSpecialization*)NativePtr)->getArgumentsCount(); - return __ret; -} - -CppSharp::Parser::AST::ClassTemplatePartialSpecialization::ClassTemplatePartialSpecialization(::CppSharp::CppParser::AST::ClassTemplatePartialSpecialization* native) - : CppSharp::Parser::AST::ClassTemplateSpecialization((::CppSharp::CppParser::AST::ClassTemplateSpecialization*)native) -{ -} - -CppSharp::Parser::AST::ClassTemplatePartialSpecialization^ CppSharp::Parser::AST::ClassTemplatePartialSpecialization::__CreateInstance(::System::IntPtr native) -{ - return gcnew ::CppSharp::Parser::AST::ClassTemplatePartialSpecialization((::CppSharp::CppParser::AST::ClassTemplatePartialSpecialization*) native.ToPointer()); -} - -CppSharp::Parser::AST::ClassTemplatePartialSpecialization::~ClassTemplatePartialSpecialization() -{ - if (NativePtr) - { - auto __nativePtr = NativePtr; - NativePtr = 0; - delete (::CppSharp::CppParser::AST::ClassTemplatePartialSpecialization*) __nativePtr; - } -} - -CppSharp::Parser::AST::ClassTemplatePartialSpecialization::ClassTemplatePartialSpecialization() - : CppSharp::Parser::AST::ClassTemplateSpecialization((::CppSharp::CppParser::AST::ClassTemplateSpecialization*)nullptr) -{ - __ownsNativeInstance = true; - NativePtr = new ::CppSharp::CppParser::AST::ClassTemplatePartialSpecialization(); -} - -CppSharp::Parser::AST::ClassTemplatePartialSpecialization::ClassTemplatePartialSpecialization(CppSharp::Parser::AST::ClassTemplatePartialSpecialization^ _0) - : CppSharp::Parser::AST::ClassTemplateSpecialization((::CppSharp::CppParser::AST::ClassTemplateSpecialization*)nullptr) -{ - __ownsNativeInstance = true; - if (ReferenceEquals(_0, nullptr)) - throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::ClassTemplatePartialSpecialization*)_0->NativePtr; - NativePtr = new ::CppSharp::CppParser::AST::ClassTemplatePartialSpecialization(__arg0); -} - -CppSharp::Parser::AST::FunctionTemplate::FunctionTemplate(::CppSharp::CppParser::AST::FunctionTemplate* native) - : CppSharp::Parser::AST::Template((::CppSharp::CppParser::AST::Template*)native) -{ -} - -CppSharp::Parser::AST::FunctionTemplate^ CppSharp::Parser::AST::FunctionTemplate::__CreateInstance(::System::IntPtr native) -{ - return gcnew ::CppSharp::Parser::AST::FunctionTemplate((::CppSharp::CppParser::AST::FunctionTemplate*) native.ToPointer()); -} - -CppSharp::Parser::AST::FunctionTemplate::~FunctionTemplate() -{ - if (NativePtr) - { - auto __nativePtr = NativePtr; - NativePtr = 0; - delete (::CppSharp::CppParser::AST::FunctionTemplate*) __nativePtr; - } -} - -CppSharp::Parser::AST::FunctionTemplate::FunctionTemplate() - : CppSharp::Parser::AST::Template((::CppSharp::CppParser::AST::Template*)nullptr) -{ - __ownsNativeInstance = true; - NativePtr = new ::CppSharp::CppParser::AST::FunctionTemplate(); -} - -CppSharp::Parser::AST::FunctionTemplateSpecialization^ CppSharp::Parser::AST::FunctionTemplate::GetSpecializations(unsigned int i) -{ - auto __ret = ((::CppSharp::CppParser::AST::FunctionTemplate*)NativePtr)->getSpecializations(i); - if (__ret == nullptr) return nullptr; - return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::FunctionTemplateSpecialization((::CppSharp::CppParser::AST::FunctionTemplateSpecialization*)__ret); -} - -void CppSharp::Parser::AST::FunctionTemplate::AddSpecializations(CppSharp::Parser::AST::FunctionTemplateSpecialization^ s) -{ - if (ReferenceEquals(s, nullptr)) - throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - auto __arg0 = (::CppSharp::CppParser::AST::FunctionTemplateSpecialization*)s->NativePtr; - ((::CppSharp::CppParser::AST::FunctionTemplate*)NativePtr)->addSpecializations(__arg0); -} - -void CppSharp::Parser::AST::FunctionTemplate::ClearSpecializations() -{ - ((::CppSharp::CppParser::AST::FunctionTemplate*)NativePtr)->clearSpecializations(); -} - -CppSharp::Parser::AST::FunctionTemplateSpecialization^ CppSharp::Parser::AST::FunctionTemplate::FindSpecialization(System::String^ usr) -{ - auto __arg0 = clix::marshalString(usr); - auto __ret = ((::CppSharp::CppParser::AST::FunctionTemplate*)NativePtr)->FindSpecialization(__arg0); - if (__ret == nullptr) return nullptr; - return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::FunctionTemplateSpecialization((::CppSharp::CppParser::AST::FunctionTemplateSpecialization*)__ret); -} - -CppSharp::Parser::AST::FunctionTemplate::FunctionTemplate(CppSharp::Parser::AST::FunctionTemplate^ _0) - : CppSharp::Parser::AST::Template((::CppSharp::CppParser::AST::Template*)nullptr) -{ - __ownsNativeInstance = true; - if (ReferenceEquals(_0, nullptr)) - throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::FunctionTemplate*)_0->NativePtr; - NativePtr = new ::CppSharp::CppParser::AST::FunctionTemplate(__arg0); -} - -System::Collections::Generic::List^ CppSharp::Parser::AST::FunctionTemplate::Specializations::get() -{ - auto _tmp__Specializations = gcnew System::Collections::Generic::List(); - for(auto _element : ((::CppSharp::CppParser::AST::FunctionTemplate*)NativePtr)->Specializations) - { - auto _marshalElement = (_element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::FunctionTemplateSpecialization((::CppSharp::CppParser::AST::FunctionTemplateSpecialization*)_element); - _tmp__Specializations->Add(_marshalElement); - } - return _tmp__Specializations; -} - -void CppSharp::Parser::AST::FunctionTemplate::Specializations::set(System::Collections::Generic::List^ value) -{ - auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::FunctionTemplateSpecialization*>(); - for each(CppSharp::Parser::AST::FunctionTemplateSpecialization^ _element in value) - { - auto _marshalElement = (::CppSharp::CppParser::AST::FunctionTemplateSpecialization*)_element->NativePtr; - _tmpvalue.push_back(_marshalElement); - } - ((::CppSharp::CppParser::AST::FunctionTemplate*)NativePtr)->Specializations = _tmpvalue; -} - -unsigned int CppSharp::Parser::AST::FunctionTemplate::SpecializationsCount::get() -{ - auto __ret = ((::CppSharp::CppParser::AST::FunctionTemplate*)NativePtr)->getSpecializationsCount(); - return __ret; -} - -CppSharp::Parser::AST::FunctionTemplateSpecialization::FunctionTemplateSpecialization(::CppSharp::CppParser::AST::FunctionTemplateSpecialization* native) - : __ownsNativeInstance(false) -{ - NativePtr = native; -} - -CppSharp::Parser::AST::FunctionTemplateSpecialization^ CppSharp::Parser::AST::FunctionTemplateSpecialization::__CreateInstance(::System::IntPtr native) -{ - return gcnew ::CppSharp::Parser::AST::FunctionTemplateSpecialization((::CppSharp::CppParser::AST::FunctionTemplateSpecialization*) native.ToPointer()); -} - -CppSharp::Parser::AST::FunctionTemplateSpecialization::~FunctionTemplateSpecialization() -{ - delete NativePtr; -} - -CppSharp::Parser::AST::FunctionTemplateSpecialization::FunctionTemplateSpecialization() -{ - __ownsNativeInstance = true; - NativePtr = new ::CppSharp::CppParser::AST::FunctionTemplateSpecialization(); -} - -CppSharp::Parser::AST::TemplateArgument^ CppSharp::Parser::AST::FunctionTemplateSpecialization::GetArguments(unsigned int i) -{ - auto __ret = ((::CppSharp::CppParser::AST::FunctionTemplateSpecialization*)NativePtr)->getArguments(i); - auto ____ret = new ::CppSharp::CppParser::AST::TemplateArgument(__ret); - return (____ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::TemplateArgument((::CppSharp::CppParser::AST::TemplateArgument*)____ret); -} - -void CppSharp::Parser::AST::FunctionTemplateSpecialization::AddArguments(CppSharp::Parser::AST::TemplateArgument^ s) -{ - if (ReferenceEquals(s, nullptr)) - throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::TemplateArgument*)s->NativePtr; - ((::CppSharp::CppParser::AST::FunctionTemplateSpecialization*)NativePtr)->addArguments(__arg0); -} - -void CppSharp::Parser::AST::FunctionTemplateSpecialization::ClearArguments() -{ - ((::CppSharp::CppParser::AST::FunctionTemplateSpecialization*)NativePtr)->clearArguments(); -} - -CppSharp::Parser::AST::FunctionTemplateSpecialization::FunctionTemplateSpecialization(CppSharp::Parser::AST::FunctionTemplateSpecialization^ _0) -{ - __ownsNativeInstance = true; - if (ReferenceEquals(_0, nullptr)) - throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::FunctionTemplateSpecialization*)_0->NativePtr; - NativePtr = new ::CppSharp::CppParser::AST::FunctionTemplateSpecialization(__arg0); -} - -System::IntPtr CppSharp::Parser::AST::FunctionTemplateSpecialization::__Instance::get() -{ - return System::IntPtr(NativePtr); -} - -void CppSharp::Parser::AST::FunctionTemplateSpecialization::__Instance::set(System::IntPtr object) -{ - NativePtr = (::CppSharp::CppParser::AST::FunctionTemplateSpecialization*)object.ToPointer(); -} - -CppSharp::Parser::AST::FunctionTemplate^ CppSharp::Parser::AST::FunctionTemplateSpecialization::Template::get() -{ - return (((::CppSharp::CppParser::AST::FunctionTemplateSpecialization*)NativePtr)->_template == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::FunctionTemplate((::CppSharp::CppParser::AST::FunctionTemplate*)((::CppSharp::CppParser::AST::FunctionTemplateSpecialization*)NativePtr)->_template); -} - -void CppSharp::Parser::AST::FunctionTemplateSpecialization::Template::set(CppSharp::Parser::AST::FunctionTemplate^ value) -{ - ((::CppSharp::CppParser::AST::FunctionTemplateSpecialization*)NativePtr)->_template = (::CppSharp::CppParser::AST::FunctionTemplate*)value->NativePtr; -} - -System::Collections::Generic::List^ CppSharp::Parser::AST::FunctionTemplateSpecialization::Arguments::get() -{ - auto _tmp__Arguments = gcnew System::Collections::Generic::List(); - for(auto _element : ((::CppSharp::CppParser::AST::FunctionTemplateSpecialization*)NativePtr)->Arguments) - { - auto ___element = new ::CppSharp::CppParser::AST::TemplateArgument(_element); - auto _marshalElement = (___element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::TemplateArgument((::CppSharp::CppParser::AST::TemplateArgument*)___element); - _tmp__Arguments->Add(_marshalElement); - } - return _tmp__Arguments; -} - -void CppSharp::Parser::AST::FunctionTemplateSpecialization::Arguments::set(System::Collections::Generic::List^ value) -{ - auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::TemplateArgument>(); - for each(CppSharp::Parser::AST::TemplateArgument^ _element in value) - { - auto _marshalElement = *(::CppSharp::CppParser::AST::TemplateArgument*)_element->NativePtr; - _tmpvalue.push_back(_marshalElement); - } - ((::CppSharp::CppParser::AST::FunctionTemplateSpecialization*)NativePtr)->Arguments = _tmpvalue; -} - -CppSharp::Parser::AST::Function^ CppSharp::Parser::AST::FunctionTemplateSpecialization::SpecializedFunction::get() -{ - return (((::CppSharp::CppParser::AST::FunctionTemplateSpecialization*)NativePtr)->specializedFunction == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Function((::CppSharp::CppParser::AST::Function*)((::CppSharp::CppParser::AST::FunctionTemplateSpecialization*)NativePtr)->specializedFunction); -} - -void CppSharp::Parser::AST::FunctionTemplateSpecialization::SpecializedFunction::set(CppSharp::Parser::AST::Function^ value) -{ - ((::CppSharp::CppParser::AST::FunctionTemplateSpecialization*)NativePtr)->specializedFunction = (::CppSharp::CppParser::AST::Function*)value->NativePtr; -} - -CppSharp::Parser::AST::TemplateSpecializationKind CppSharp::Parser::AST::FunctionTemplateSpecialization::SpecializationKind::get() -{ - return (CppSharp::Parser::AST::TemplateSpecializationKind)((::CppSharp::CppParser::AST::FunctionTemplateSpecialization*)NativePtr)->specializationKind; -} - -void CppSharp::Parser::AST::FunctionTemplateSpecialization::SpecializationKind::set(CppSharp::Parser::AST::TemplateSpecializationKind value) -{ - ((::CppSharp::CppParser::AST::FunctionTemplateSpecialization*)NativePtr)->specializationKind = (::CppSharp::CppParser::AST::TemplateSpecializationKind)value; -} - -unsigned int CppSharp::Parser::AST::FunctionTemplateSpecialization::ArgumentsCount::get() -{ - auto __ret = ((::CppSharp::CppParser::AST::FunctionTemplateSpecialization*)NativePtr)->getArgumentsCount(); - return __ret; -} - -CppSharp::Parser::AST::VarTemplate::VarTemplate(::CppSharp::CppParser::AST::VarTemplate* native) - : CppSharp::Parser::AST::Template((::CppSharp::CppParser::AST::Template*)native) -{ -} - -CppSharp::Parser::AST::VarTemplate^ CppSharp::Parser::AST::VarTemplate::__CreateInstance(::System::IntPtr native) -{ - return gcnew ::CppSharp::Parser::AST::VarTemplate((::CppSharp::CppParser::AST::VarTemplate*) native.ToPointer()); -} - -CppSharp::Parser::AST::VarTemplate::~VarTemplate() -{ - if (NativePtr) - { - auto __nativePtr = NativePtr; - NativePtr = 0; - delete (::CppSharp::CppParser::AST::VarTemplate*) __nativePtr; - } -} - -CppSharp::Parser::AST::VarTemplate::VarTemplate() - : CppSharp::Parser::AST::Template((::CppSharp::CppParser::AST::Template*)nullptr) -{ - __ownsNativeInstance = true; - NativePtr = new ::CppSharp::CppParser::AST::VarTemplate(); -} - -CppSharp::Parser::AST::VarTemplateSpecialization^ CppSharp::Parser::AST::VarTemplate::GetSpecializations(unsigned int i) -{ - auto __ret = ((::CppSharp::CppParser::AST::VarTemplate*)NativePtr)->getSpecializations(i); - if (__ret == nullptr) return nullptr; - return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::VarTemplateSpecialization((::CppSharp::CppParser::AST::VarTemplateSpecialization*)__ret); -} - -void CppSharp::Parser::AST::VarTemplate::AddSpecializations(CppSharp::Parser::AST::VarTemplateSpecialization^ s) -{ - if (ReferenceEquals(s, nullptr)) - throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - auto __arg0 = (::CppSharp::CppParser::AST::VarTemplateSpecialization*)s->NativePtr; - ((::CppSharp::CppParser::AST::VarTemplate*)NativePtr)->addSpecializations(__arg0); -} - -void CppSharp::Parser::AST::VarTemplate::ClearSpecializations() -{ - ((::CppSharp::CppParser::AST::VarTemplate*)NativePtr)->clearSpecializations(); -} - -CppSharp::Parser::AST::VarTemplateSpecialization^ CppSharp::Parser::AST::VarTemplate::FindSpecialization(System::String^ usr) -{ - auto __arg0 = clix::marshalString(usr); - auto __ret = ((::CppSharp::CppParser::AST::VarTemplate*)NativePtr)->FindSpecialization(__arg0); - if (__ret == nullptr) return nullptr; - return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::VarTemplateSpecialization((::CppSharp::CppParser::AST::VarTemplateSpecialization*)__ret); -} - -CppSharp::Parser::AST::VarTemplatePartialSpecialization^ CppSharp::Parser::AST::VarTemplate::FindPartialSpecialization(System::String^ usr) -{ - auto __arg0 = clix::marshalString(usr); - auto __ret = ((::CppSharp::CppParser::AST::VarTemplate*)NativePtr)->FindPartialSpecialization(__arg0); - if (__ret == nullptr) return nullptr; - return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::VarTemplatePartialSpecialization((::CppSharp::CppParser::AST::VarTemplatePartialSpecialization*)__ret); -} - -CppSharp::Parser::AST::VarTemplate::VarTemplate(CppSharp::Parser::AST::VarTemplate^ _0) - : CppSharp::Parser::AST::Template((::CppSharp::CppParser::AST::Template*)nullptr) -{ - __ownsNativeInstance = true; - if (ReferenceEquals(_0, nullptr)) - throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::VarTemplate*)_0->NativePtr; - NativePtr = new ::CppSharp::CppParser::AST::VarTemplate(__arg0); -} - -System::Collections::Generic::List^ CppSharp::Parser::AST::VarTemplate::Specializations::get() -{ - auto _tmp__Specializations = gcnew System::Collections::Generic::List(); - for(auto _element : ((::CppSharp::CppParser::AST::VarTemplate*)NativePtr)->Specializations) - { - auto _marshalElement = (_element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::VarTemplateSpecialization((::CppSharp::CppParser::AST::VarTemplateSpecialization*)_element); - _tmp__Specializations->Add(_marshalElement); - } - return _tmp__Specializations; -} - -void CppSharp::Parser::AST::VarTemplate::Specializations::set(System::Collections::Generic::List^ value) -{ - auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::VarTemplateSpecialization*>(); - for each(CppSharp::Parser::AST::VarTemplateSpecialization^ _element in value) - { - auto _marshalElement = (::CppSharp::CppParser::AST::VarTemplateSpecialization*)_element->NativePtr; - _tmpvalue.push_back(_marshalElement); - } - ((::CppSharp::CppParser::AST::VarTemplate*)NativePtr)->Specializations = _tmpvalue; -} - -unsigned int CppSharp::Parser::AST::VarTemplate::SpecializationsCount::get() -{ - auto __ret = ((::CppSharp::CppParser::AST::VarTemplate*)NativePtr)->getSpecializationsCount(); - return __ret; -} - -CppSharp::Parser::AST::VarTemplateSpecialization::VarTemplateSpecialization(::CppSharp::CppParser::AST::VarTemplateSpecialization* native) - : CppSharp::Parser::AST::Variable((::CppSharp::CppParser::AST::Variable*)native) -{ -} - -CppSharp::Parser::AST::VarTemplateSpecialization^ CppSharp::Parser::AST::VarTemplateSpecialization::__CreateInstance(::System::IntPtr native) -{ - return gcnew ::CppSharp::Parser::AST::VarTemplateSpecialization((::CppSharp::CppParser::AST::VarTemplateSpecialization*) native.ToPointer()); -} - -CppSharp::Parser::AST::VarTemplateSpecialization::~VarTemplateSpecialization() -{ - if (NativePtr) - { - auto __nativePtr = NativePtr; - NativePtr = 0; - delete (::CppSharp::CppParser::AST::VarTemplateSpecialization*) __nativePtr; - } -} - -CppSharp::Parser::AST::VarTemplateSpecialization::VarTemplateSpecialization() - : CppSharp::Parser::AST::Variable((::CppSharp::CppParser::AST::Variable*)nullptr) -{ - __ownsNativeInstance = true; - NativePtr = new ::CppSharp::CppParser::AST::VarTemplateSpecialization(); -} - -CppSharp::Parser::AST::TemplateArgument^ CppSharp::Parser::AST::VarTemplateSpecialization::GetArguments(unsigned int i) -{ - auto __ret = ((::CppSharp::CppParser::AST::VarTemplateSpecialization*)NativePtr)->getArguments(i); - auto ____ret = new ::CppSharp::CppParser::AST::TemplateArgument(__ret); - return (____ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::TemplateArgument((::CppSharp::CppParser::AST::TemplateArgument*)____ret); -} - -void CppSharp::Parser::AST::VarTemplateSpecialization::AddArguments(CppSharp::Parser::AST::TemplateArgument^ s) -{ - if (ReferenceEquals(s, nullptr)) - throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::TemplateArgument*)s->NativePtr; - ((::CppSharp::CppParser::AST::VarTemplateSpecialization*)NativePtr)->addArguments(__arg0); -} - -void CppSharp::Parser::AST::VarTemplateSpecialization::ClearArguments() -{ - ((::CppSharp::CppParser::AST::VarTemplateSpecialization*)NativePtr)->clearArguments(); -} - -CppSharp::Parser::AST::VarTemplateSpecialization::VarTemplateSpecialization(CppSharp::Parser::AST::VarTemplateSpecialization^ _0) - : CppSharp::Parser::AST::Variable((::CppSharp::CppParser::AST::Variable*)nullptr) -{ - __ownsNativeInstance = true; - if (ReferenceEquals(_0, nullptr)) - throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::VarTemplateSpecialization*)_0->NativePtr; - NativePtr = new ::CppSharp::CppParser::AST::VarTemplateSpecialization(__arg0); -} - -CppSharp::Parser::AST::VarTemplate^ CppSharp::Parser::AST::VarTemplateSpecialization::TemplatedDecl::get() -{ - return (((::CppSharp::CppParser::AST::VarTemplateSpecialization*)NativePtr)->templatedDecl == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::VarTemplate((::CppSharp::CppParser::AST::VarTemplate*)((::CppSharp::CppParser::AST::VarTemplateSpecialization*)NativePtr)->templatedDecl); -} - -void CppSharp::Parser::AST::VarTemplateSpecialization::TemplatedDecl::set(CppSharp::Parser::AST::VarTemplate^ value) -{ - ((::CppSharp::CppParser::AST::VarTemplateSpecialization*)NativePtr)->templatedDecl = (::CppSharp::CppParser::AST::VarTemplate*)value->NativePtr; -} - -System::Collections::Generic::List^ CppSharp::Parser::AST::VarTemplateSpecialization::Arguments::get() -{ - auto _tmp__Arguments = gcnew System::Collections::Generic::List(); - for(auto _element : ((::CppSharp::CppParser::AST::VarTemplateSpecialization*)NativePtr)->Arguments) - { - auto ___element = new ::CppSharp::CppParser::AST::TemplateArgument(_element); - auto _marshalElement = (___element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::TemplateArgument((::CppSharp::CppParser::AST::TemplateArgument*)___element); - _tmp__Arguments->Add(_marshalElement); - } - return _tmp__Arguments; -} - -void CppSharp::Parser::AST::VarTemplateSpecialization::Arguments::set(System::Collections::Generic::List^ value) -{ - auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::TemplateArgument>(); - for each(CppSharp::Parser::AST::TemplateArgument^ _element in value) - { - auto _marshalElement = *(::CppSharp::CppParser::AST::TemplateArgument*)_element->NativePtr; - _tmpvalue.push_back(_marshalElement); - } - ((::CppSharp::CppParser::AST::VarTemplateSpecialization*)NativePtr)->Arguments = _tmpvalue; -} - -CppSharp::Parser::AST::TemplateSpecializationKind CppSharp::Parser::AST::VarTemplateSpecialization::SpecializationKind::get() -{ - return (CppSharp::Parser::AST::TemplateSpecializationKind)((::CppSharp::CppParser::AST::VarTemplateSpecialization*)NativePtr)->specializationKind; -} - -void CppSharp::Parser::AST::VarTemplateSpecialization::SpecializationKind::set(CppSharp::Parser::AST::TemplateSpecializationKind value) -{ - ((::CppSharp::CppParser::AST::VarTemplateSpecialization*)NativePtr)->specializationKind = (::CppSharp::CppParser::AST::TemplateSpecializationKind)value; -} - -unsigned int CppSharp::Parser::AST::VarTemplateSpecialization::ArgumentsCount::get() -{ - auto __ret = ((::CppSharp::CppParser::AST::VarTemplateSpecialization*)NativePtr)->getArgumentsCount(); - return __ret; -} - -CppSharp::Parser::AST::VarTemplatePartialSpecialization::VarTemplatePartialSpecialization(::CppSharp::CppParser::AST::VarTemplatePartialSpecialization* native) - : CppSharp::Parser::AST::VarTemplateSpecialization((::CppSharp::CppParser::AST::VarTemplateSpecialization*)native) -{ -} - -CppSharp::Parser::AST::VarTemplatePartialSpecialization^ CppSharp::Parser::AST::VarTemplatePartialSpecialization::__CreateInstance(::System::IntPtr native) -{ - return gcnew ::CppSharp::Parser::AST::VarTemplatePartialSpecialization((::CppSharp::CppParser::AST::VarTemplatePartialSpecialization*) native.ToPointer()); -} - -CppSharp::Parser::AST::VarTemplatePartialSpecialization::~VarTemplatePartialSpecialization() -{ - if (NativePtr) - { - auto __nativePtr = NativePtr; - NativePtr = 0; - delete (::CppSharp::CppParser::AST::VarTemplatePartialSpecialization*) __nativePtr; - } -} - -CppSharp::Parser::AST::VarTemplatePartialSpecialization::VarTemplatePartialSpecialization() - : CppSharp::Parser::AST::VarTemplateSpecialization((::CppSharp::CppParser::AST::VarTemplateSpecialization*)nullptr) -{ - __ownsNativeInstance = true; - NativePtr = new ::CppSharp::CppParser::AST::VarTemplatePartialSpecialization(); -} - -CppSharp::Parser::AST::VarTemplatePartialSpecialization::VarTemplatePartialSpecialization(CppSharp::Parser::AST::VarTemplatePartialSpecialization^ _0) - : CppSharp::Parser::AST::VarTemplateSpecialization((::CppSharp::CppParser::AST::VarTemplateSpecialization*)nullptr) -{ - __ownsNativeInstance = true; - if (ReferenceEquals(_0, nullptr)) - throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::VarTemplatePartialSpecialization*)_0->NativePtr; - NativePtr = new ::CppSharp::CppParser::AST::VarTemplatePartialSpecialization(__arg0); -} - -CppSharp::Parser::AST::Namespace::Namespace(::CppSharp::CppParser::AST::Namespace* native) - : CppSharp::Parser::AST::DeclarationContext((::CppSharp::CppParser::AST::DeclarationContext*)native) -{ -} - -CppSharp::Parser::AST::Namespace^ CppSharp::Parser::AST::Namespace::__CreateInstance(::System::IntPtr native) -{ - return gcnew ::CppSharp::Parser::AST::Namespace((::CppSharp::CppParser::AST::Namespace*) native.ToPointer()); -} - -CppSharp::Parser::AST::Namespace::~Namespace() -{ - if (NativePtr) - { - auto __nativePtr = NativePtr; - NativePtr = 0; - delete (::CppSharp::CppParser::AST::Namespace*) __nativePtr; - } -} - -CppSharp::Parser::AST::Namespace::Namespace() - : CppSharp::Parser::AST::DeclarationContext((::CppSharp::CppParser::AST::DeclarationContext*)nullptr) -{ - __ownsNativeInstance = true; - NativePtr = new ::CppSharp::CppParser::AST::Namespace(); -} - -CppSharp::Parser::AST::Namespace::Namespace(CppSharp::Parser::AST::Namespace^ _0) - : CppSharp::Parser::AST::DeclarationContext((::CppSharp::CppParser::AST::DeclarationContext*)nullptr) -{ - __ownsNativeInstance = true; - if (ReferenceEquals(_0, nullptr)) - throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::Namespace*)_0->NativePtr; - NativePtr = new ::CppSharp::CppParser::AST::Namespace(__arg0); -} - -bool CppSharp::Parser::AST::Namespace::IsInline::get() -{ - return ((::CppSharp::CppParser::AST::Namespace*)NativePtr)->isInline; -} - -void CppSharp::Parser::AST::Namespace::IsInline::set(bool value) -{ - ((::CppSharp::CppParser::AST::Namespace*)NativePtr)->isInline = value; -} - -CppSharp::Parser::AST::PreprocessedEntity::PreprocessedEntity(::CppSharp::CppParser::AST::PreprocessedEntity* native) - : __ownsNativeInstance(false) -{ - NativePtr = native; -} - -CppSharp::Parser::AST::PreprocessedEntity^ CppSharp::Parser::AST::PreprocessedEntity::__CreateInstance(::System::IntPtr native) -{ - return gcnew ::CppSharp::Parser::AST::PreprocessedEntity((::CppSharp::CppParser::AST::PreprocessedEntity*) native.ToPointer()); -} - -CppSharp::Parser::AST::PreprocessedEntity::~PreprocessedEntity() -{ - delete NativePtr; -} - -CppSharp::Parser::AST::PreprocessedEntity::PreprocessedEntity() -{ - __ownsNativeInstance = true; - NativePtr = new ::CppSharp::CppParser::AST::PreprocessedEntity(); -} - -CppSharp::Parser::AST::PreprocessedEntity::PreprocessedEntity(CppSharp::Parser::AST::PreprocessedEntity^ _0) -{ - __ownsNativeInstance = true; - if (ReferenceEquals(_0, nullptr)) - throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::PreprocessedEntity*)_0->NativePtr; - NativePtr = new ::CppSharp::CppParser::AST::PreprocessedEntity(__arg0); -} - -System::IntPtr CppSharp::Parser::AST::PreprocessedEntity::__Instance::get() -{ - return System::IntPtr(NativePtr); -} - -void CppSharp::Parser::AST::PreprocessedEntity::__Instance::set(System::IntPtr object) -{ - NativePtr = (::CppSharp::CppParser::AST::PreprocessedEntity*)object.ToPointer(); -} - -CppSharp::Parser::AST::MacroLocation CppSharp::Parser::AST::PreprocessedEntity::MacroLocation::get() -{ - return (CppSharp::Parser::AST::MacroLocation)((::CppSharp::CppParser::AST::PreprocessedEntity*)NativePtr)->macroLocation; -} - -void CppSharp::Parser::AST::PreprocessedEntity::MacroLocation::set(CppSharp::Parser::AST::MacroLocation value) -{ - ((::CppSharp::CppParser::AST::PreprocessedEntity*)NativePtr)->macroLocation = (::CppSharp::CppParser::AST::MacroLocation)value; -} - -::System::IntPtr CppSharp::Parser::AST::PreprocessedEntity::OriginalPtr::get() -{ - return ::System::IntPtr(((::CppSharp::CppParser::AST::PreprocessedEntity*)NativePtr)->originalPtr); -} - -void CppSharp::Parser::AST::PreprocessedEntity::OriginalPtr::set(::System::IntPtr value) -{ - ((::CppSharp::CppParser::AST::PreprocessedEntity*)NativePtr)->originalPtr = (void*)value; -} - -CppSharp::Parser::AST::DeclarationKind CppSharp::Parser::AST::PreprocessedEntity::Kind::get() -{ - return (CppSharp::Parser::AST::DeclarationKind)((::CppSharp::CppParser::AST::PreprocessedEntity*)NativePtr)->kind; -} - -void CppSharp::Parser::AST::PreprocessedEntity::Kind::set(CppSharp::Parser::AST::DeclarationKind value) -{ - ((::CppSharp::CppParser::AST::PreprocessedEntity*)NativePtr)->kind = (::CppSharp::CppParser::AST::DeclarationKind)value; -} - -CppSharp::Parser::AST::MacroDefinition::MacroDefinition(::CppSharp::CppParser::AST::MacroDefinition* native) - : CppSharp::Parser::AST::PreprocessedEntity((::CppSharp::CppParser::AST::PreprocessedEntity*)native) -{ -} - -CppSharp::Parser::AST::MacroDefinition^ CppSharp::Parser::AST::MacroDefinition::__CreateInstance(::System::IntPtr native) -{ - return gcnew ::CppSharp::Parser::AST::MacroDefinition((::CppSharp::CppParser::AST::MacroDefinition*) native.ToPointer()); -} - -CppSharp::Parser::AST::MacroDefinition::~MacroDefinition() -{ - if (NativePtr) - { - auto __nativePtr = NativePtr; - NativePtr = 0; - delete (::CppSharp::CppParser::AST::MacroDefinition*) __nativePtr; - } -} - -CppSharp::Parser::AST::MacroDefinition::MacroDefinition() - : CppSharp::Parser::AST::PreprocessedEntity((::CppSharp::CppParser::AST::PreprocessedEntity*)nullptr) -{ - __ownsNativeInstance = true; - NativePtr = new ::CppSharp::CppParser::AST::MacroDefinition(); -} - -CppSharp::Parser::AST::MacroDefinition::MacroDefinition(CppSharp::Parser::AST::MacroDefinition^ _0) - : CppSharp::Parser::AST::PreprocessedEntity((::CppSharp::CppParser::AST::PreprocessedEntity*)nullptr) -{ - __ownsNativeInstance = true; - if (ReferenceEquals(_0, nullptr)) - throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::MacroDefinition*)_0->NativePtr; - NativePtr = new ::CppSharp::CppParser::AST::MacroDefinition(__arg0); -} - -System::String^ CppSharp::Parser::AST::MacroDefinition::Name::get() -{ - return clix::marshalString(((::CppSharp::CppParser::AST::MacroDefinition*)NativePtr)->name); -} - -void CppSharp::Parser::AST::MacroDefinition::Name::set(System::String^ value) -{ - ((::CppSharp::CppParser::AST::MacroDefinition*)NativePtr)->name = clix::marshalString(value); -} - -System::String^ CppSharp::Parser::AST::MacroDefinition::Expression::get() -{ - return clix::marshalString(((::CppSharp::CppParser::AST::MacroDefinition*)NativePtr)->expression); -} - -void CppSharp::Parser::AST::MacroDefinition::Expression::set(System::String^ value) -{ - ((::CppSharp::CppParser::AST::MacroDefinition*)NativePtr)->expression = clix::marshalString(value); -} - -int CppSharp::Parser::AST::MacroDefinition::LineNumberStart::get() -{ - return ((::CppSharp::CppParser::AST::MacroDefinition*)NativePtr)->lineNumberStart; -} - -void CppSharp::Parser::AST::MacroDefinition::LineNumberStart::set(int value) -{ - ((::CppSharp::CppParser::AST::MacroDefinition*)NativePtr)->lineNumberStart = value; -} - -int CppSharp::Parser::AST::MacroDefinition::LineNumberEnd::get() -{ - return ((::CppSharp::CppParser::AST::MacroDefinition*)NativePtr)->lineNumberEnd; -} - -void CppSharp::Parser::AST::MacroDefinition::LineNumberEnd::set(int value) -{ - ((::CppSharp::CppParser::AST::MacroDefinition*)NativePtr)->lineNumberEnd = value; -} - -CppSharp::Parser::AST::MacroExpansion::MacroExpansion(::CppSharp::CppParser::AST::MacroExpansion* native) - : CppSharp::Parser::AST::PreprocessedEntity((::CppSharp::CppParser::AST::PreprocessedEntity*)native) -{ -} - -CppSharp::Parser::AST::MacroExpansion^ CppSharp::Parser::AST::MacroExpansion::__CreateInstance(::System::IntPtr native) -{ - return gcnew ::CppSharp::Parser::AST::MacroExpansion((::CppSharp::CppParser::AST::MacroExpansion*) native.ToPointer()); -} - -CppSharp::Parser::AST::MacroExpansion::~MacroExpansion() -{ - if (NativePtr) - { - auto __nativePtr = NativePtr; - NativePtr = 0; - delete (::CppSharp::CppParser::AST::MacroExpansion*) __nativePtr; - } -} - -CppSharp::Parser::AST::MacroExpansion::MacroExpansion() - : CppSharp::Parser::AST::PreprocessedEntity((::CppSharp::CppParser::AST::PreprocessedEntity*)nullptr) -{ - __ownsNativeInstance = true; - NativePtr = new ::CppSharp::CppParser::AST::MacroExpansion(); -} - -CppSharp::Parser::AST::MacroExpansion::MacroExpansion(CppSharp::Parser::AST::MacroExpansion^ _0) - : CppSharp::Parser::AST::PreprocessedEntity((::CppSharp::CppParser::AST::PreprocessedEntity*)nullptr) -{ - __ownsNativeInstance = true; - if (ReferenceEquals(_0, nullptr)) - throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::MacroExpansion*)_0->NativePtr; - NativePtr = new ::CppSharp::CppParser::AST::MacroExpansion(__arg0); -} - -System::String^ CppSharp::Parser::AST::MacroExpansion::Name::get() -{ - return clix::marshalString(((::CppSharp::CppParser::AST::MacroExpansion*)NativePtr)->name); -} - -void CppSharp::Parser::AST::MacroExpansion::Name::set(System::String^ value) -{ - ((::CppSharp::CppParser::AST::MacroExpansion*)NativePtr)->name = clix::marshalString(value); -} - -System::String^ CppSharp::Parser::AST::MacroExpansion::Text::get() -{ - return clix::marshalString(((::CppSharp::CppParser::AST::MacroExpansion*)NativePtr)->text); -} - -void CppSharp::Parser::AST::MacroExpansion::Text::set(System::String^ value) -{ - ((::CppSharp::CppParser::AST::MacroExpansion*)NativePtr)->text = clix::marshalString(value); -} - -CppSharp::Parser::AST::MacroDefinition^ CppSharp::Parser::AST::MacroExpansion::Definition::get() -{ - return (((::CppSharp::CppParser::AST::MacroExpansion*)NativePtr)->definition == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::MacroDefinition((::CppSharp::CppParser::AST::MacroDefinition*)((::CppSharp::CppParser::AST::MacroExpansion*)NativePtr)->definition); -} - -void CppSharp::Parser::AST::MacroExpansion::Definition::set(CppSharp::Parser::AST::MacroDefinition^ value) -{ - ((::CppSharp::CppParser::AST::MacroExpansion*)NativePtr)->definition = (::CppSharp::CppParser::AST::MacroDefinition*)value->NativePtr; -} - -CppSharp::Parser::AST::TranslationUnit::TranslationUnit(::CppSharp::CppParser::AST::TranslationUnit* native) - : CppSharp::Parser::AST::Namespace((::CppSharp::CppParser::AST::Namespace*)native) -{ -} - -CppSharp::Parser::AST::TranslationUnit^ CppSharp::Parser::AST::TranslationUnit::__CreateInstance(::System::IntPtr native) -{ - return gcnew ::CppSharp::Parser::AST::TranslationUnit((::CppSharp::CppParser::AST::TranslationUnit*) native.ToPointer()); -} - -CppSharp::Parser::AST::TranslationUnit::~TranslationUnit() -{ - if (NativePtr) - { - auto __nativePtr = NativePtr; - NativePtr = 0; - delete (::CppSharp::CppParser::AST::TranslationUnit*) __nativePtr; - } -} - -CppSharp::Parser::AST::TranslationUnit::TranslationUnit() - : CppSharp::Parser::AST::Namespace((::CppSharp::CppParser::AST::Namespace*)nullptr) -{ - __ownsNativeInstance = true; - NativePtr = new ::CppSharp::CppParser::AST::TranslationUnit(); -} - -CppSharp::Parser::AST::MacroDefinition^ CppSharp::Parser::AST::TranslationUnit::GetMacros(unsigned int i) -{ - auto __ret = ((::CppSharp::CppParser::AST::TranslationUnit*)NativePtr)->getMacros(i); - if (__ret == nullptr) return nullptr; - return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::MacroDefinition((::CppSharp::CppParser::AST::MacroDefinition*)__ret); -} - -void CppSharp::Parser::AST::TranslationUnit::AddMacros(CppSharp::Parser::AST::MacroDefinition^ s) -{ - if (ReferenceEquals(s, nullptr)) - throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - auto __arg0 = (::CppSharp::CppParser::AST::MacroDefinition*)s->NativePtr; - ((::CppSharp::CppParser::AST::TranslationUnit*)NativePtr)->addMacros(__arg0); -} - -void CppSharp::Parser::AST::TranslationUnit::ClearMacros() -{ - ((::CppSharp::CppParser::AST::TranslationUnit*)NativePtr)->clearMacros(); -} - -CppSharp::Parser::AST::TranslationUnit::TranslationUnit(CppSharp::Parser::AST::TranslationUnit^ _0) - : CppSharp::Parser::AST::Namespace((::CppSharp::CppParser::AST::Namespace*)nullptr) -{ - __ownsNativeInstance = true; - if (ReferenceEquals(_0, nullptr)) - throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::TranslationUnit*)_0->NativePtr; - NativePtr = new ::CppSharp::CppParser::AST::TranslationUnit(__arg0); -} - -System::String^ CppSharp::Parser::AST::TranslationUnit::FileName::get() -{ - return clix::marshalString(((::CppSharp::CppParser::AST::TranslationUnit*)NativePtr)->fileName); -} - -void CppSharp::Parser::AST::TranslationUnit::FileName::set(System::String^ value) -{ - ((::CppSharp::CppParser::AST::TranslationUnit*)NativePtr)->fileName = clix::marshalString(value); -} - -bool CppSharp::Parser::AST::TranslationUnit::IsSystemHeader::get() -{ - return ((::CppSharp::CppParser::AST::TranslationUnit*)NativePtr)->isSystemHeader; -} - -void CppSharp::Parser::AST::TranslationUnit::IsSystemHeader::set(bool value) -{ - ((::CppSharp::CppParser::AST::TranslationUnit*)NativePtr)->isSystemHeader = value; -} - -System::Collections::Generic::List^ CppSharp::Parser::AST::TranslationUnit::Macros::get() -{ - auto _tmp__Macros = gcnew System::Collections::Generic::List(); - for(auto _element : ((::CppSharp::CppParser::AST::TranslationUnit*)NativePtr)->Macros) - { - auto _marshalElement = (_element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::MacroDefinition((::CppSharp::CppParser::AST::MacroDefinition*)_element); - _tmp__Macros->Add(_marshalElement); - } - return _tmp__Macros; -} - -void CppSharp::Parser::AST::TranslationUnit::Macros::set(System::Collections::Generic::List^ value) -{ - auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::MacroDefinition*>(); - for each(CppSharp::Parser::AST::MacroDefinition^ _element in value) - { - auto _marshalElement = (::CppSharp::CppParser::AST::MacroDefinition*)_element->NativePtr; - _tmpvalue.push_back(_marshalElement); - } - ((::CppSharp::CppParser::AST::TranslationUnit*)NativePtr)->Macros = _tmpvalue; -} - -unsigned int CppSharp::Parser::AST::TranslationUnit::MacrosCount::get() -{ - auto __ret = ((::CppSharp::CppParser::AST::TranslationUnit*)NativePtr)->getMacrosCount(); - return __ret; -} - CppSharp::Parser::AST::NativeLibrary::NativeLibrary(::CppSharp::CppParser::AST::NativeLibrary* native) : __ownsNativeInstance(false) { @@ -6326,103 +164,6 @@ unsigned int CppSharp::Parser::AST::NativeLibrary::DependenciesCount::get() return __ret; } -CppSharp::Parser::AST::ASTContext::ASTContext(::CppSharp::CppParser::AST::ASTContext* native) - : __ownsNativeInstance(false) -{ - NativePtr = native; -} - -CppSharp::Parser::AST::ASTContext^ CppSharp::Parser::AST::ASTContext::__CreateInstance(::System::IntPtr native) -{ - return gcnew ::CppSharp::Parser::AST::ASTContext((::CppSharp::CppParser::AST::ASTContext*) native.ToPointer()); -} - -CppSharp::Parser::AST::ASTContext::~ASTContext() -{ - delete NativePtr; -} - -CppSharp::Parser::AST::ASTContext::ASTContext() -{ - __ownsNativeInstance = true; - NativePtr = new ::CppSharp::CppParser::AST::ASTContext(); -} - -CppSharp::Parser::AST::TranslationUnit^ CppSharp::Parser::AST::ASTContext::FindOrCreateModule(System::String^ File) -{ - auto __arg0 = clix::marshalString(File); - auto __ret = ((::CppSharp::CppParser::AST::ASTContext*)NativePtr)->FindOrCreateModule(__arg0); - if (__ret == nullptr) return nullptr; - return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::TranslationUnit((::CppSharp::CppParser::AST::TranslationUnit*)__ret); -} - -CppSharp::Parser::AST::TranslationUnit^ CppSharp::Parser::AST::ASTContext::GetTranslationUnits(unsigned int i) -{ - auto __ret = ((::CppSharp::CppParser::AST::ASTContext*)NativePtr)->getTranslationUnits(i); - if (__ret == nullptr) return nullptr; - return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::TranslationUnit((::CppSharp::CppParser::AST::TranslationUnit*)__ret); -} - -void CppSharp::Parser::AST::ASTContext::AddTranslationUnits(CppSharp::Parser::AST::TranslationUnit^ s) -{ - if (ReferenceEquals(s, nullptr)) - throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - auto __arg0 = (::CppSharp::CppParser::AST::TranslationUnit*)s->NativePtr; - ((::CppSharp::CppParser::AST::ASTContext*)NativePtr)->addTranslationUnits(__arg0); -} - -void CppSharp::Parser::AST::ASTContext::ClearTranslationUnits() -{ - ((::CppSharp::CppParser::AST::ASTContext*)NativePtr)->clearTranslationUnits(); -} - -CppSharp::Parser::AST::ASTContext::ASTContext(CppSharp::Parser::AST::ASTContext^ _0) -{ - __ownsNativeInstance = true; - if (ReferenceEquals(_0, nullptr)) - throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - auto &__arg0 = *(::CppSharp::CppParser::AST::ASTContext*)_0->NativePtr; - NativePtr = new ::CppSharp::CppParser::AST::ASTContext(__arg0); -} - -System::IntPtr CppSharp::Parser::AST::ASTContext::__Instance::get() -{ - return System::IntPtr(NativePtr); -} - -void CppSharp::Parser::AST::ASTContext::__Instance::set(System::IntPtr object) -{ - NativePtr = (::CppSharp::CppParser::AST::ASTContext*)object.ToPointer(); -} - -System::Collections::Generic::List^ CppSharp::Parser::AST::ASTContext::TranslationUnits::get() -{ - auto _tmp__TranslationUnits = gcnew System::Collections::Generic::List(); - for(auto _element : ((::CppSharp::CppParser::AST::ASTContext*)NativePtr)->TranslationUnits) - { - auto _marshalElement = (_element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::TranslationUnit((::CppSharp::CppParser::AST::TranslationUnit*)_element); - _tmp__TranslationUnits->Add(_marshalElement); - } - return _tmp__TranslationUnits; -} - -void CppSharp::Parser::AST::ASTContext::TranslationUnits::set(System::Collections::Generic::List^ value) -{ - auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::TranslationUnit*>(); - for each(CppSharp::Parser::AST::TranslationUnit^ _element in value) - { - auto _marshalElement = (::CppSharp::CppParser::AST::TranslationUnit*)_element->NativePtr; - _tmpvalue.push_back(_marshalElement); - } - ((::CppSharp::CppParser::AST::ASTContext*)NativePtr)->TranslationUnits = _tmpvalue; -} - -unsigned int CppSharp::Parser::AST::ASTContext::TranslationUnitsCount::get() -{ - auto __ret = ((::CppSharp::CppParser::AST::ASTContext*)NativePtr)->getTranslationUnitsCount(); - return __ret; -} - CppSharp::Parser::AST::Comment::Comment(::CppSharp::CppParser::AST::Comment* native) : __ownsNativeInstance(false) { diff --git a/src/CppParser/Bindings/CLI/AST.h b/src/CppParser/Bindings/CLI/AST.h index 988d5956..083295ab 100644 --- a/src/CppParser/Bindings/CLI/AST.h +++ b/src/CppParser/Bindings/CLI/AST.h @@ -8,7 +8,6 @@ #include "CppSharp.h" #include -#include "Sources.h" namespace CppSharp { @@ -16,107 +15,24 @@ namespace CppSharp { namespace AST { - enum struct AccessSpecifier; enum struct ArchType; - enum struct CXXMethodKind; - enum struct CXXOperatorKind; - enum struct CallingConvention; enum struct CommentKind; - enum struct CppAbi; - enum struct DeclarationKind; - enum struct ExceptionSpecType; - enum struct FriendKind; - enum struct MacroLocation; - enum struct PrimitiveType; enum struct RawCommentKind; - enum struct RefQualifierKind; - enum struct StatementClass; - enum struct TemplateSpecializationKind; - enum struct TypeKind; - enum struct VTableComponentKind; - ref class ASTContext; - ref class AccessSpecifierDecl; - ref class ArrayType; - ref class AttributedType; - ref class BaseClassSpecifier; - ref class BinaryOperator; ref class BlockCommandComment; ref class BlockContentComment; - ref class BuiltinType; - ref class CXXConstructExpr; - ref class CallExpr; - ref class Class; - ref class ClassLayout; - ref class ClassTemplate; - ref class ClassTemplatePartialSpecialization; - ref class ClassTemplateSpecialization; ref class Comment; - ref class DecayedType; - ref class Declaration; - ref class DeclarationContext; - ref class DependentNameType; - ref class DependentTemplateSpecializationType; - ref class Enumeration; - ref class Expression; - ref class Field; - ref class Friend; ref class FullComment; - ref class Function; - ref class FunctionTemplate; - ref class FunctionTemplateSpecialization; - ref class FunctionType; ref class HTMLEndTagComment; ref class HTMLStartTagComment; ref class HTMLTagComment; - ref class InjectedClassNameType; ref class InlineCommandComment; ref class InlineContentComment; - ref class LayoutBase; - ref class LayoutField; - ref class MacroDefinition; - ref class MacroExpansion; - ref class MemberPointerType; - ref class Method; - ref class Namespace; ref class NativeLibrary; - ref class NonTypeTemplateParameter; - ref class PackExpansionType; ref class ParagraphComment; ref class ParamCommandComment; - ref class Parameter; - ref class PointerType; - ref class PreprocessedEntity; - ref class QualifiedType; ref class RawComment; - ref class Statement; ref class TParamCommandComment; - ref class TagType; - ref class Template; - ref class TemplateArgument; - ref class TemplateParameter; - ref class TemplateParameterSubstitutionType; - ref class TemplateParameterType; - ref class TemplateSpecializationType; - ref class TemplateTemplateParameter; ref class TextComment; - ref class TranslationUnit; - ref class Type; - ref class TypeAlias; - ref class TypeAliasTemplate; - ref class TypeQualifiers; - ref class TypeTemplateParameter; - ref class TypedefDecl; - ref class TypedefNameDecl; - ref class TypedefType; - ref class UnaryTransformType; - ref class VFTableInfo; - ref class VTableComponent; - ref class VTableLayout; - ref class VarTemplate; - ref class VarTemplatePartialSpecialization; - ref class VarTemplateSpecialization; - ref class Variable; - ref class VectorType; ref class VerbatimBlockComment; ref class VerbatimBlockLineComment; ref class VerbatimLineComment; @@ -130,79 +46,6 @@ namespace CppSharp { namespace AST { - public enum struct TypeKind - { - Tag = 0, - Array = 1, - Function = 2, - Pointer = 3, - MemberPointer = 4, - Typedef = 5, - Attributed = 6, - Decayed = 7, - TemplateSpecialization = 8, - DependentTemplateSpecialization = 9, - TemplateParameter = 10, - TemplateParameterSubstitution = 11, - InjectedClassName = 12, - DependentName = 13, - PackExpansion = 14, - Builtin = 15, - UnaryTransform = 16, - Vector = 17 - }; - - public enum struct DeclarationKind - { - DeclarationContext = 0, - Typedef = 1, - TypeAlias = 2, - Parameter = 3, - Function = 4, - Method = 5, - Enumeration = 6, - EnumerationItem = 7, - Variable = 8, - Field = 9, - AccessSpecifier = 10, - Class = 11, - Template = 12, - TypeAliasTemplate = 13, - ClassTemplate = 14, - ClassTemplateSpecialization = 15, - ClassTemplatePartialSpecialization = 16, - FunctionTemplate = 17, - Namespace = 18, - PreprocessedEntity = 19, - MacroDefinition = 20, - MacroExpansion = 21, - TranslationUnit = 22, - Friend = 23, - TemplateTemplateParm = 24, - TemplateTypeParm = 25, - NonTypeTemplateParm = 26, - VarTemplate = 27, - VarTemplateSpecialization = 28, - VarTemplatePartialSpecialization = 29 - }; - - public enum struct AccessSpecifier - { - Private = 0, - Protected = 1, - Public = 2 - }; - - public enum struct MacroLocation - { - Unknown = 0, - ClassHead = 1, - ClassBody = 2, - FunctionHead = 3, - FunctionParameters = 4, - FunctionBody = 5 - }; - public enum struct RawCommentKind { Invalid = 0, @@ -234,176 +77,6 @@ namespace CppSharp VerbatimBlockLineComment = 14 }; - public enum struct FriendKind - { - None = 0, - Declared = 1, - Undeclared = 2 - }; - - public enum struct CXXOperatorKind - { - None = 0, - New = 1, - Delete = 2, - ArrayNew = 3, - ArrayDelete = 4, - Plus = 5, - Minus = 6, - Star = 7, - Slash = 8, - Percent = 9, - Caret = 10, - Amp = 11, - Pipe = 12, - Tilde = 13, - Exclaim = 14, - Equal = 15, - Less = 16, - Greater = 17, - PlusEqual = 18, - MinusEqual = 19, - StarEqual = 20, - SlashEqual = 21, - PercentEqual = 22, - CaretEqual = 23, - AmpEqual = 24, - PipeEqual = 25, - LessLess = 26, - GreaterGreater = 27, - LessLessEqual = 28, - GreaterGreaterEqual = 29, - EqualEqual = 30, - ExclaimEqual = 31, - LessEqual = 32, - GreaterEqual = 33, - Spaceship = 34, - AmpAmp = 35, - PipePipe = 36, - PlusPlus = 37, - MinusMinus = 38, - Comma = 39, - ArrowStar = 40, - Arrow = 41, - Call = 42, - Subscript = 43, - Conditional = 44, - Coawait = 45 - }; - - public enum struct CallingConvention - { - Default = 0, - C = 1, - StdCall = 2, - ThisCall = 3, - FastCall = 4, - Unknown = 5 - }; - - public enum struct StatementClass - { - Any = 0, - BinaryOperator = 1, - CallExprClass = 2, - DeclRefExprClass = 3, - CXXConstructExprClass = 4, - CXXOperatorCallExpr = 5, - ImplicitCastExpr = 6, - ExplicitCastExpr = 7 - }; - - public enum struct TemplateSpecializationKind - { - Undeclared = 0, - ImplicitInstantiation = 1, - ExplicitSpecialization = 2, - ExplicitInstantiationDeclaration = 3, - ExplicitInstantiationDefinition = 4 - }; - - public enum struct CXXMethodKind - { - Normal = 0, - Constructor = 1, - Destructor = 2, - Conversion = 3, - Operator = 4, - UsingDirective = 5 - }; - - public enum struct RefQualifierKind - { - None = 0, - LValue = 1, - RValue = 2 - }; - - public enum struct CppAbi - { - Itanium = 0, - Microsoft = 1, - ARM = 2, - iOS = 3, - iOS64 = 4 - }; - - 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, - Char = 4, - SChar = 5, - UChar = 6, - Char16 = 7, - Char32 = 8, - Short = 9, - UShort = 10, - Int = 11, - UInt = 12, - Long = 13, - ULong = 14, - LongLong = 15, - ULongLong = 16, - Int128 = 17, - UInt128 = 18, - Half = 19, - Float = 20, - Double = 21, - LongDouble = 22, - Float128 = 23, - IntPtr = 24 - }; - - public enum struct ExceptionSpecType - { - None = 0, - DynamicNone = 1, - Dynamic = 2, - MSAny = 3, - BasicNoexcept = 4, - DependentNoexcept = 5, - NoexceptFalse = 6, - NoexceptTrue = 7, - Unevaluated = 8, - Uninstantiated = 9, - Unparsed = 10 - }; - public enum struct ArchType { UnknownArch = 0, @@ -411,2869 +84,68 @@ namespace CppSharp X86_64 = 2 }; - public ref class Type : ICppInstance - { - public: - - property ::CppSharp::CppParser::AST::Type* NativePtr; - property System::IntPtr __Instance - { - virtual System::IntPtr get(); - virtual void set(System::IntPtr instance); - } - - Type(::CppSharp::CppParser::AST::Type* native); - static Type^ __CreateInstance(::System::IntPtr native); - Type(CppSharp::Parser::AST::TypeKind kind); - - Type(CppSharp::Parser::AST::Type^ _0); - - ~Type(); - - property CppSharp::Parser::AST::TypeKind Kind - { - CppSharp::Parser::AST::TypeKind get(); - void set(CppSharp::Parser::AST::TypeKind); - } - - property bool IsDependent - { - bool get(); - void set(bool); - } - - static operator CppSharp::Parser::AST::Type^(CppSharp::Parser::AST::TypeKind kind); - - protected: - bool __ownsNativeInstance; - }; - - public ref class TypeQualifiers : ICppInstance - { - public: - - property ::CppSharp::CppParser::AST::TypeQualifiers* NativePtr; - property System::IntPtr __Instance - { - virtual System::IntPtr get(); - virtual void set(System::IntPtr instance); - } - - TypeQualifiers(::CppSharp::CppParser::AST::TypeQualifiers* native); - static TypeQualifiers^ __CreateInstance(::System::IntPtr native); - TypeQualifiers(CppSharp::Parser::AST::TypeQualifiers^ _0); - - TypeQualifiers(); - - ~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); - } - - protected: - bool __ownsNativeInstance; - }; - - public ref class QualifiedType : ICppInstance + public ref class NativeLibrary : ICppInstance { public: - property ::CppSharp::CppParser::AST::QualifiedType* NativePtr; + property ::CppSharp::CppParser::AST::NativeLibrary* NativePtr; property System::IntPtr __Instance { virtual System::IntPtr get(); virtual void set(System::IntPtr instance); } - QualifiedType(::CppSharp::CppParser::AST::QualifiedType* native); - static QualifiedType^ __CreateInstance(::System::IntPtr native); - QualifiedType(); - - QualifiedType(CppSharp::Parser::AST::QualifiedType^ _0); - - ~QualifiedType(); - - property CppSharp::Parser::AST::Type^ Type - { - CppSharp::Parser::AST::Type^ get(); - void set(CppSharp::Parser::AST::Type^); - } - - property CppSharp::Parser::AST::TypeQualifiers^ Qualifiers - { - CppSharp::Parser::AST::TypeQualifiers^ get(); - void set(CppSharp::Parser::AST::TypeQualifiers^); - } - - protected: - bool __ownsNativeInstance; - }; - - public ref class TagType : CppSharp::Parser::AST::Type - { - public: - - TagType(::CppSharp::CppParser::AST::TagType* native); - static TagType^ __CreateInstance(::System::IntPtr native); - TagType(); - - TagType(CppSharp::Parser::AST::TagType^ _0); - - ~TagType(); - - property CppSharp::Parser::AST::Declaration^ Declaration - { - CppSharp::Parser::AST::Declaration^ get(); - void set(CppSharp::Parser::AST::Declaration^); - } - }; - - public ref class ArrayType : CppSharp::Parser::AST::Type - { - public: - - enum struct ArraySize - { - Constant = 0, - Variable = 1, - Dependent = 2, - Incomplete = 3 - }; - - ArrayType(::CppSharp::CppParser::AST::ArrayType* native); - static ArrayType^ __CreateInstance(::System::IntPtr native); - ArrayType(); - - ArrayType(CppSharp::Parser::AST::ArrayType^ _0); - - ~ArrayType(); - - property CppSharp::Parser::AST::QualifiedType^ QualifiedType - { - CppSharp::Parser::AST::QualifiedType^ get(); - void set(CppSharp::Parser::AST::QualifiedType^); - } - - property CppSharp::Parser::AST::ArrayType::ArraySize SizeType - { - CppSharp::Parser::AST::ArrayType::ArraySize get(); - void set(CppSharp::Parser::AST::ArrayType::ArraySize); - } - - property long Size - { - long get(); - void set(long); - } - - property long ElementSize - { - long get(); - void set(long); - } - }; - - public ref class FunctionType : CppSharp::Parser::AST::Type - { - public: - - FunctionType(::CppSharp::CppParser::AST::FunctionType* native); - static FunctionType^ __CreateInstance(::System::IntPtr native); - FunctionType(); + NativeLibrary(::CppSharp::CppParser::AST::NativeLibrary* native); + static NativeLibrary^ __CreateInstance(::System::IntPtr native); + NativeLibrary(); - FunctionType(CppSharp::Parser::AST::FunctionType^ _0); + NativeLibrary(CppSharp::Parser::AST::NativeLibrary^ _0); - ~FunctionType(); + ~NativeLibrary(); - property CppSharp::Parser::AST::QualifiedType^ ReturnType + property System::String^ FileName { - CppSharp::Parser::AST::QualifiedType^ get(); - void set(CppSharp::Parser::AST::QualifiedType^); + System::String^ get(); + void set(System::String^); } - property CppSharp::Parser::AST::CallingConvention CallingConvention + property CppSharp::Parser::AST::ArchType ArchType { - CppSharp::Parser::AST::CallingConvention get(); - void set(CppSharp::Parser::AST::CallingConvention); + CppSharp::Parser::AST::ArchType get(); + void set(CppSharp::Parser::AST::ArchType); } - property CppSharp::Parser::AST::ExceptionSpecType ExceptionSpecType + property System::Collections::Generic::List^ Symbols { - CppSharp::Parser::AST::ExceptionSpecType get(); - void set(CppSharp::Parser::AST::ExceptionSpecType); + System::Collections::Generic::List^ get(); + void set(System::Collections::Generic::List^); } - property System::Collections::Generic::List^ Parameters + property System::Collections::Generic::List^ Dependencies { - System::Collections::Generic::List^ get(); - void set(System::Collections::Generic::List^); + System::Collections::Generic::List^ get(); + void set(System::Collections::Generic::List^); } - property unsigned int ParametersCount + property unsigned int SymbolsCount { unsigned int get(); } - CppSharp::Parser::AST::Parameter^ GetParameters(unsigned int i); - - void AddParameters(CppSharp::Parser::AST::Parameter^ s); - - void ClearParameters(); - }; - - public ref class PointerType : CppSharp::Parser::AST::Type - { - public: - - enum struct TypeModifier - { - Value = 0, - Pointer = 1, - LVReference = 2, - RVReference = 3 - }; - - PointerType(::CppSharp::CppParser::AST::PointerType* native); - static PointerType^ __CreateInstance(::System::IntPtr native); - PointerType(); - - PointerType(CppSharp::Parser::AST::PointerType^ _0); - - ~PointerType(); - - property CppSharp::Parser::AST::QualifiedType^ QualifiedPointee - { - CppSharp::Parser::AST::QualifiedType^ get(); - void set(CppSharp::Parser::AST::QualifiedType^); - } - - property CppSharp::Parser::AST::PointerType::TypeModifier Modifier - { - CppSharp::Parser::AST::PointerType::TypeModifier get(); - void set(CppSharp::Parser::AST::PointerType::TypeModifier); - } - }; - - public ref class MemberPointerType : CppSharp::Parser::AST::Type - { - public: - - MemberPointerType(::CppSharp::CppParser::AST::MemberPointerType* native); - static MemberPointerType^ __CreateInstance(::System::IntPtr native); - MemberPointerType(); - - MemberPointerType(CppSharp::Parser::AST::MemberPointerType^ _0); - - ~MemberPointerType(); - - property CppSharp::Parser::AST::QualifiedType^ Pointee - { - CppSharp::Parser::AST::QualifiedType^ get(); - void set(CppSharp::Parser::AST::QualifiedType^); - } - }; - - public ref class TypedefType : CppSharp::Parser::AST::Type - { - public: - - TypedefType(::CppSharp::CppParser::AST::TypedefType* native); - static TypedefType^ __CreateInstance(::System::IntPtr native); - TypedefType(); - - TypedefType(CppSharp::Parser::AST::TypedefType^ _0); - - ~TypedefType(); - - property CppSharp::Parser::AST::TypedefNameDecl^ Declaration - { - CppSharp::Parser::AST::TypedefNameDecl^ get(); - void set(CppSharp::Parser::AST::TypedefNameDecl^); - } - }; - - public ref class AttributedType : CppSharp::Parser::AST::Type - { - public: - - AttributedType(::CppSharp::CppParser::AST::AttributedType* native); - static AttributedType^ __CreateInstance(::System::IntPtr native); - AttributedType(); - - AttributedType(CppSharp::Parser::AST::AttributedType^ _0); - - ~AttributedType(); - - property CppSharp::Parser::AST::QualifiedType^ Modified - { - CppSharp::Parser::AST::QualifiedType^ get(); - void set(CppSharp::Parser::AST::QualifiedType^); - } - - property CppSharp::Parser::AST::QualifiedType^ Equivalent - { - CppSharp::Parser::AST::QualifiedType^ get(); - void set(CppSharp::Parser::AST::QualifiedType^); - } - }; - - public ref class DecayedType : CppSharp::Parser::AST::Type - { - public: - - DecayedType(::CppSharp::CppParser::AST::DecayedType* native); - static DecayedType^ __CreateInstance(::System::IntPtr native); - DecayedType(); - - DecayedType(CppSharp::Parser::AST::DecayedType^ _0); - - ~DecayedType(); - - property CppSharp::Parser::AST::QualifiedType^ Decayed - { - CppSharp::Parser::AST::QualifiedType^ get(); - void set(CppSharp::Parser::AST::QualifiedType^); - } - - property CppSharp::Parser::AST::QualifiedType^ Original - { - CppSharp::Parser::AST::QualifiedType^ get(); - void set(CppSharp::Parser::AST::QualifiedType^); - } - - property CppSharp::Parser::AST::QualifiedType^ Pointee + property unsigned int DependenciesCount { - CppSharp::Parser::AST::QualifiedType^ get(); - void set(CppSharp::Parser::AST::QualifiedType^); + unsigned int get(); } - }; - - 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::AST::TemplateArgument* NativePtr; - property System::IntPtr __Instance - { - virtual System::IntPtr get(); - virtual void set(System::IntPtr instance); - } + System::String^ GetSymbols(unsigned int i); - TemplateArgument(::CppSharp::CppParser::AST::TemplateArgument* native); - static TemplateArgument^ __CreateInstance(::System::IntPtr native); - TemplateArgument(); + void AddSymbols(System::String^ s); - TemplateArgument(CppSharp::Parser::AST::TemplateArgument^ _0); + void ClearSymbols(); - ~TemplateArgument(); + System::String^ GetDependencies(unsigned int i); - property CppSharp::Parser::AST::TemplateArgument::ArgumentKind Kind - { - CppSharp::Parser::AST::TemplateArgument::ArgumentKind get(); - void set(CppSharp::Parser::AST::TemplateArgument::ArgumentKind); - } - - property CppSharp::Parser::AST::QualifiedType^ Type - { - CppSharp::Parser::AST::QualifiedType^ get(); - void set(CppSharp::Parser::AST::QualifiedType^); - } - - property CppSharp::Parser::AST::Declaration^ Declaration - { - CppSharp::Parser::AST::Declaration^ get(); - void set(CppSharp::Parser::AST::Declaration^); - } - - property long Integral - { - long get(); - void set(long); - } - - protected: - bool __ownsNativeInstance; - }; - - public ref class TemplateSpecializationType : CppSharp::Parser::AST::Type - { - public: - - TemplateSpecializationType(::CppSharp::CppParser::AST::TemplateSpecializationType* native); - static TemplateSpecializationType^ __CreateInstance(::System::IntPtr native); - TemplateSpecializationType(); - - TemplateSpecializationType(CppSharp::Parser::AST::TemplateSpecializationType^ _0); - - ~TemplateSpecializationType(); - - property System::Collections::Generic::List^ Arguments - { - System::Collections::Generic::List^ get(); - void set(System::Collections::Generic::List^); - } - - property CppSharp::Parser::AST::Template^ Template - { - CppSharp::Parser::AST::Template^ get(); - void set(CppSharp::Parser::AST::Template^); - } - - property CppSharp::Parser::AST::QualifiedType^ Desugared - { - CppSharp::Parser::AST::QualifiedType^ get(); - void set(CppSharp::Parser::AST::QualifiedType^); - } - - property unsigned int ArgumentsCount - { - unsigned int get(); - } - - CppSharp::Parser::AST::TemplateArgument^ GetArguments(unsigned int i); - - void AddArguments(CppSharp::Parser::AST::TemplateArgument^ s); - - void ClearArguments(); - }; - - public ref class DependentTemplateSpecializationType : CppSharp::Parser::AST::Type - { - public: - - DependentTemplateSpecializationType(::CppSharp::CppParser::AST::DependentTemplateSpecializationType* native); - static DependentTemplateSpecializationType^ __CreateInstance(::System::IntPtr native); - DependentTemplateSpecializationType(); - - DependentTemplateSpecializationType(CppSharp::Parser::AST::DependentTemplateSpecializationType^ _0); - - ~DependentTemplateSpecializationType(); - - property System::Collections::Generic::List^ Arguments - { - System::Collections::Generic::List^ get(); - void set(System::Collections::Generic::List^); - } - - property CppSharp::Parser::AST::QualifiedType^ Desugared - { - CppSharp::Parser::AST::QualifiedType^ get(); - void set(CppSharp::Parser::AST::QualifiedType^); - } - - property unsigned int ArgumentsCount - { - unsigned int get(); - } - - CppSharp::Parser::AST::TemplateArgument^ GetArguments(unsigned int i); - - void AddArguments(CppSharp::Parser::AST::TemplateArgument^ s); - - void ClearArguments(); - }; - - public ref class TemplateParameterType : CppSharp::Parser::AST::Type - { - public: - - TemplateParameterType(::CppSharp::CppParser::AST::TemplateParameterType* native); - static TemplateParameterType^ __CreateInstance(::System::IntPtr native); - TemplateParameterType(); - - TemplateParameterType(CppSharp::Parser::AST::TemplateParameterType^ _0); - - ~TemplateParameterType(); - - property CppSharp::Parser::AST::TypeTemplateParameter^ Parameter - { - CppSharp::Parser::AST::TypeTemplateParameter^ get(); - void set(CppSharp::Parser::AST::TypeTemplateParameter^); - } - - property unsigned int Depth - { - unsigned int get(); - void set(unsigned int); - } - - property unsigned int Index - { - unsigned int get(); - void set(unsigned int); - } - - property bool IsParameterPack - { - bool get(); - void set(bool); - } - }; - - public ref class TemplateParameterSubstitutionType : CppSharp::Parser::AST::Type - { - public: - - TemplateParameterSubstitutionType(::CppSharp::CppParser::AST::TemplateParameterSubstitutionType* native); - static TemplateParameterSubstitutionType^ __CreateInstance(::System::IntPtr native); - TemplateParameterSubstitutionType(); - - TemplateParameterSubstitutionType(CppSharp::Parser::AST::TemplateParameterSubstitutionType^ _0); - - ~TemplateParameterSubstitutionType(); - - property CppSharp::Parser::AST::QualifiedType^ Replacement - { - CppSharp::Parser::AST::QualifiedType^ get(); - void set(CppSharp::Parser::AST::QualifiedType^); - } - - property CppSharp::Parser::AST::TemplateParameterType^ ReplacedParameter - { - CppSharp::Parser::AST::TemplateParameterType^ get(); - void set(CppSharp::Parser::AST::TemplateParameterType^); - } - }; - - public ref class InjectedClassNameType : CppSharp::Parser::AST::Type - { - public: - - InjectedClassNameType(::CppSharp::CppParser::AST::InjectedClassNameType* native); - static InjectedClassNameType^ __CreateInstance(::System::IntPtr native); - InjectedClassNameType(); - - InjectedClassNameType(CppSharp::Parser::AST::InjectedClassNameType^ _0); - - ~InjectedClassNameType(); - - property CppSharp::Parser::AST::QualifiedType^ InjectedSpecializationType - { - CppSharp::Parser::AST::QualifiedType^ get(); - void set(CppSharp::Parser::AST::QualifiedType^); - } - - property CppSharp::Parser::AST::Class^ Class - { - CppSharp::Parser::AST::Class^ get(); - void set(CppSharp::Parser::AST::Class^); - } - }; - - public ref class DependentNameType : CppSharp::Parser::AST::Type - { - public: - - DependentNameType(::CppSharp::CppParser::AST::DependentNameType* native); - static DependentNameType^ __CreateInstance(::System::IntPtr native); - DependentNameType(); - - DependentNameType(CppSharp::Parser::AST::DependentNameType^ _0); - - ~DependentNameType(); - - property CppSharp::Parser::AST::QualifiedType^ Qualifier - { - CppSharp::Parser::AST::QualifiedType^ get(); - void set(CppSharp::Parser::AST::QualifiedType^); - } - - property System::String^ Identifier - { - System::String^ get(); - void set(System::String^); - } - }; - - public ref class PackExpansionType : CppSharp::Parser::AST::Type - { - public: - - PackExpansionType(::CppSharp::CppParser::AST::PackExpansionType* native); - static PackExpansionType^ __CreateInstance(::System::IntPtr native); - PackExpansionType(); - - PackExpansionType(CppSharp::Parser::AST::PackExpansionType^ _0); - - ~PackExpansionType(); - }; - - public ref class UnaryTransformType : CppSharp::Parser::AST::Type - { - public: - - UnaryTransformType(::CppSharp::CppParser::AST::UnaryTransformType* native); - static UnaryTransformType^ __CreateInstance(::System::IntPtr native); - UnaryTransformType(); - - UnaryTransformType(CppSharp::Parser::AST::UnaryTransformType^ _0); - - ~UnaryTransformType(); - - property CppSharp::Parser::AST::QualifiedType^ Desugared - { - CppSharp::Parser::AST::QualifiedType^ get(); - void set(CppSharp::Parser::AST::QualifiedType^); - } - - property CppSharp::Parser::AST::QualifiedType^ BaseType - { - CppSharp::Parser::AST::QualifiedType^ get(); - void set(CppSharp::Parser::AST::QualifiedType^); - } - }; - - public ref class VectorType : CppSharp::Parser::AST::Type - { - public: - - VectorType(::CppSharp::CppParser::AST::VectorType* native); - static VectorType^ __CreateInstance(::System::IntPtr native); - VectorType(); - - VectorType(CppSharp::Parser::AST::VectorType^ _0); - - ~VectorType(); - - property CppSharp::Parser::AST::QualifiedType^ ElementType - { - CppSharp::Parser::AST::QualifiedType^ get(); - void set(CppSharp::Parser::AST::QualifiedType^); - } - - property unsigned int NumElements - { - unsigned int get(); - void set(unsigned int); - } - }; - - public ref class BuiltinType : CppSharp::Parser::AST::Type - { - public: - - BuiltinType(::CppSharp::CppParser::AST::BuiltinType* native); - static BuiltinType^ __CreateInstance(::System::IntPtr native); - BuiltinType(); - - BuiltinType(CppSharp::Parser::AST::BuiltinType^ _0); - - ~BuiltinType(); - - property CppSharp::Parser::AST::PrimitiveType Type - { - CppSharp::Parser::AST::PrimitiveType get(); - void set(CppSharp::Parser::AST::PrimitiveType); - } - }; - - public ref class VTableComponent : ICppInstance - { - public: - - property ::CppSharp::CppParser::AST::VTableComponent* NativePtr; - property System::IntPtr __Instance - { - virtual System::IntPtr get(); - virtual void set(System::IntPtr instance); - } - - VTableComponent(::CppSharp::CppParser::AST::VTableComponent* native); - static VTableComponent^ __CreateInstance(::System::IntPtr native); - VTableComponent(); - - VTableComponent(CppSharp::Parser::AST::VTableComponent^ _0); - - ~VTableComponent(); - - property CppSharp::Parser::AST::VTableComponentKind Kind - { - CppSharp::Parser::AST::VTableComponentKind get(); - void set(CppSharp::Parser::AST::VTableComponentKind); - } - - property unsigned int Offset - { - unsigned int get(); - void set(unsigned int); - } - - property CppSharp::Parser::AST::Declaration^ Declaration - { - CppSharp::Parser::AST::Declaration^ get(); - void set(CppSharp::Parser::AST::Declaration^); - } - - protected: - bool __ownsNativeInstance; - }; - - public ref class VTableLayout : ICppInstance - { - public: - - property ::CppSharp::CppParser::AST::VTableLayout* NativePtr; - property System::IntPtr __Instance - { - virtual System::IntPtr get(); - virtual void set(System::IntPtr instance); - } - - VTableLayout(::CppSharp::CppParser::AST::VTableLayout* native); - static VTableLayout^ __CreateInstance(::System::IntPtr native); - VTableLayout(); - - VTableLayout(CppSharp::Parser::AST::VTableLayout^ _0); - - ~VTableLayout(); - - property System::Collections::Generic::List^ Components - { - System::Collections::Generic::List^ get(); - void set(System::Collections::Generic::List^); - } - - property unsigned int ComponentsCount - { - unsigned int get(); - } - - CppSharp::Parser::AST::VTableComponent^ GetComponents(unsigned int i); - - void AddComponents(CppSharp::Parser::AST::VTableComponent^ s); - - void ClearComponents(); - - protected: - bool __ownsNativeInstance; - }; - - public ref class VFTableInfo : ICppInstance - { - public: - - property ::CppSharp::CppParser::AST::VFTableInfo* NativePtr; - property System::IntPtr __Instance - { - virtual System::IntPtr get(); - virtual void set(System::IntPtr instance); - } - - VFTableInfo(::CppSharp::CppParser::AST::VFTableInfo* native); - static VFTableInfo^ __CreateInstance(::System::IntPtr native); - VFTableInfo(); - - VFTableInfo(CppSharp::Parser::AST::VFTableInfo^ _0); - - ~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::AST::VTableLayout^ Layout - { - CppSharp::Parser::AST::VTableLayout^ get(); - void set(CppSharp::Parser::AST::VTableLayout^); - } - - protected: - bool __ownsNativeInstance; - }; - - public ref class LayoutField : ICppInstance - { - public: - - property ::CppSharp::CppParser::AST::LayoutField* NativePtr; - property System::IntPtr __Instance - { - virtual System::IntPtr get(); - virtual void set(System::IntPtr instance); - } - - LayoutField(::CppSharp::CppParser::AST::LayoutField* native); - static LayoutField^ __CreateInstance(::System::IntPtr native); - LayoutField(); - - LayoutField(CppSharp::Parser::AST::LayoutField^ other); - - ~LayoutField(); - - property unsigned int Offset - { - unsigned int get(); - void set(unsigned int); - } - - property System::String^ Name - { - System::String^ get(); - void set(System::String^); - } - - property CppSharp::Parser::AST::QualifiedType^ QualifiedType - { - CppSharp::Parser::AST::QualifiedType^ get(); - void set(CppSharp::Parser::AST::QualifiedType^); - } - - property ::System::IntPtr FieldPtr - { - ::System::IntPtr get(); - void set(::System::IntPtr); - } - - protected: - bool __ownsNativeInstance; - }; - - public ref class LayoutBase : ICppInstance - { - public: - - property ::CppSharp::CppParser::AST::LayoutBase* NativePtr; - property System::IntPtr __Instance - { - virtual System::IntPtr get(); - virtual void set(System::IntPtr instance); - } - - LayoutBase(::CppSharp::CppParser::AST::LayoutBase* native); - static LayoutBase^ __CreateInstance(::System::IntPtr native); - LayoutBase(); - - LayoutBase(CppSharp::Parser::AST::LayoutBase^ other); - - ~LayoutBase(); - - property unsigned int Offset - { - unsigned int get(); - void set(unsigned int); - } - - property CppSharp::Parser::AST::Class^ Class - { - CppSharp::Parser::AST::Class^ get(); - void set(CppSharp::Parser::AST::Class^); - } - - protected: - bool __ownsNativeInstance; - }; - - public ref class ClassLayout : ICppInstance - { - public: - - property ::CppSharp::CppParser::AST::ClassLayout* NativePtr; - property System::IntPtr __Instance - { - virtual System::IntPtr get(); - virtual void set(System::IntPtr instance); - } - - ClassLayout(::CppSharp::CppParser::AST::ClassLayout* native); - static ClassLayout^ __CreateInstance(::System::IntPtr native); - ClassLayout(); - - ClassLayout(CppSharp::Parser::AST::ClassLayout^ _0); - - ~ClassLayout(); - - property CppSharp::Parser::AST::CppAbi ABI - { - CppSharp::Parser::AST::CppAbi get(); - void set(CppSharp::Parser::AST::CppAbi); - } - - property System::Collections::Generic::List^ VFTables - { - System::Collections::Generic::List^ get(); - void set(System::Collections::Generic::List^); - } - - property CppSharp::Parser::AST::VTableLayout^ Layout - { - CppSharp::Parser::AST::VTableLayout^ get(); - void set(CppSharp::Parser::AST::VTableLayout^); - } - - property bool HasOwnVFPtr - { - bool get(); - void set(bool); - } - - property long VBPtrOffset - { - long get(); - void set(long); - } - - property int Alignment - { - int get(); - void set(int); - } - - property int Size - { - int get(); - void set(int); - } - - property int DataSize - { - int get(); - void set(int); - } - - property System::Collections::Generic::List^ Fields - { - System::Collections::Generic::List^ get(); - void set(System::Collections::Generic::List^); - } - - property System::Collections::Generic::List^ Bases - { - System::Collections::Generic::List^ get(); - void set(System::Collections::Generic::List^); - } - - property unsigned int VFTablesCount - { - unsigned int get(); - } - - property unsigned int FieldsCount - { - unsigned int get(); - } - - property unsigned int BasesCount - { - unsigned int get(); - } - - CppSharp::Parser::AST::VFTableInfo^ GetVFTables(unsigned int i); - - void AddVFTables(CppSharp::Parser::AST::VFTableInfo^ s); - - void ClearVFTables(); - - CppSharp::Parser::AST::LayoutField^ GetFields(unsigned int i); - - void AddFields(CppSharp::Parser::AST::LayoutField^ s); - - void ClearFields(); - - CppSharp::Parser::AST::LayoutBase^ GetBases(unsigned int i); - - void AddBases(CppSharp::Parser::AST::LayoutBase^ s); - - void ClearBases(); - - protected: - bool __ownsNativeInstance; - }; - - public ref class Declaration : ICppInstance - { - public: - - property ::CppSharp::CppParser::AST::Declaration* NativePtr; - property System::IntPtr __Instance - { - virtual System::IntPtr get(); - virtual void set(System::IntPtr instance); - } - - Declaration(::CppSharp::CppParser::AST::Declaration* native); - static Declaration^ __CreateInstance(::System::IntPtr native); - Declaration(CppSharp::Parser::AST::DeclarationKind kind); - - Declaration(CppSharp::Parser::AST::Declaration^ _0); - - ~Declaration(); - - property CppSharp::Parser::AST::DeclarationKind Kind - { - CppSharp::Parser::AST::DeclarationKind get(); - void set(CppSharp::Parser::AST::DeclarationKind); - } - - property int MaxFieldAlignment - { - int get(); - void set(int); - } - - property CppSharp::Parser::AST::AccessSpecifier Access - { - CppSharp::Parser::AST::AccessSpecifier get(); - void set(CppSharp::Parser::AST::AccessSpecifier); - } - - property CppSharp::Parser::AST::DeclarationContext^ Namespace - { - CppSharp::Parser::AST::DeclarationContext^ get(); - void set(CppSharp::Parser::AST::DeclarationContext^); - } - - property CppSharp::Parser::SourceLocation Location - { - CppSharp::Parser::SourceLocation get(); - void set(CppSharp::Parser::SourceLocation); - } - - property int LineNumberStart - { - int get(); - void set(int); - } - - property int LineNumberEnd - { - int get(); - void set(int); - } - - property System::String^ Name - { - System::String^ get(); - void set(System::String^); - } - - property System::String^ USR - { - System::String^ get(); - void set(System::String^); - } - - 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 bool IsImplicit - { - bool get(); - void set(bool); - } - - property bool IsInvalid - { - bool get(); - void set(bool); - } - - property CppSharp::Parser::AST::Declaration^ CompleteDeclaration - { - CppSharp::Parser::AST::Declaration^ get(); - void set(CppSharp::Parser::AST::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::Collections::Generic::List^ Redeclarations - { - System::Collections::Generic::List^ get(); - void set(System::Collections::Generic::List^); - } - - property ::System::IntPtr OriginalPtr - { - ::System::IntPtr get(); - void set(::System::IntPtr); - } - - property CppSharp::Parser::AST::RawComment^ Comment - { - CppSharp::Parser::AST::RawComment^ get(); - void set(CppSharp::Parser::AST::RawComment^); - } - - property unsigned int PreprocessedEntitiesCount - { - unsigned int get(); - } - - property unsigned int RedeclarationsCount - { - unsigned int get(); - } - - CppSharp::Parser::AST::PreprocessedEntity^ GetPreprocessedEntities(unsigned int i); - - void AddPreprocessedEntities(CppSharp::Parser::AST::PreprocessedEntity^ s); - - void ClearPreprocessedEntities(); - - CppSharp::Parser::AST::Declaration^ GetRedeclarations(unsigned int i); - - void AddRedeclarations(CppSharp::Parser::AST::Declaration^ s); - - void ClearRedeclarations(); - - static operator CppSharp::Parser::AST::Declaration^(CppSharp::Parser::AST::DeclarationKind kind); - - protected: - bool __ownsNativeInstance; - }; - - public ref class DeclarationContext : CppSharp::Parser::AST::Declaration - { - public: - - DeclarationContext(::CppSharp::CppParser::AST::DeclarationContext* native); - static DeclarationContext^ __CreateInstance(::System::IntPtr native); - DeclarationContext(CppSharp::Parser::AST::DeclarationKind kind); - - DeclarationContext(CppSharp::Parser::AST::DeclarationContext^ _0); - - ~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^ TypeAliases - { - 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^); - } - - property System::Collections::Generic::List^ Friends - { - System::Collections::Generic::List^ get(); - void set(System::Collections::Generic::List^); - } - - property bool IsAnonymous - { - bool get(); - void set(bool); - } - - property unsigned int NamespacesCount - { - unsigned int get(); - } - - property unsigned int EnumsCount - { - unsigned int get(); - } - - property unsigned int FunctionsCount - { - unsigned int get(); - } - - property unsigned int ClassesCount - { - unsigned int get(); - } - - property unsigned int TemplatesCount - { - unsigned int get(); - } - - property unsigned int TypedefsCount - { - unsigned int get(); - } - - property unsigned int TypeAliasesCount - { - unsigned int get(); - } - - property unsigned int VariablesCount - { - unsigned int get(); - } - - property unsigned int FriendsCount - { - unsigned int get(); - } - - CppSharp::Parser::AST::Namespace^ GetNamespaces(unsigned int i); - - void AddNamespaces(CppSharp::Parser::AST::Namespace^ s); - - void ClearNamespaces(); - - CppSharp::Parser::AST::Enumeration^ GetEnums(unsigned int i); - - void AddEnums(CppSharp::Parser::AST::Enumeration^ s); - - void ClearEnums(); - - CppSharp::Parser::AST::Function^ GetFunctions(unsigned int i); - - void AddFunctions(CppSharp::Parser::AST::Function^ s); - - void ClearFunctions(); - - CppSharp::Parser::AST::Class^ GetClasses(unsigned int i); - - void AddClasses(CppSharp::Parser::AST::Class^ s); - - void ClearClasses(); - - CppSharp::Parser::AST::Template^ GetTemplates(unsigned int i); - - void AddTemplates(CppSharp::Parser::AST::Template^ s); - - void ClearTemplates(); - - CppSharp::Parser::AST::TypedefDecl^ GetTypedefs(unsigned int i); - - void AddTypedefs(CppSharp::Parser::AST::TypedefDecl^ s); - - void ClearTypedefs(); - - CppSharp::Parser::AST::TypeAlias^ GetTypeAliases(unsigned int i); - - void AddTypeAliases(CppSharp::Parser::AST::TypeAlias^ s); - - void ClearTypeAliases(); - - CppSharp::Parser::AST::Variable^ GetVariables(unsigned int i); - - void AddVariables(CppSharp::Parser::AST::Variable^ s); - - void ClearVariables(); - - CppSharp::Parser::AST::Friend^ GetFriends(unsigned int i); - - void AddFriends(CppSharp::Parser::AST::Friend^ s); - - void ClearFriends(); - - static operator CppSharp::Parser::AST::DeclarationContext^(CppSharp::Parser::AST::DeclarationKind kind); - }; - - public ref class TypedefNameDecl : CppSharp::Parser::AST::Declaration - { - public: - - TypedefNameDecl(::CppSharp::CppParser::AST::TypedefNameDecl* native); - static TypedefNameDecl^ __CreateInstance(::System::IntPtr native); - TypedefNameDecl(CppSharp::Parser::AST::DeclarationKind kind); - - TypedefNameDecl(CppSharp::Parser::AST::TypedefNameDecl^ _0); - - ~TypedefNameDecl(); - - property CppSharp::Parser::AST::QualifiedType^ QualifiedType - { - CppSharp::Parser::AST::QualifiedType^ get(); - void set(CppSharp::Parser::AST::QualifiedType^); - } - - static operator CppSharp::Parser::AST::TypedefNameDecl^(CppSharp::Parser::AST::DeclarationKind kind); - }; - - public ref class TypedefDecl : CppSharp::Parser::AST::TypedefNameDecl - { - public: - - TypedefDecl(::CppSharp::CppParser::AST::TypedefDecl* native); - static TypedefDecl^ __CreateInstance(::System::IntPtr native); - TypedefDecl(); - - TypedefDecl(CppSharp::Parser::AST::TypedefDecl^ _0); - - ~TypedefDecl(); - }; - - public ref class TypeAlias : CppSharp::Parser::AST::TypedefNameDecl - { - public: - - TypeAlias(::CppSharp::CppParser::AST::TypeAlias* native); - static TypeAlias^ __CreateInstance(::System::IntPtr native); - TypeAlias(); - - TypeAlias(CppSharp::Parser::AST::TypeAlias^ _0); - - ~TypeAlias(); - - property CppSharp::Parser::AST::TypeAliasTemplate^ DescribedAliasTemplate - { - CppSharp::Parser::AST::TypeAliasTemplate^ get(); - void set(CppSharp::Parser::AST::TypeAliasTemplate^); - } - }; - - public ref class Friend : CppSharp::Parser::AST::Declaration - { - public: - - Friend(::CppSharp::CppParser::AST::Friend* native); - static Friend^ __CreateInstance(::System::IntPtr native); - Friend(); - - Friend(CppSharp::Parser::AST::Friend^ _0); - - ~Friend(); - - property CppSharp::Parser::AST::Declaration^ Declaration - { - CppSharp::Parser::AST::Declaration^ get(); - void set(CppSharp::Parser::AST::Declaration^); - } - }; - - public ref class Statement : ICppInstance - { - public: - - property ::CppSharp::CppParser::AST::Statement* NativePtr; - property System::IntPtr __Instance - { - virtual System::IntPtr get(); - virtual void set(System::IntPtr instance); - } - - Statement(::CppSharp::CppParser::AST::Statement* native); - static Statement^ __CreateInstance(::System::IntPtr native); - Statement(System::String^ str, CppSharp::Parser::AST::StatementClass Class, CppSharp::Parser::AST::Declaration^ decl); - - Statement(CppSharp::Parser::AST::Statement^ _0); - - ~Statement(); - - property CppSharp::Parser::AST::StatementClass Class - { - CppSharp::Parser::AST::StatementClass get(); - void set(CppSharp::Parser::AST::StatementClass); - } - - property CppSharp::Parser::AST::Declaration^ Decl - { - CppSharp::Parser::AST::Declaration^ get(); - void set(CppSharp::Parser::AST::Declaration^); - } - - property System::String^ String - { - System::String^ get(); - void set(System::String^); - } - - protected: - bool __ownsNativeInstance; - }; - - public ref class Expression : CppSharp::Parser::AST::Statement - { - public: - - Expression(::CppSharp::CppParser::AST::Expression* native); - static Expression^ __CreateInstance(::System::IntPtr native); - Expression(System::String^ str, CppSharp::Parser::AST::StatementClass Class, CppSharp::Parser::AST::Declaration^ decl); - - Expression(CppSharp::Parser::AST::Expression^ _0); - - ~Expression(); - }; - - public ref class BinaryOperator : CppSharp::Parser::AST::Expression - { - public: - - BinaryOperator(::CppSharp::CppParser::AST::BinaryOperator* native); - static BinaryOperator^ __CreateInstance(::System::IntPtr native); - BinaryOperator(System::String^ str, CppSharp::Parser::AST::Expression^ lhs, CppSharp::Parser::AST::Expression^ rhs, System::String^ opcodeStr); - - BinaryOperator(CppSharp::Parser::AST::BinaryOperator^ _0); - - ~BinaryOperator(); - - property CppSharp::Parser::AST::Expression^ LHS - { - CppSharp::Parser::AST::Expression^ get(); - void set(CppSharp::Parser::AST::Expression^); - } - - property CppSharp::Parser::AST::Expression^ RHS - { - CppSharp::Parser::AST::Expression^ get(); - void set(CppSharp::Parser::AST::Expression^); - } - - property System::String^ OpcodeStr - { - System::String^ get(); - void set(System::String^); - } - }; - - public ref class CallExpr : CppSharp::Parser::AST::Expression - { - public: - - CallExpr(::CppSharp::CppParser::AST::CallExpr* native); - static CallExpr^ __CreateInstance(::System::IntPtr native); - CallExpr(System::String^ str, CppSharp::Parser::AST::Declaration^ decl); - - CallExpr(CppSharp::Parser::AST::CallExpr^ _0); - - ~CallExpr(); - - property System::Collections::Generic::List^ Arguments - { - System::Collections::Generic::List^ get(); - void set(System::Collections::Generic::List^); - } - - property unsigned int ArgumentsCount - { - unsigned int get(); - } - - CppSharp::Parser::AST::Expression^ GetArguments(unsigned int i); - - void AddArguments(CppSharp::Parser::AST::Expression^ s); - - void ClearArguments(); - }; - - public ref class CXXConstructExpr : CppSharp::Parser::AST::Expression - { - public: - - CXXConstructExpr(::CppSharp::CppParser::AST::CXXConstructExpr* native); - static CXXConstructExpr^ __CreateInstance(::System::IntPtr native); - CXXConstructExpr(System::String^ str, CppSharp::Parser::AST::Declaration^ decl); - - CXXConstructExpr(CppSharp::Parser::AST::CXXConstructExpr^ _0); - - ~CXXConstructExpr(); - - property System::Collections::Generic::List^ Arguments - { - System::Collections::Generic::List^ get(); - void set(System::Collections::Generic::List^); - } - - property unsigned int ArgumentsCount - { - unsigned int get(); - } - - CppSharp::Parser::AST::Expression^ GetArguments(unsigned int i); - - void AddArguments(CppSharp::Parser::AST::Expression^ s); - - void ClearArguments(); - }; - - public ref class Parameter : CppSharp::Parser::AST::Declaration - { - public: - - Parameter(::CppSharp::CppParser::AST::Parameter* native); - static Parameter^ __CreateInstance(::System::IntPtr native); - Parameter(); - - Parameter(CppSharp::Parser::AST::Parameter^ _0); - - ~Parameter(); - - property CppSharp::Parser::AST::QualifiedType^ QualifiedType - { - CppSharp::Parser::AST::QualifiedType^ get(); - void set(CppSharp::Parser::AST::QualifiedType^); - } - - property bool IsIndirect - { - bool get(); - void set(bool); - } - - property bool HasDefaultValue - { - bool get(); - void set(bool); - } - - property unsigned int Index - { - unsigned int get(); - void set(unsigned int); - } - - property CppSharp::Parser::AST::Expression^ DefaultArgument - { - CppSharp::Parser::AST::Expression^ get(); - void set(CppSharp::Parser::AST::Expression^); - } - }; - - public ref class Function : CppSharp::Parser::AST::DeclarationContext - { - public: - - Function(::CppSharp::CppParser::AST::Function* native); - static Function^ __CreateInstance(::System::IntPtr native); - Function(); - - Function(CppSharp::Parser::AST::Function^ _0); - - ~Function(); - - property CppSharp::Parser::AST::QualifiedType^ ReturnType - { - CppSharp::Parser::AST::QualifiedType^ get(); - void set(CppSharp::Parser::AST::QualifiedType^); - } - - property bool IsReturnIndirect - { - bool get(); - void set(bool); - } - - property bool HasThisReturn - { - bool get(); - void set(bool); - } - - property bool IsConstExpr - { - 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 bool IsDeleted - { - bool get(); - void set(bool); - } - - property bool IsDefaulted - { - bool get(); - void set(bool); - } - - property CppSharp::Parser::AST::FriendKind FriendKind - { - CppSharp::Parser::AST::FriendKind get(); - void set(CppSharp::Parser::AST::FriendKind); - } - - property CppSharp::Parser::AST::CXXOperatorKind OperatorKind - { - CppSharp::Parser::AST::CXXOperatorKind get(); - void set(CppSharp::Parser::AST::CXXOperatorKind); - } - - property System::String^ Mangled - { - System::String^ get(); - void set(System::String^); - } - - property System::String^ Signature - { - System::String^ get(); - void set(System::String^); - } - - property System::String^ Body - { - System::String^ get(); - void set(System::String^); - } - - property CppSharp::Parser::AST::CallingConvention CallingConvention - { - CppSharp::Parser::AST::CallingConvention get(); - void set(CppSharp::Parser::AST::CallingConvention); - } - - property System::Collections::Generic::List^ Parameters - { - System::Collections::Generic::List^ get(); - void set(System::Collections::Generic::List^); - } - - property CppSharp::Parser::AST::FunctionTemplateSpecialization^ SpecializationInfo - { - CppSharp::Parser::AST::FunctionTemplateSpecialization^ get(); - void set(CppSharp::Parser::AST::FunctionTemplateSpecialization^); - } - - property CppSharp::Parser::AST::Function^ InstantiatedFrom - { - CppSharp::Parser::AST::Function^ get(); - void set(CppSharp::Parser::AST::Function^); - } - - property CppSharp::Parser::AST::QualifiedType^ QualifiedType - { - CppSharp::Parser::AST::QualifiedType^ get(); - void set(CppSharp::Parser::AST::QualifiedType^); - } - - property unsigned int ParametersCount - { - unsigned int get(); - } - - CppSharp::Parser::AST::Parameter^ GetParameters(unsigned int i); - - void AddParameters(CppSharp::Parser::AST::Parameter^ s); - - void ClearParameters(); - }; - - public ref class Method : CppSharp::Parser::AST::Function - { - public: - - Method(::CppSharp::CppParser::AST::Method* native); - static Method^ __CreateInstance(::System::IntPtr native); - Method(); - - Method(CppSharp::Parser::AST::Method^ _0); - - ~Method(); - - 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 IsExplicit - { - bool get(); - void set(bool); - } - - property CppSharp::Parser::AST::CXXMethodKind MethodKind - { - CppSharp::Parser::AST::CXXMethodKind get(); - void set(CppSharp::Parser::AST::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); - } - - property CppSharp::Parser::AST::QualifiedType^ ConversionType - { - CppSharp::Parser::AST::QualifiedType^ get(); - void set(CppSharp::Parser::AST::QualifiedType^); - } - - property CppSharp::Parser::AST::RefQualifierKind RefQualifier - { - CppSharp::Parser::AST::RefQualifierKind get(); - void set(CppSharp::Parser::AST::RefQualifierKind); - } - - property System::Collections::Generic::List^ OverriddenMethods - { - System::Collections::Generic::List^ get(); - void set(System::Collections::Generic::List^); - } - - property unsigned int OverriddenMethodsCount - { - unsigned int get(); - } - - CppSharp::Parser::AST::Method^ GetOverriddenMethods(unsigned int i); - - void AddOverriddenMethods(CppSharp::Parser::AST::Method^ s); - - void ClearOverriddenMethods(); - }; - - public ref class Enumeration : CppSharp::Parser::AST::DeclarationContext - { - public: - - [System::Flags] - enum struct EnumModifiers - { - Anonymous = 1, - Scoped = 2, - Flags = 4 - }; - - ref class Item : CppSharp::Parser::AST::Declaration - { - public: - - Item(::CppSharp::CppParser::AST::Enumeration::Item* native); - static Item^ __CreateInstance(::System::IntPtr native); - Item(); - - Item(CppSharp::Parser::AST::Enumeration::Item^ _0); - - ~Item(); - - property System::String^ Expression - { - System::String^ get(); - void set(System::String^); - } - - property unsigned long long Value - { - unsigned long long get(); - void set(unsigned long long); - } - }; - - Enumeration(::CppSharp::CppParser::AST::Enumeration* native); - static Enumeration^ __CreateInstance(::System::IntPtr native); - Enumeration(); - - Enumeration(CppSharp::Parser::AST::Enumeration^ _0); - - ~Enumeration(); - - property CppSharp::Parser::AST::Enumeration::EnumModifiers Modifiers - { - CppSharp::Parser::AST::Enumeration::EnumModifiers get(); - void set(CppSharp::Parser::AST::Enumeration::EnumModifiers); - } - - property CppSharp::Parser::AST::Type^ Type - { - CppSharp::Parser::AST::Type^ get(); - void set(CppSharp::Parser::AST::Type^); - } - - property CppSharp::Parser::AST::BuiltinType^ BuiltinType - { - CppSharp::Parser::AST::BuiltinType^ get(); - void set(CppSharp::Parser::AST::BuiltinType^); - } - - property System::Collections::Generic::List^ Items - { - System::Collections::Generic::List^ get(); - void set(System::Collections::Generic::List^); - } - - property unsigned int ItemsCount - { - unsigned int get(); - } - - CppSharp::Parser::AST::Enumeration::Item^ GetItems(unsigned int i); - - void AddItems(CppSharp::Parser::AST::Enumeration::Item^ s); - - void ClearItems(); - - CppSharp::Parser::AST::Enumeration::Item^ FindItemByName(System::String^ Name); - }; - - public ref class Variable : CppSharp::Parser::AST::Declaration - { - public: - - Variable(::CppSharp::CppParser::AST::Variable* native); - static Variable^ __CreateInstance(::System::IntPtr native); - Variable(); - - Variable(CppSharp::Parser::AST::Variable^ _0); - - ~Variable(); - - property System::String^ Mangled - { - System::String^ get(); - void set(System::String^); - } - - property CppSharp::Parser::AST::QualifiedType^ QualifiedType - { - CppSharp::Parser::AST::QualifiedType^ get(); - void set(CppSharp::Parser::AST::QualifiedType^); - } - }; - - public ref class BaseClassSpecifier : ICppInstance - { - public: - - property ::CppSharp::CppParser::AST::BaseClassSpecifier* NativePtr; - property System::IntPtr __Instance - { - virtual System::IntPtr get(); - virtual void set(System::IntPtr instance); - } - - BaseClassSpecifier(::CppSharp::CppParser::AST::BaseClassSpecifier* native); - static BaseClassSpecifier^ __CreateInstance(::System::IntPtr native); - BaseClassSpecifier(); - - BaseClassSpecifier(CppSharp::Parser::AST::BaseClassSpecifier^ _0); - - ~BaseClassSpecifier(); - - property CppSharp::Parser::AST::AccessSpecifier Access - { - CppSharp::Parser::AST::AccessSpecifier get(); - void set(CppSharp::Parser::AST::AccessSpecifier); - } - - property bool IsVirtual - { - bool get(); - void set(bool); - } - - property CppSharp::Parser::AST::Type^ Type - { - CppSharp::Parser::AST::Type^ get(); - void set(CppSharp::Parser::AST::Type^); - } - - property int Offset - { - int get(); - void set(int); - } - - protected: - bool __ownsNativeInstance; - }; - - public ref class Field : CppSharp::Parser::AST::Declaration - { - public: - - Field(::CppSharp::CppParser::AST::Field* native); - static Field^ __CreateInstance(::System::IntPtr native); - Field(); - - Field(CppSharp::Parser::AST::Field^ _0); - - ~Field(); - - property CppSharp::Parser::AST::QualifiedType^ QualifiedType - { - CppSharp::Parser::AST::QualifiedType^ get(); - void set(CppSharp::Parser::AST::QualifiedType^); - } - - property CppSharp::Parser::AST::Class^ Class - { - CppSharp::Parser::AST::Class^ get(); - void set(CppSharp::Parser::AST::Class^); - } - - property bool IsBitField - { - bool get(); - void set(bool); - } - - property unsigned int BitWidth - { - unsigned int get(); - void set(unsigned int); - } - }; - - public ref class AccessSpecifierDecl : CppSharp::Parser::AST::Declaration - { - public: - - AccessSpecifierDecl(::CppSharp::CppParser::AST::AccessSpecifierDecl* native); - static AccessSpecifierDecl^ __CreateInstance(::System::IntPtr native); - AccessSpecifierDecl(); - - AccessSpecifierDecl(CppSharp::Parser::AST::AccessSpecifierDecl^ _0); - - ~AccessSpecifierDecl(); - }; - - public ref class Class : CppSharp::Parser::AST::DeclarationContext - { - public: - - Class(::CppSharp::CppParser::AST::Class* native); - static Class^ __CreateInstance(::System::IntPtr native); - Class(); - - Class(CppSharp::Parser::AST::Class^ _0); - - ~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 bool HasNonTrivialDestructor - { - bool get(); - void set(bool); - } - - property bool IsExternCContext - { - bool get(); - void set(bool); - } - - property bool IsInjected - { - bool get(); - void set(bool); - } - - property CppSharp::Parser::AST::ClassLayout^ Layout - { - CppSharp::Parser::AST::ClassLayout^ get(); - void set(CppSharp::Parser::AST::ClassLayout^); - } - - property unsigned int BasesCount - { - unsigned int get(); - } - - property unsigned int FieldsCount - { - unsigned int get(); - } - - property unsigned int MethodsCount - { - unsigned int get(); - } - - property unsigned int SpecifiersCount - { - unsigned int get(); - } - - CppSharp::Parser::AST::BaseClassSpecifier^ GetBases(unsigned int i); - - void AddBases(CppSharp::Parser::AST::BaseClassSpecifier^ s); - - void ClearBases(); - - CppSharp::Parser::AST::Field^ GetFields(unsigned int i); - - void AddFields(CppSharp::Parser::AST::Field^ s); - - void ClearFields(); - - CppSharp::Parser::AST::Method^ GetMethods(unsigned int i); - - void AddMethods(CppSharp::Parser::AST::Method^ s); - - void ClearMethods(); - - CppSharp::Parser::AST::AccessSpecifierDecl^ GetSpecifiers(unsigned int i); - - void AddSpecifiers(CppSharp::Parser::AST::AccessSpecifierDecl^ s); - - void ClearSpecifiers(); - }; - - public ref class Template : CppSharp::Parser::AST::Declaration - { - public: - - Template(::CppSharp::CppParser::AST::Template* native); - static Template^ __CreateInstance(::System::IntPtr native); - Template(CppSharp::Parser::AST::DeclarationKind kind); - - Template(); - - Template(CppSharp::Parser::AST::Template^ _0); - - ~Template(); - - property CppSharp::Parser::AST::Declaration^ TemplatedDecl - { - CppSharp::Parser::AST::Declaration^ get(); - void set(CppSharp::Parser::AST::Declaration^); - } - - property System::Collections::Generic::List^ Parameters - { - System::Collections::Generic::List^ get(); - void set(System::Collections::Generic::List^); - } - - property unsigned int ParametersCount - { - unsigned int get(); - } - - CppSharp::Parser::AST::Declaration^ GetParameters(unsigned int i); - - void AddParameters(CppSharp::Parser::AST::Declaration^ s); - - void ClearParameters(); - - static operator CppSharp::Parser::AST::Template^(CppSharp::Parser::AST::DeclarationKind kind); - }; - - public ref class TypeAliasTemplate : CppSharp::Parser::AST::Template - { - public: - - TypeAliasTemplate(::CppSharp::CppParser::AST::TypeAliasTemplate* native); - static TypeAliasTemplate^ __CreateInstance(::System::IntPtr native); - TypeAliasTemplate(); - - TypeAliasTemplate(CppSharp::Parser::AST::TypeAliasTemplate^ _0); - - ~TypeAliasTemplate(); - }; - - public ref class TemplateParameter : CppSharp::Parser::AST::Declaration - { - public: - - TemplateParameter(::CppSharp::CppParser::AST::TemplateParameter* native); - static TemplateParameter^ __CreateInstance(::System::IntPtr native); - TemplateParameter(CppSharp::Parser::AST::DeclarationKind kind); - - TemplateParameter(CppSharp::Parser::AST::TemplateParameter^ _0); - - ~TemplateParameter(); - - property unsigned int Depth - { - unsigned int get(); - void set(unsigned int); - } - - property unsigned int Index - { - unsigned int get(); - void set(unsigned int); - } - - property bool IsParameterPack - { - bool get(); - void set(bool); - } - - static operator CppSharp::Parser::AST::TemplateParameter^(CppSharp::Parser::AST::DeclarationKind kind); - }; - - public ref class TemplateTemplateParameter : CppSharp::Parser::AST::Template - { - public: - - TemplateTemplateParameter(::CppSharp::CppParser::AST::TemplateTemplateParameter* native); - static TemplateTemplateParameter^ __CreateInstance(::System::IntPtr native); - TemplateTemplateParameter(); - - TemplateTemplateParameter(CppSharp::Parser::AST::TemplateTemplateParameter^ _0); - - ~TemplateTemplateParameter(); - - property bool IsParameterPack - { - bool get(); - void set(bool); - } - - property bool IsPackExpansion - { - bool get(); - void set(bool); - } - - property bool IsExpandedParameterPack - { - bool get(); - void set(bool); - } - }; - - public ref class TypeTemplateParameter : CppSharp::Parser::AST::TemplateParameter - { - public: - - TypeTemplateParameter(::CppSharp::CppParser::AST::TypeTemplateParameter* native); - static TypeTemplateParameter^ __CreateInstance(::System::IntPtr native); - TypeTemplateParameter(); - - TypeTemplateParameter(CppSharp::Parser::AST::TypeTemplateParameter^ _0); - - ~TypeTemplateParameter(); - - property CppSharp::Parser::AST::QualifiedType^ DefaultArgument - { - CppSharp::Parser::AST::QualifiedType^ get(); - void set(CppSharp::Parser::AST::QualifiedType^); - } - }; - - public ref class NonTypeTemplateParameter : CppSharp::Parser::AST::TemplateParameter - { - public: - - NonTypeTemplateParameter(::CppSharp::CppParser::AST::NonTypeTemplateParameter* native); - static NonTypeTemplateParameter^ __CreateInstance(::System::IntPtr native); - NonTypeTemplateParameter(); - - NonTypeTemplateParameter(CppSharp::Parser::AST::NonTypeTemplateParameter^ _0); - - ~NonTypeTemplateParameter(); - - property CppSharp::Parser::AST::Expression^ DefaultArgument - { - CppSharp::Parser::AST::Expression^ get(); - void set(CppSharp::Parser::AST::Expression^); - } - - property unsigned int Position - { - unsigned int get(); - void set(unsigned int); - } - - property bool IsPackExpansion - { - bool get(); - void set(bool); - } - - property bool IsExpandedParameterPack - { - bool get(); - void set(bool); - } - }; - - public ref class ClassTemplate : CppSharp::Parser::AST::Template - { - public: - - ClassTemplate(::CppSharp::CppParser::AST::ClassTemplate* native); - static ClassTemplate^ __CreateInstance(::System::IntPtr native); - ClassTemplate(); - - ClassTemplate(CppSharp::Parser::AST::ClassTemplate^ _0); - - ~ClassTemplate(); - - property System::Collections::Generic::List^ Specializations - { - System::Collections::Generic::List^ get(); - void set(System::Collections::Generic::List^); - } - - property unsigned int SpecializationsCount - { - unsigned int get(); - } - - CppSharp::Parser::AST::ClassTemplateSpecialization^ GetSpecializations(unsigned int i); - - void AddSpecializations(CppSharp::Parser::AST::ClassTemplateSpecialization^ s); - - void ClearSpecializations(); - - CppSharp::Parser::AST::ClassTemplateSpecialization^ FindSpecialization(System::String^ usr); - - CppSharp::Parser::AST::ClassTemplatePartialSpecialization^ FindPartialSpecialization(System::String^ usr); - }; - - public ref class ClassTemplateSpecialization : CppSharp::Parser::AST::Class - { - public: - - ClassTemplateSpecialization(::CppSharp::CppParser::AST::ClassTemplateSpecialization* native); - static ClassTemplateSpecialization^ __CreateInstance(::System::IntPtr native); - ClassTemplateSpecialization(); - - ClassTemplateSpecialization(CppSharp::Parser::AST::ClassTemplateSpecialization^ _0); - - ~ClassTemplateSpecialization(); - - property CppSharp::Parser::AST::ClassTemplate^ TemplatedDecl - { - CppSharp::Parser::AST::ClassTemplate^ get(); - void set(CppSharp::Parser::AST::ClassTemplate^); - } - - property System::Collections::Generic::List^ Arguments - { - System::Collections::Generic::List^ get(); - void set(System::Collections::Generic::List^); - } - - property CppSharp::Parser::AST::TemplateSpecializationKind SpecializationKind - { - CppSharp::Parser::AST::TemplateSpecializationKind get(); - void set(CppSharp::Parser::AST::TemplateSpecializationKind); - } - - property unsigned int ArgumentsCount - { - unsigned int get(); - } - - CppSharp::Parser::AST::TemplateArgument^ GetArguments(unsigned int i); - - void AddArguments(CppSharp::Parser::AST::TemplateArgument^ s); - - void ClearArguments(); - }; - - public ref class ClassTemplatePartialSpecialization : CppSharp::Parser::AST::ClassTemplateSpecialization - { - public: - - ClassTemplatePartialSpecialization(::CppSharp::CppParser::AST::ClassTemplatePartialSpecialization* native); - static ClassTemplatePartialSpecialization^ __CreateInstance(::System::IntPtr native); - ClassTemplatePartialSpecialization(); - - ClassTemplatePartialSpecialization(CppSharp::Parser::AST::ClassTemplatePartialSpecialization^ _0); - - ~ClassTemplatePartialSpecialization(); - }; - - public ref class FunctionTemplate : CppSharp::Parser::AST::Template - { - public: - - FunctionTemplate(::CppSharp::CppParser::AST::FunctionTemplate* native); - static FunctionTemplate^ __CreateInstance(::System::IntPtr native); - FunctionTemplate(); - - FunctionTemplate(CppSharp::Parser::AST::FunctionTemplate^ _0); - - ~FunctionTemplate(); - - property System::Collections::Generic::List^ Specializations - { - System::Collections::Generic::List^ get(); - void set(System::Collections::Generic::List^); - } - - property unsigned int SpecializationsCount - { - unsigned int get(); - } - - CppSharp::Parser::AST::FunctionTemplateSpecialization^ GetSpecializations(unsigned int i); - - void AddSpecializations(CppSharp::Parser::AST::FunctionTemplateSpecialization^ s); - - void ClearSpecializations(); - - CppSharp::Parser::AST::FunctionTemplateSpecialization^ FindSpecialization(System::String^ usr); - }; - - public ref class FunctionTemplateSpecialization : ICppInstance - { - public: - - property ::CppSharp::CppParser::AST::FunctionTemplateSpecialization* NativePtr; - property System::IntPtr __Instance - { - virtual System::IntPtr get(); - virtual void set(System::IntPtr instance); - } - - FunctionTemplateSpecialization(::CppSharp::CppParser::AST::FunctionTemplateSpecialization* native); - static FunctionTemplateSpecialization^ __CreateInstance(::System::IntPtr native); - FunctionTemplateSpecialization(); - - FunctionTemplateSpecialization(CppSharp::Parser::AST::FunctionTemplateSpecialization^ _0); - - ~FunctionTemplateSpecialization(); - - property CppSharp::Parser::AST::FunctionTemplate^ Template - { - CppSharp::Parser::AST::FunctionTemplate^ get(); - void set(CppSharp::Parser::AST::FunctionTemplate^); - } - - property System::Collections::Generic::List^ Arguments - { - System::Collections::Generic::List^ get(); - void set(System::Collections::Generic::List^); - } - - property CppSharp::Parser::AST::Function^ SpecializedFunction - { - CppSharp::Parser::AST::Function^ get(); - void set(CppSharp::Parser::AST::Function^); - } - - property CppSharp::Parser::AST::TemplateSpecializationKind SpecializationKind - { - CppSharp::Parser::AST::TemplateSpecializationKind get(); - void set(CppSharp::Parser::AST::TemplateSpecializationKind); - } - - property unsigned int ArgumentsCount - { - unsigned int get(); - } - - CppSharp::Parser::AST::TemplateArgument^ GetArguments(unsigned int i); - - void AddArguments(CppSharp::Parser::AST::TemplateArgument^ s); - - void ClearArguments(); - - protected: - bool __ownsNativeInstance; - }; - - public ref class VarTemplate : CppSharp::Parser::AST::Template - { - public: - - VarTemplate(::CppSharp::CppParser::AST::VarTemplate* native); - static VarTemplate^ __CreateInstance(::System::IntPtr native); - VarTemplate(); - - VarTemplate(CppSharp::Parser::AST::VarTemplate^ _0); - - ~VarTemplate(); - - property System::Collections::Generic::List^ Specializations - { - System::Collections::Generic::List^ get(); - void set(System::Collections::Generic::List^); - } - - property unsigned int SpecializationsCount - { - unsigned int get(); - } - - CppSharp::Parser::AST::VarTemplateSpecialization^ GetSpecializations(unsigned int i); - - void AddSpecializations(CppSharp::Parser::AST::VarTemplateSpecialization^ s); - - void ClearSpecializations(); - - CppSharp::Parser::AST::VarTemplateSpecialization^ FindSpecialization(System::String^ usr); - - CppSharp::Parser::AST::VarTemplatePartialSpecialization^ FindPartialSpecialization(System::String^ usr); - }; - - public ref class VarTemplateSpecialization : CppSharp::Parser::AST::Variable - { - public: - - VarTemplateSpecialization(::CppSharp::CppParser::AST::VarTemplateSpecialization* native); - static VarTemplateSpecialization^ __CreateInstance(::System::IntPtr native); - VarTemplateSpecialization(); - - VarTemplateSpecialization(CppSharp::Parser::AST::VarTemplateSpecialization^ _0); - - ~VarTemplateSpecialization(); - - property CppSharp::Parser::AST::VarTemplate^ TemplatedDecl - { - CppSharp::Parser::AST::VarTemplate^ get(); - void set(CppSharp::Parser::AST::VarTemplate^); - } - - property System::Collections::Generic::List^ Arguments - { - System::Collections::Generic::List^ get(); - void set(System::Collections::Generic::List^); - } - - property CppSharp::Parser::AST::TemplateSpecializationKind SpecializationKind - { - CppSharp::Parser::AST::TemplateSpecializationKind get(); - void set(CppSharp::Parser::AST::TemplateSpecializationKind); - } - - property unsigned int ArgumentsCount - { - unsigned int get(); - } - - CppSharp::Parser::AST::TemplateArgument^ GetArguments(unsigned int i); - - void AddArguments(CppSharp::Parser::AST::TemplateArgument^ s); - - void ClearArguments(); - }; - - public ref class VarTemplatePartialSpecialization : CppSharp::Parser::AST::VarTemplateSpecialization - { - public: - - VarTemplatePartialSpecialization(::CppSharp::CppParser::AST::VarTemplatePartialSpecialization* native); - static VarTemplatePartialSpecialization^ __CreateInstance(::System::IntPtr native); - VarTemplatePartialSpecialization(); - - VarTemplatePartialSpecialization(CppSharp::Parser::AST::VarTemplatePartialSpecialization^ _0); - - ~VarTemplatePartialSpecialization(); - }; - - public ref class Namespace : CppSharp::Parser::AST::DeclarationContext - { - public: - - Namespace(::CppSharp::CppParser::AST::Namespace* native); - static Namespace^ __CreateInstance(::System::IntPtr native); - Namespace(); - - Namespace(CppSharp::Parser::AST::Namespace^ _0); - - ~Namespace(); - - property bool IsInline - { - bool get(); - void set(bool); - } - }; - - public ref class PreprocessedEntity : ICppInstance - { - public: - - property ::CppSharp::CppParser::AST::PreprocessedEntity* NativePtr; - property System::IntPtr __Instance - { - virtual System::IntPtr get(); - virtual void set(System::IntPtr instance); - } - - PreprocessedEntity(::CppSharp::CppParser::AST::PreprocessedEntity* native); - static PreprocessedEntity^ __CreateInstance(::System::IntPtr native); - PreprocessedEntity(); - - PreprocessedEntity(CppSharp::Parser::AST::PreprocessedEntity^ _0); - - ~PreprocessedEntity(); - - property CppSharp::Parser::AST::MacroLocation MacroLocation - { - CppSharp::Parser::AST::MacroLocation get(); - void set(CppSharp::Parser::AST::MacroLocation); - } - - property ::System::IntPtr OriginalPtr - { - ::System::IntPtr get(); - void set(::System::IntPtr); - } - - property CppSharp::Parser::AST::DeclarationKind Kind - { - CppSharp::Parser::AST::DeclarationKind get(); - void set(CppSharp::Parser::AST::DeclarationKind); - } - - protected: - bool __ownsNativeInstance; - }; - - public ref class MacroDefinition : CppSharp::Parser::AST::PreprocessedEntity - { - public: - - MacroDefinition(::CppSharp::CppParser::AST::MacroDefinition* native); - static MacroDefinition^ __CreateInstance(::System::IntPtr native); - MacroDefinition(); - - MacroDefinition(CppSharp::Parser::AST::MacroDefinition^ _0); - - ~MacroDefinition(); - - property System::String^ Name - { - System::String^ get(); - void set(System::String^); - } - - property System::String^ Expression - { - System::String^ get(); - void set(System::String^); - } - - property int LineNumberStart - { - int get(); - void set(int); - } - - property int LineNumberEnd - { - int get(); - void set(int); - } - }; - - public ref class MacroExpansion : CppSharp::Parser::AST::PreprocessedEntity - { - public: - - MacroExpansion(::CppSharp::CppParser::AST::MacroExpansion* native); - static MacroExpansion^ __CreateInstance(::System::IntPtr native); - MacroExpansion(); - - MacroExpansion(CppSharp::Parser::AST::MacroExpansion^ _0); - - ~MacroExpansion(); - - property System::String^ Name - { - System::String^ get(); - void set(System::String^); - } - - property System::String^ Text - { - System::String^ get(); - void set(System::String^); - } - - property CppSharp::Parser::AST::MacroDefinition^ Definition - { - CppSharp::Parser::AST::MacroDefinition^ get(); - void set(CppSharp::Parser::AST::MacroDefinition^); - } - }; - - public ref class TranslationUnit : CppSharp::Parser::AST::Namespace - { - public: - - TranslationUnit(::CppSharp::CppParser::AST::TranslationUnit* native); - static TranslationUnit^ __CreateInstance(::System::IntPtr native); - TranslationUnit(); - - TranslationUnit(CppSharp::Parser::AST::TranslationUnit^ _0); - - ~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^ Macros - { - System::Collections::Generic::List^ get(); - void set(System::Collections::Generic::List^); - } - - property unsigned int MacrosCount - { - unsigned int get(); - } - - CppSharp::Parser::AST::MacroDefinition^ GetMacros(unsigned int i); - - void AddMacros(CppSharp::Parser::AST::MacroDefinition^ s); - - void ClearMacros(); - }; - - public ref class NativeLibrary : ICppInstance - { - public: - - property ::CppSharp::CppParser::AST::NativeLibrary* NativePtr; - property System::IntPtr __Instance - { - virtual System::IntPtr get(); - virtual void set(System::IntPtr instance); - } - - NativeLibrary(::CppSharp::CppParser::AST::NativeLibrary* native); - static NativeLibrary^ __CreateInstance(::System::IntPtr native); - NativeLibrary(); - - NativeLibrary(CppSharp::Parser::AST::NativeLibrary^ _0); - - ~NativeLibrary(); - - property System::String^ FileName - { - System::String^ get(); - void set(System::String^); - } - - property CppSharp::Parser::AST::ArchType ArchType - { - CppSharp::Parser::AST::ArchType get(); - void set(CppSharp::Parser::AST::ArchType); - } - - property System::Collections::Generic::List^ Symbols - { - System::Collections::Generic::List^ get(); - void set(System::Collections::Generic::List^); - } - - property System::Collections::Generic::List^ Dependencies - { - System::Collections::Generic::List^ get(); - void set(System::Collections::Generic::List^); - } - - property unsigned int SymbolsCount - { - unsigned int get(); - } - - property unsigned int DependenciesCount - { - unsigned int get(); - } - - System::String^ GetSymbols(unsigned int i); - - void AddSymbols(System::String^ s); - - void ClearSymbols(); - - System::String^ GetDependencies(unsigned int i); - - void AddDependencies(System::String^ s); + void AddDependencies(System::String^ s); void ClearDependencies(); @@ -3281,48 +153,6 @@ namespace CppSharp bool __ownsNativeInstance; }; - public ref class ASTContext : ICppInstance - { - public: - - property ::CppSharp::CppParser::AST::ASTContext* NativePtr; - property System::IntPtr __Instance - { - virtual System::IntPtr get(); - virtual void set(System::IntPtr instance); - } - - ASTContext(::CppSharp::CppParser::AST::ASTContext* native); - static ASTContext^ __CreateInstance(::System::IntPtr native); - ASTContext(); - - ASTContext(CppSharp::Parser::AST::ASTContext^ _0); - - ~ASTContext(); - - property System::Collections::Generic::List^ TranslationUnits - { - System::Collections::Generic::List^ get(); - void set(System::Collections::Generic::List^); - } - - property unsigned int TranslationUnitsCount - { - unsigned int get(); - } - - CppSharp::Parser::AST::TranslationUnit^ FindOrCreateModule(System::String^ File); - - CppSharp::Parser::AST::TranslationUnit^ GetTranslationUnits(unsigned int i); - - void AddTranslationUnits(CppSharp::Parser::AST::TranslationUnit^ s); - - void ClearTranslationUnits(); - - protected: - bool __ownsNativeInstance; - }; - public ref class Comment : ICppInstance { public: diff --git a/src/CppParser/Bindings/CLI/CppParser.cpp b/src/CppParser/Bindings/CLI/CppParser.cpp index bd12a948..16a3a999 100644 --- a/src/CppParser/Bindings/CLI/CppParser.cpp +++ b/src/CppParser/Bindings/CLI/CppParser.cpp @@ -6,6 +6,7 @@ // ---------------------------------------------------------------------------- #include "CppParser.h" #include "AST.h" +#include "Decl.h" #include "Target.h" using namespace System; diff --git a/src/CppParser/Bindings/CLI/Decl.cpp b/src/CppParser/Bindings/CLI/Decl.cpp new file mode 100644 index 00000000..81de06a8 --- /dev/null +++ b/src/CppParser/Bindings/CLI/Decl.cpp @@ -0,0 +1,4905 @@ +// ---------------------------------------------------------------------------- +// +// This is autogenerated code by CppSharp. +// Do not edit this file or all your changes will be lost after re-generation. +// +// ---------------------------------------------------------------------------- +#include "Decl.h" +#include "AST.h" +#include "Types.h" + +using namespace System; +using namespace System::Runtime::InteropServices; + +CppSharp::Parser::AST::Declaration::Declaration(::CppSharp::CppParser::AST::Declaration* native) + : __ownsNativeInstance(false) +{ + NativePtr = native; +} + +CppSharp::Parser::AST::Declaration^ CppSharp::Parser::AST::Declaration::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*) native.ToPointer()); +} + +CppSharp::Parser::AST::Declaration::~Declaration() +{ + delete NativePtr; +} + +CppSharp::Parser::AST::Declaration::Declaration(CppSharp::Parser::AST::DeclarationKind kind) +{ + __ownsNativeInstance = true; + auto __arg0 = (::CppSharp::CppParser::AST::DeclarationKind)kind; + NativePtr = new ::CppSharp::CppParser::AST::Declaration(__arg0); +} + +CppSharp::Parser::AST::Declaration::Declaration(CppSharp::Parser::AST::Declaration^ _0) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::Declaration*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::Declaration(__arg0); +} + +CppSharp::Parser::AST::PreprocessedEntity^ CppSharp::Parser::AST::Declaration::GetPreprocessedEntities(unsigned int i) +{ + auto __ret = ((::CppSharp::CppParser::AST::Declaration*)NativePtr)->getPreprocessedEntities(i); + if (__ret == nullptr) return nullptr; + return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::PreprocessedEntity((::CppSharp::CppParser::AST::PreprocessedEntity*)__ret); +} + +void CppSharp::Parser::AST::Declaration::AddPreprocessedEntities(CppSharp::Parser::AST::PreprocessedEntity^ s) +{ + if (ReferenceEquals(s, nullptr)) + throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + auto __arg0 = (::CppSharp::CppParser::AST::PreprocessedEntity*)s->NativePtr; + ((::CppSharp::CppParser::AST::Declaration*)NativePtr)->addPreprocessedEntities(__arg0); +} + +void CppSharp::Parser::AST::Declaration::ClearPreprocessedEntities() +{ + ((::CppSharp::CppParser::AST::Declaration*)NativePtr)->clearPreprocessedEntities(); +} + +CppSharp::Parser::AST::Declaration^ CppSharp::Parser::AST::Declaration::GetRedeclarations(unsigned int i) +{ + auto __ret = ((::CppSharp::CppParser::AST::Declaration*)NativePtr)->getRedeclarations(i); + if (__ret == nullptr) return nullptr; + return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)__ret); +} + +void CppSharp::Parser::AST::Declaration::AddRedeclarations(CppSharp::Parser::AST::Declaration^ s) +{ + if (ReferenceEquals(s, nullptr)) + throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + auto __arg0 = (::CppSharp::CppParser::AST::Declaration*)s->NativePtr; + ((::CppSharp::CppParser::AST::Declaration*)NativePtr)->addRedeclarations(__arg0); +} + +void CppSharp::Parser::AST::Declaration::ClearRedeclarations() +{ + ((::CppSharp::CppParser::AST::Declaration*)NativePtr)->clearRedeclarations(); +} + +CppSharp::Parser::AST::Declaration::operator CppSharp::Parser::AST::Declaration^(CppSharp::Parser::AST::DeclarationKind kind) +{ + auto __arg0 = (::CppSharp::CppParser::AST::DeclarationKind)kind; + auto __ret = (::CppSharp::CppParser::AST::Declaration) __arg0; + auto ____ret = new ::CppSharp::CppParser::AST::Declaration(__ret); + return (____ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)____ret); +} + +System::IntPtr CppSharp::Parser::AST::Declaration::__Instance::get() +{ + return System::IntPtr(NativePtr); +} + +void CppSharp::Parser::AST::Declaration::__Instance::set(System::IntPtr object) +{ + NativePtr = (::CppSharp::CppParser::AST::Declaration*)object.ToPointer(); +} + +CppSharp::Parser::AST::DeclarationKind CppSharp::Parser::AST::Declaration::Kind::get() +{ + return (CppSharp::Parser::AST::DeclarationKind)((::CppSharp::CppParser::AST::Declaration*)NativePtr)->kind; +} + +void CppSharp::Parser::AST::Declaration::Kind::set(CppSharp::Parser::AST::DeclarationKind value) +{ + ((::CppSharp::CppParser::AST::Declaration*)NativePtr)->kind = (::CppSharp::CppParser::AST::DeclarationKind)value; +} + +int CppSharp::Parser::AST::Declaration::MaxFieldAlignment::get() +{ + return ((::CppSharp::CppParser::AST::Declaration*)NativePtr)->maxFieldAlignment; +} + +void CppSharp::Parser::AST::Declaration::MaxFieldAlignment::set(int value) +{ + ((::CppSharp::CppParser::AST::Declaration*)NativePtr)->maxFieldAlignment = value; +} + +CppSharp::Parser::AST::AccessSpecifier CppSharp::Parser::AST::Declaration::Access::get() +{ + return (CppSharp::Parser::AST::AccessSpecifier)((::CppSharp::CppParser::AST::Declaration*)NativePtr)->access; +} + +void CppSharp::Parser::AST::Declaration::Access::set(CppSharp::Parser::AST::AccessSpecifier value) +{ + ((::CppSharp::CppParser::AST::Declaration*)NativePtr)->access = (::CppSharp::CppParser::AST::AccessSpecifier)value; +} + +CppSharp::Parser::AST::DeclarationContext^ CppSharp::Parser::AST::Declaration::Namespace::get() +{ + return (((::CppSharp::CppParser::AST::Declaration*)NativePtr)->_namespace == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::DeclarationContext((::CppSharp::CppParser::AST::DeclarationContext*)((::CppSharp::CppParser::AST::Declaration*)NativePtr)->_namespace); +} + +void CppSharp::Parser::AST::Declaration::Namespace::set(CppSharp::Parser::AST::DeclarationContext^ value) +{ + ((::CppSharp::CppParser::AST::Declaration*)NativePtr)->_namespace = (::CppSharp::CppParser::AST::DeclarationContext*)value->NativePtr; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::AST::Declaration::Location::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::AST::Declaration*)NativePtr)->location); +} + +void CppSharp::Parser::AST::Declaration::Location::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::AST::Declaration*)NativePtr)->location = _marshal0; +} + +int CppSharp::Parser::AST::Declaration::LineNumberStart::get() +{ + return ((::CppSharp::CppParser::AST::Declaration*)NativePtr)->lineNumberStart; +} + +void CppSharp::Parser::AST::Declaration::LineNumberStart::set(int value) +{ + ((::CppSharp::CppParser::AST::Declaration*)NativePtr)->lineNumberStart = value; +} + +int CppSharp::Parser::AST::Declaration::LineNumberEnd::get() +{ + return ((::CppSharp::CppParser::AST::Declaration*)NativePtr)->lineNumberEnd; +} + +void CppSharp::Parser::AST::Declaration::LineNumberEnd::set(int value) +{ + ((::CppSharp::CppParser::AST::Declaration*)NativePtr)->lineNumberEnd = value; +} + +System::String^ CppSharp::Parser::AST::Declaration::Name::get() +{ + return clix::marshalString(((::CppSharp::CppParser::AST::Declaration*)NativePtr)->name); +} + +void CppSharp::Parser::AST::Declaration::Name::set(System::String^ value) +{ + ((::CppSharp::CppParser::AST::Declaration*)NativePtr)->name = clix::marshalString(value); +} + +System::String^ CppSharp::Parser::AST::Declaration::USR::get() +{ + return clix::marshalString(((::CppSharp::CppParser::AST::Declaration*)NativePtr)->USR); +} + +void CppSharp::Parser::AST::Declaration::USR::set(System::String^ value) +{ + ((::CppSharp::CppParser::AST::Declaration*)NativePtr)->USR = clix::marshalString(value); +} + +System::String^ CppSharp::Parser::AST::Declaration::DebugText::get() +{ + return clix::marshalString(((::CppSharp::CppParser::AST::Declaration*)NativePtr)->debugText); +} + +void CppSharp::Parser::AST::Declaration::DebugText::set(System::String^ value) +{ + ((::CppSharp::CppParser::AST::Declaration*)NativePtr)->debugText = clix::marshalString(value); +} + +bool CppSharp::Parser::AST::Declaration::IsIncomplete::get() +{ + return ((::CppSharp::CppParser::AST::Declaration*)NativePtr)->isIncomplete; +} + +void CppSharp::Parser::AST::Declaration::IsIncomplete::set(bool value) +{ + ((::CppSharp::CppParser::AST::Declaration*)NativePtr)->isIncomplete = value; +} + +bool CppSharp::Parser::AST::Declaration::IsDependent::get() +{ + return ((::CppSharp::CppParser::AST::Declaration*)NativePtr)->isDependent; +} + +void CppSharp::Parser::AST::Declaration::IsDependent::set(bool value) +{ + ((::CppSharp::CppParser::AST::Declaration*)NativePtr)->isDependent = value; +} + +bool CppSharp::Parser::AST::Declaration::IsImplicit::get() +{ + return ((::CppSharp::CppParser::AST::Declaration*)NativePtr)->isImplicit; +} + +void CppSharp::Parser::AST::Declaration::IsImplicit::set(bool value) +{ + ((::CppSharp::CppParser::AST::Declaration*)NativePtr)->isImplicit = value; +} + +bool CppSharp::Parser::AST::Declaration::IsInvalid::get() +{ + return ((::CppSharp::CppParser::AST::Declaration*)NativePtr)->isInvalid; +} + +void CppSharp::Parser::AST::Declaration::IsInvalid::set(bool value) +{ + ((::CppSharp::CppParser::AST::Declaration*)NativePtr)->isInvalid = value; +} + +CppSharp::Parser::AST::Declaration^ CppSharp::Parser::AST::Declaration::CompleteDeclaration::get() +{ + return (((::CppSharp::CppParser::AST::Declaration*)NativePtr)->completeDeclaration == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)((::CppSharp::CppParser::AST::Declaration*)NativePtr)->completeDeclaration); +} + +void CppSharp::Parser::AST::Declaration::CompleteDeclaration::set(CppSharp::Parser::AST::Declaration^ value) +{ + ((::CppSharp::CppParser::AST::Declaration*)NativePtr)->completeDeclaration = (::CppSharp::CppParser::AST::Declaration*)value->NativePtr; +} + +unsigned int CppSharp::Parser::AST::Declaration::DefinitionOrder::get() +{ + return ((::CppSharp::CppParser::AST::Declaration*)NativePtr)->definitionOrder; +} + +void CppSharp::Parser::AST::Declaration::DefinitionOrder::set(unsigned int value) +{ + ((::CppSharp::CppParser::AST::Declaration*)NativePtr)->definitionOrder = value; +} + +System::Collections::Generic::List^ CppSharp::Parser::AST::Declaration::PreprocessedEntities::get() +{ + auto _tmp__PreprocessedEntities = gcnew System::Collections::Generic::List(); + for(auto _element : ((::CppSharp::CppParser::AST::Declaration*)NativePtr)->PreprocessedEntities) + { + auto _marshalElement = (_element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::PreprocessedEntity((::CppSharp::CppParser::AST::PreprocessedEntity*)_element); + _tmp__PreprocessedEntities->Add(_marshalElement); + } + return _tmp__PreprocessedEntities; +} + +void CppSharp::Parser::AST::Declaration::PreprocessedEntities::set(System::Collections::Generic::List^ value) +{ + auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::PreprocessedEntity*>(); + for each(CppSharp::Parser::AST::PreprocessedEntity^ _element in value) + { + auto _marshalElement = (::CppSharp::CppParser::AST::PreprocessedEntity*)_element->NativePtr; + _tmpvalue.push_back(_marshalElement); + } + ((::CppSharp::CppParser::AST::Declaration*)NativePtr)->PreprocessedEntities = _tmpvalue; +} + +System::Collections::Generic::List^ CppSharp::Parser::AST::Declaration::Redeclarations::get() +{ + auto _tmp__Redeclarations = gcnew System::Collections::Generic::List(); + for(auto _element : ((::CppSharp::CppParser::AST::Declaration*)NativePtr)->Redeclarations) + { + auto _marshalElement = (_element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)_element); + _tmp__Redeclarations->Add(_marshalElement); + } + return _tmp__Redeclarations; +} + +void CppSharp::Parser::AST::Declaration::Redeclarations::set(System::Collections::Generic::List^ value) +{ + auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::Declaration*>(); + for each(CppSharp::Parser::AST::Declaration^ _element in value) + { + auto _marshalElement = (::CppSharp::CppParser::AST::Declaration*)_element->NativePtr; + _tmpvalue.push_back(_marshalElement); + } + ((::CppSharp::CppParser::AST::Declaration*)NativePtr)->Redeclarations = _tmpvalue; +} + +::System::IntPtr CppSharp::Parser::AST::Declaration::OriginalPtr::get() +{ + return ::System::IntPtr(((::CppSharp::CppParser::AST::Declaration*)NativePtr)->originalPtr); +} + +void CppSharp::Parser::AST::Declaration::OriginalPtr::set(::System::IntPtr value) +{ + ((::CppSharp::CppParser::AST::Declaration*)NativePtr)->originalPtr = (void*)value; +} + +CppSharp::Parser::AST::RawComment^ CppSharp::Parser::AST::Declaration::Comment::get() +{ + return (((::CppSharp::CppParser::AST::Declaration*)NativePtr)->comment == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::RawComment((::CppSharp::CppParser::AST::RawComment*)((::CppSharp::CppParser::AST::Declaration*)NativePtr)->comment); +} + +void CppSharp::Parser::AST::Declaration::Comment::set(CppSharp::Parser::AST::RawComment^ value) +{ + ((::CppSharp::CppParser::AST::Declaration*)NativePtr)->comment = (::CppSharp::CppParser::AST::RawComment*)value->NativePtr; +} + +unsigned int CppSharp::Parser::AST::Declaration::PreprocessedEntitiesCount::get() +{ + auto __ret = ((::CppSharp::CppParser::AST::Declaration*)NativePtr)->getPreprocessedEntitiesCount(); + return __ret; +} + +unsigned int CppSharp::Parser::AST::Declaration::RedeclarationsCount::get() +{ + auto __ret = ((::CppSharp::CppParser::AST::Declaration*)NativePtr)->getRedeclarationsCount(); + return __ret; +} + +CppSharp::Parser::AST::DeclarationContext::DeclarationContext(::CppSharp::CppParser::AST::DeclarationContext* native) + : CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)native) +{ +} + +CppSharp::Parser::AST::DeclarationContext^ CppSharp::Parser::AST::DeclarationContext::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::DeclarationContext((::CppSharp::CppParser::AST::DeclarationContext*) native.ToPointer()); +} + +CppSharp::Parser::AST::DeclarationContext::~DeclarationContext() +{ + if (NativePtr) + { + auto __nativePtr = NativePtr; + NativePtr = 0; + delete (::CppSharp::CppParser::AST::DeclarationContext*) __nativePtr; + } +} + +CppSharp::Parser::AST::DeclarationContext::DeclarationContext(CppSharp::Parser::AST::DeclarationKind kind) + : CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)nullptr) +{ + __ownsNativeInstance = true; + auto __arg0 = (::CppSharp::CppParser::AST::DeclarationKind)kind; + NativePtr = new ::CppSharp::CppParser::AST::DeclarationContext(__arg0); +} + +CppSharp::Parser::AST::Namespace^ CppSharp::Parser::AST::DeclarationContext::GetNamespaces(unsigned int i) +{ + auto __ret = ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->getNamespaces(i); + if (__ret == nullptr) return nullptr; + return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Namespace((::CppSharp::CppParser::AST::Namespace*)__ret); +} + +void CppSharp::Parser::AST::DeclarationContext::AddNamespaces(CppSharp::Parser::AST::Namespace^ s) +{ + if (ReferenceEquals(s, nullptr)) + throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + auto __arg0 = (::CppSharp::CppParser::AST::Namespace*)s->NativePtr; + ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->addNamespaces(__arg0); +} + +void CppSharp::Parser::AST::DeclarationContext::ClearNamespaces() +{ + ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->clearNamespaces(); +} + +CppSharp::Parser::AST::Enumeration^ CppSharp::Parser::AST::DeclarationContext::GetEnums(unsigned int i) +{ + auto __ret = ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->getEnums(i); + if (__ret == nullptr) return nullptr; + return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Enumeration((::CppSharp::CppParser::AST::Enumeration*)__ret); +} + +void CppSharp::Parser::AST::DeclarationContext::AddEnums(CppSharp::Parser::AST::Enumeration^ s) +{ + if (ReferenceEquals(s, nullptr)) + throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + auto __arg0 = (::CppSharp::CppParser::AST::Enumeration*)s->NativePtr; + ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->addEnums(__arg0); +} + +void CppSharp::Parser::AST::DeclarationContext::ClearEnums() +{ + ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->clearEnums(); +} + +CppSharp::Parser::AST::Function^ CppSharp::Parser::AST::DeclarationContext::GetFunctions(unsigned int i) +{ + auto __ret = ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->getFunctions(i); + if (__ret == nullptr) return nullptr; + return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Function((::CppSharp::CppParser::AST::Function*)__ret); +} + +void CppSharp::Parser::AST::DeclarationContext::AddFunctions(CppSharp::Parser::AST::Function^ s) +{ + if (ReferenceEquals(s, nullptr)) + throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + auto __arg0 = (::CppSharp::CppParser::AST::Function*)s->NativePtr; + ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->addFunctions(__arg0); +} + +void CppSharp::Parser::AST::DeclarationContext::ClearFunctions() +{ + ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->clearFunctions(); +} + +CppSharp::Parser::AST::Class^ CppSharp::Parser::AST::DeclarationContext::GetClasses(unsigned int i) +{ + auto __ret = ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->getClasses(i); + if (__ret == nullptr) return nullptr; + return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Class((::CppSharp::CppParser::AST::Class*)__ret); +} + +void CppSharp::Parser::AST::DeclarationContext::AddClasses(CppSharp::Parser::AST::Class^ s) +{ + if (ReferenceEquals(s, nullptr)) + throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + auto __arg0 = (::CppSharp::CppParser::AST::Class*)s->NativePtr; + ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->addClasses(__arg0); +} + +void CppSharp::Parser::AST::DeclarationContext::ClearClasses() +{ + ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->clearClasses(); +} + +CppSharp::Parser::AST::Template^ CppSharp::Parser::AST::DeclarationContext::GetTemplates(unsigned int i) +{ + auto __ret = ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->getTemplates(i); + if (__ret == nullptr) return nullptr; + return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Template((::CppSharp::CppParser::AST::Template*)__ret); +} + +void CppSharp::Parser::AST::DeclarationContext::AddTemplates(CppSharp::Parser::AST::Template^ s) +{ + if (ReferenceEquals(s, nullptr)) + throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + auto __arg0 = (::CppSharp::CppParser::AST::Template*)s->NativePtr; + ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->addTemplates(__arg0); +} + +void CppSharp::Parser::AST::DeclarationContext::ClearTemplates() +{ + ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->clearTemplates(); +} + +CppSharp::Parser::AST::TypedefDecl^ CppSharp::Parser::AST::DeclarationContext::GetTypedefs(unsigned int i) +{ + auto __ret = ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->getTypedefs(i); + if (__ret == nullptr) return nullptr; + return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::TypedefDecl((::CppSharp::CppParser::AST::TypedefDecl*)__ret); +} + +void CppSharp::Parser::AST::DeclarationContext::AddTypedefs(CppSharp::Parser::AST::TypedefDecl^ s) +{ + if (ReferenceEquals(s, nullptr)) + throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + auto __arg0 = (::CppSharp::CppParser::AST::TypedefDecl*)s->NativePtr; + ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->addTypedefs(__arg0); +} + +void CppSharp::Parser::AST::DeclarationContext::ClearTypedefs() +{ + ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->clearTypedefs(); +} + +CppSharp::Parser::AST::TypeAlias^ CppSharp::Parser::AST::DeclarationContext::GetTypeAliases(unsigned int i) +{ + auto __ret = ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->getTypeAliases(i); + if (__ret == nullptr) return nullptr; + return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::TypeAlias((::CppSharp::CppParser::AST::TypeAlias*)__ret); +} + +void CppSharp::Parser::AST::DeclarationContext::AddTypeAliases(CppSharp::Parser::AST::TypeAlias^ s) +{ + if (ReferenceEquals(s, nullptr)) + throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + auto __arg0 = (::CppSharp::CppParser::AST::TypeAlias*)s->NativePtr; + ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->addTypeAliases(__arg0); +} + +void CppSharp::Parser::AST::DeclarationContext::ClearTypeAliases() +{ + ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->clearTypeAliases(); +} + +CppSharp::Parser::AST::Variable^ CppSharp::Parser::AST::DeclarationContext::GetVariables(unsigned int i) +{ + auto __ret = ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->getVariables(i); + if (__ret == nullptr) return nullptr; + return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Variable((::CppSharp::CppParser::AST::Variable*)__ret); +} + +void CppSharp::Parser::AST::DeclarationContext::AddVariables(CppSharp::Parser::AST::Variable^ s) +{ + if (ReferenceEquals(s, nullptr)) + throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + auto __arg0 = (::CppSharp::CppParser::AST::Variable*)s->NativePtr; + ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->addVariables(__arg0); +} + +void CppSharp::Parser::AST::DeclarationContext::ClearVariables() +{ + ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->clearVariables(); +} + +CppSharp::Parser::AST::Friend^ CppSharp::Parser::AST::DeclarationContext::GetFriends(unsigned int i) +{ + auto __ret = ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->getFriends(i); + if (__ret == nullptr) return nullptr; + return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Friend((::CppSharp::CppParser::AST::Friend*)__ret); +} + +void CppSharp::Parser::AST::DeclarationContext::AddFriends(CppSharp::Parser::AST::Friend^ s) +{ + if (ReferenceEquals(s, nullptr)) + throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + auto __arg0 = (::CppSharp::CppParser::AST::Friend*)s->NativePtr; + ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->addFriends(__arg0); +} + +void CppSharp::Parser::AST::DeclarationContext::ClearFriends() +{ + ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->clearFriends(); +} + +CppSharp::Parser::AST::DeclarationContext::DeclarationContext(CppSharp::Parser::AST::DeclarationContext^ _0) + : CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::DeclarationContext*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::DeclarationContext(__arg0); +} + +CppSharp::Parser::AST::DeclarationContext::operator CppSharp::Parser::AST::DeclarationContext^(CppSharp::Parser::AST::DeclarationKind kind) +{ + auto __arg0 = (::CppSharp::CppParser::AST::DeclarationKind)kind; + auto __ret = (::CppSharp::CppParser::AST::DeclarationContext) __arg0; + auto ____ret = new ::CppSharp::CppParser::AST::DeclarationContext(__ret); + return (____ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::DeclarationContext((::CppSharp::CppParser::AST::DeclarationContext*)____ret); +} + +System::Collections::Generic::List^ CppSharp::Parser::AST::DeclarationContext::Namespaces::get() +{ + auto _tmp__Namespaces_ = gcnew System::Collections::Generic::List(); + for(auto _element : ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->Namespaces) + { + auto _marshalElement = (_element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Namespace((::CppSharp::CppParser::AST::Namespace*)_element); + _tmp__Namespaces_->Add(_marshalElement); + } + return _tmp__Namespaces_; +} + +void CppSharp::Parser::AST::DeclarationContext::Namespaces::set(System::Collections::Generic::List^ value) +{ + auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::Namespace*>(); + for each(CppSharp::Parser::AST::Namespace^ _element in value) + { + auto _marshalElement = (::CppSharp::CppParser::AST::Namespace*)_element->NativePtr; + _tmpvalue.push_back(_marshalElement); + } + ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->Namespaces = _tmpvalue; +} + +System::Collections::Generic::List^ CppSharp::Parser::AST::DeclarationContext::Enums::get() +{ + auto _tmp__Enums_ = gcnew System::Collections::Generic::List(); + for(auto _element : ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->Enums) + { + auto _marshalElement = (_element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Enumeration((::CppSharp::CppParser::AST::Enumeration*)_element); + _tmp__Enums_->Add(_marshalElement); + } + return _tmp__Enums_; +} + +void CppSharp::Parser::AST::DeclarationContext::Enums::set(System::Collections::Generic::List^ value) +{ + auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::Enumeration*>(); + for each(CppSharp::Parser::AST::Enumeration^ _element in value) + { + auto _marshalElement = (::CppSharp::CppParser::AST::Enumeration*)_element->NativePtr; + _tmpvalue.push_back(_marshalElement); + } + ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->Enums = _tmpvalue; +} + +System::Collections::Generic::List^ CppSharp::Parser::AST::DeclarationContext::Functions::get() +{ + auto _tmp__Functions_ = gcnew System::Collections::Generic::List(); + for(auto _element : ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->Functions) + { + auto _marshalElement = (_element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Function((::CppSharp::CppParser::AST::Function*)_element); + _tmp__Functions_->Add(_marshalElement); + } + return _tmp__Functions_; +} + +void CppSharp::Parser::AST::DeclarationContext::Functions::set(System::Collections::Generic::List^ value) +{ + auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::Function*>(); + for each(CppSharp::Parser::AST::Function^ _element in value) + { + auto _marshalElement = (::CppSharp::CppParser::AST::Function*)_element->NativePtr; + _tmpvalue.push_back(_marshalElement); + } + ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->Functions = _tmpvalue; +} + +System::Collections::Generic::List^ CppSharp::Parser::AST::DeclarationContext::Classes::get() +{ + auto _tmp__Classes_ = gcnew System::Collections::Generic::List(); + for(auto _element : ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->Classes) + { + auto _marshalElement = (_element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Class((::CppSharp::CppParser::AST::Class*)_element); + _tmp__Classes_->Add(_marshalElement); + } + return _tmp__Classes_; +} + +void CppSharp::Parser::AST::DeclarationContext::Classes::set(System::Collections::Generic::List^ value) +{ + auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::Class*>(); + for each(CppSharp::Parser::AST::Class^ _element in value) + { + auto _marshalElement = (::CppSharp::CppParser::AST::Class*)_element->NativePtr; + _tmpvalue.push_back(_marshalElement); + } + ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->Classes = _tmpvalue; +} + +System::Collections::Generic::List^ CppSharp::Parser::AST::DeclarationContext::Templates::get() +{ + auto _tmp__Templates = gcnew System::Collections::Generic::List(); + for(auto _element : ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->Templates) + { + auto _marshalElement = (_element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Template((::CppSharp::CppParser::AST::Template*)_element); + _tmp__Templates->Add(_marshalElement); + } + return _tmp__Templates; +} + +void CppSharp::Parser::AST::DeclarationContext::Templates::set(System::Collections::Generic::List^ value) +{ + auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::Template*>(); + for each(CppSharp::Parser::AST::Template^ _element in value) + { + auto _marshalElement = (::CppSharp::CppParser::AST::Template*)_element->NativePtr; + _tmpvalue.push_back(_marshalElement); + } + ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->Templates = _tmpvalue; +} + +System::Collections::Generic::List^ CppSharp::Parser::AST::DeclarationContext::Typedefs::get() +{ + auto _tmp__Typedefs = gcnew System::Collections::Generic::List(); + for(auto _element : ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->Typedefs) + { + auto _marshalElement = (_element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::TypedefDecl((::CppSharp::CppParser::AST::TypedefDecl*)_element); + _tmp__Typedefs->Add(_marshalElement); + } + return _tmp__Typedefs; +} + +void CppSharp::Parser::AST::DeclarationContext::Typedefs::set(System::Collections::Generic::List^ value) +{ + auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::TypedefDecl*>(); + for each(CppSharp::Parser::AST::TypedefDecl^ _element in value) + { + auto _marshalElement = (::CppSharp::CppParser::AST::TypedefDecl*)_element->NativePtr; + _tmpvalue.push_back(_marshalElement); + } + ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->Typedefs = _tmpvalue; +} + +System::Collections::Generic::List^ CppSharp::Parser::AST::DeclarationContext::TypeAliases::get() +{ + auto _tmp__TypeAliases = gcnew System::Collections::Generic::List(); + for(auto _element : ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->TypeAliases) + { + auto _marshalElement = (_element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::TypeAlias((::CppSharp::CppParser::AST::TypeAlias*)_element); + _tmp__TypeAliases->Add(_marshalElement); + } + return _tmp__TypeAliases; +} + +void CppSharp::Parser::AST::DeclarationContext::TypeAliases::set(System::Collections::Generic::List^ value) +{ + auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::TypeAlias*>(); + for each(CppSharp::Parser::AST::TypeAlias^ _element in value) + { + auto _marshalElement = (::CppSharp::CppParser::AST::TypeAlias*)_element->NativePtr; + _tmpvalue.push_back(_marshalElement); + } + ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->TypeAliases = _tmpvalue; +} + +System::Collections::Generic::List^ CppSharp::Parser::AST::DeclarationContext::Variables::get() +{ + auto _tmp__Variables = gcnew System::Collections::Generic::List(); + for(auto _element : ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->Variables) + { + auto _marshalElement = (_element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Variable((::CppSharp::CppParser::AST::Variable*)_element); + _tmp__Variables->Add(_marshalElement); + } + return _tmp__Variables; +} + +void CppSharp::Parser::AST::DeclarationContext::Variables::set(System::Collections::Generic::List^ value) +{ + auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::Variable*>(); + for each(CppSharp::Parser::AST::Variable^ _element in value) + { + auto _marshalElement = (::CppSharp::CppParser::AST::Variable*)_element->NativePtr; + _tmpvalue.push_back(_marshalElement); + } + ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->Variables = _tmpvalue; +} + +System::Collections::Generic::List^ CppSharp::Parser::AST::DeclarationContext::Friends::get() +{ + auto _tmp__Friends = gcnew System::Collections::Generic::List(); + for(auto _element : ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->Friends) + { + auto _marshalElement = (_element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Friend((::CppSharp::CppParser::AST::Friend*)_element); + _tmp__Friends->Add(_marshalElement); + } + return _tmp__Friends; +} + +void CppSharp::Parser::AST::DeclarationContext::Friends::set(System::Collections::Generic::List^ value) +{ + auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::Friend*>(); + for each(CppSharp::Parser::AST::Friend^ _element in value) + { + auto _marshalElement = (::CppSharp::CppParser::AST::Friend*)_element->NativePtr; + _tmpvalue.push_back(_marshalElement); + } + ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->Friends = _tmpvalue; +} + +bool CppSharp::Parser::AST::DeclarationContext::IsAnonymous::get() +{ + return ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->isAnonymous; +} + +void CppSharp::Parser::AST::DeclarationContext::IsAnonymous::set(bool value) +{ + ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->isAnonymous = value; +} + +unsigned int CppSharp::Parser::AST::DeclarationContext::NamespacesCount::get() +{ + auto __ret = ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->getNamespacesCount(); + return __ret; +} + +unsigned int CppSharp::Parser::AST::DeclarationContext::EnumsCount::get() +{ + auto __ret = ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->getEnumsCount(); + return __ret; +} + +unsigned int CppSharp::Parser::AST::DeclarationContext::FunctionsCount::get() +{ + auto __ret = ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->getFunctionsCount(); + return __ret; +} + +unsigned int CppSharp::Parser::AST::DeclarationContext::ClassesCount::get() +{ + auto __ret = ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->getClassesCount(); + return __ret; +} + +unsigned int CppSharp::Parser::AST::DeclarationContext::TemplatesCount::get() +{ + auto __ret = ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->getTemplatesCount(); + return __ret; +} + +unsigned int CppSharp::Parser::AST::DeclarationContext::TypedefsCount::get() +{ + auto __ret = ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->getTypedefsCount(); + return __ret; +} + +unsigned int CppSharp::Parser::AST::DeclarationContext::TypeAliasesCount::get() +{ + auto __ret = ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->getTypeAliasesCount(); + return __ret; +} + +unsigned int CppSharp::Parser::AST::DeclarationContext::VariablesCount::get() +{ + auto __ret = ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->getVariablesCount(); + return __ret; +} + +unsigned int CppSharp::Parser::AST::DeclarationContext::FriendsCount::get() +{ + auto __ret = ((::CppSharp::CppParser::AST::DeclarationContext*)NativePtr)->getFriendsCount(); + return __ret; +} + +CppSharp::Parser::AST::TypedefNameDecl::TypedefNameDecl(::CppSharp::CppParser::AST::TypedefNameDecl* native) + : CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)native) +{ +} + +CppSharp::Parser::AST::TypedefNameDecl^ CppSharp::Parser::AST::TypedefNameDecl::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::TypedefNameDecl((::CppSharp::CppParser::AST::TypedefNameDecl*) native.ToPointer()); +} + +CppSharp::Parser::AST::TypedefNameDecl::~TypedefNameDecl() +{ + if (NativePtr) + { + auto __nativePtr = NativePtr; + NativePtr = 0; + delete (::CppSharp::CppParser::AST::TypedefNameDecl*) __nativePtr; + } +} + +CppSharp::Parser::AST::TypedefNameDecl::TypedefNameDecl(CppSharp::Parser::AST::DeclarationKind kind) + : CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)nullptr) +{ + __ownsNativeInstance = true; + auto __arg0 = (::CppSharp::CppParser::AST::DeclarationKind)kind; + NativePtr = new ::CppSharp::CppParser::AST::TypedefNameDecl(__arg0); +} + +CppSharp::Parser::AST::TypedefNameDecl::TypedefNameDecl(CppSharp::Parser::AST::TypedefNameDecl^ _0) + : CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::TypedefNameDecl*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::TypedefNameDecl(__arg0); +} + +CppSharp::Parser::AST::TypedefNameDecl::operator CppSharp::Parser::AST::TypedefNameDecl^(CppSharp::Parser::AST::DeclarationKind kind) +{ + auto __arg0 = (::CppSharp::CppParser::AST::DeclarationKind)kind; + auto __ret = (::CppSharp::CppParser::AST::TypedefNameDecl) __arg0; + auto ____ret = new ::CppSharp::CppParser::AST::TypedefNameDecl(__ret); + return (____ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::TypedefNameDecl((::CppSharp::CppParser::AST::TypedefNameDecl*)____ret); +} + +CppSharp::Parser::AST::QualifiedType^ CppSharp::Parser::AST::TypedefNameDecl::QualifiedType::get() +{ + return (&((::CppSharp::CppParser::AST::TypedefNameDecl*)NativePtr)->qualifiedType == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::QualifiedType((::CppSharp::CppParser::AST::QualifiedType*)&((::CppSharp::CppParser::AST::TypedefNameDecl*)NativePtr)->qualifiedType); +} + +void CppSharp::Parser::AST::TypedefNameDecl::QualifiedType::set(CppSharp::Parser::AST::QualifiedType^ value) +{ + ((::CppSharp::CppParser::AST::TypedefNameDecl*)NativePtr)->qualifiedType = *(::CppSharp::CppParser::AST::QualifiedType*)value->NativePtr; +} + +CppSharp::Parser::AST::TypedefDecl::TypedefDecl(::CppSharp::CppParser::AST::TypedefDecl* native) + : CppSharp::Parser::AST::TypedefNameDecl((::CppSharp::CppParser::AST::TypedefNameDecl*)native) +{ +} + +CppSharp::Parser::AST::TypedefDecl^ CppSharp::Parser::AST::TypedefDecl::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::TypedefDecl((::CppSharp::CppParser::AST::TypedefDecl*) native.ToPointer()); +} + +CppSharp::Parser::AST::TypedefDecl::~TypedefDecl() +{ + if (NativePtr) + { + auto __nativePtr = NativePtr; + NativePtr = 0; + delete (::CppSharp::CppParser::AST::TypedefDecl*) __nativePtr; + } +} + +CppSharp::Parser::AST::TypedefDecl::TypedefDecl() + : CppSharp::Parser::AST::TypedefNameDecl((::CppSharp::CppParser::AST::TypedefNameDecl*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::TypedefDecl(); +} + +CppSharp::Parser::AST::TypedefDecl::TypedefDecl(CppSharp::Parser::AST::TypedefDecl^ _0) + : CppSharp::Parser::AST::TypedefNameDecl((::CppSharp::CppParser::AST::TypedefNameDecl*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::TypedefDecl*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::TypedefDecl(__arg0); +} + +CppSharp::Parser::AST::TypeAlias::TypeAlias(::CppSharp::CppParser::AST::TypeAlias* native) + : CppSharp::Parser::AST::TypedefNameDecl((::CppSharp::CppParser::AST::TypedefNameDecl*)native) +{ +} + +CppSharp::Parser::AST::TypeAlias^ CppSharp::Parser::AST::TypeAlias::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::TypeAlias((::CppSharp::CppParser::AST::TypeAlias*) native.ToPointer()); +} + +CppSharp::Parser::AST::TypeAlias::~TypeAlias() +{ + if (NativePtr) + { + auto __nativePtr = NativePtr; + NativePtr = 0; + delete (::CppSharp::CppParser::AST::TypeAlias*) __nativePtr; + } +} + +CppSharp::Parser::AST::TypeAlias::TypeAlias() + : CppSharp::Parser::AST::TypedefNameDecl((::CppSharp::CppParser::AST::TypedefNameDecl*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::TypeAlias(); +} + +CppSharp::Parser::AST::TypeAlias::TypeAlias(CppSharp::Parser::AST::TypeAlias^ _0) + : CppSharp::Parser::AST::TypedefNameDecl((::CppSharp::CppParser::AST::TypedefNameDecl*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::TypeAlias*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::TypeAlias(__arg0); +} + +CppSharp::Parser::AST::TypeAliasTemplate^ CppSharp::Parser::AST::TypeAlias::DescribedAliasTemplate::get() +{ + return (((::CppSharp::CppParser::AST::TypeAlias*)NativePtr)->describedAliasTemplate == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::TypeAliasTemplate((::CppSharp::CppParser::AST::TypeAliasTemplate*)((::CppSharp::CppParser::AST::TypeAlias*)NativePtr)->describedAliasTemplate); +} + +void CppSharp::Parser::AST::TypeAlias::DescribedAliasTemplate::set(CppSharp::Parser::AST::TypeAliasTemplate^ value) +{ + ((::CppSharp::CppParser::AST::TypeAlias*)NativePtr)->describedAliasTemplate = (::CppSharp::CppParser::AST::TypeAliasTemplate*)value->NativePtr; +} + +CppSharp::Parser::AST::Friend::Friend(::CppSharp::CppParser::AST::Friend* native) + : CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)native) +{ +} + +CppSharp::Parser::AST::Friend^ CppSharp::Parser::AST::Friend::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::Friend((::CppSharp::CppParser::AST::Friend*) native.ToPointer()); +} + +CppSharp::Parser::AST::Friend::~Friend() +{ + if (NativePtr) + { + auto __nativePtr = NativePtr; + NativePtr = 0; + delete (::CppSharp::CppParser::AST::Friend*) __nativePtr; + } +} + +CppSharp::Parser::AST::Friend::Friend() + : CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::Friend(); +} + +CppSharp::Parser::AST::Friend::Friend(CppSharp::Parser::AST::Friend^ _0) + : CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::Friend*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::Friend(__arg0); +} + +CppSharp::Parser::AST::Declaration^ CppSharp::Parser::AST::Friend::Declaration::get() +{ + return (((::CppSharp::CppParser::AST::Friend*)NativePtr)->declaration == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)((::CppSharp::CppParser::AST::Friend*)NativePtr)->declaration); +} + +void CppSharp::Parser::AST::Friend::Declaration::set(CppSharp::Parser::AST::Declaration^ value) +{ + ((::CppSharp::CppParser::AST::Friend*)NativePtr)->declaration = (::CppSharp::CppParser::AST::Declaration*)value->NativePtr; +} + +CppSharp::Parser::AST::StatementObsolete::StatementObsolete(::CppSharp::CppParser::AST::StatementObsolete* native) + : __ownsNativeInstance(false) +{ + NativePtr = native; +} + +CppSharp::Parser::AST::StatementObsolete^ CppSharp::Parser::AST::StatementObsolete::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::StatementObsolete((::CppSharp::CppParser::AST::StatementObsolete*) native.ToPointer()); +} + +CppSharp::Parser::AST::StatementObsolete::~StatementObsolete() +{ + delete NativePtr; +} + +CppSharp::Parser::AST::StatementObsolete::StatementObsolete(System::String^ str, CppSharp::Parser::AST::StatementClassObsolete Class, CppSharp::Parser::AST::Declaration^ decl) +{ + __ownsNativeInstance = true; + auto __arg0 = clix::marshalString(str); + auto __arg1 = (::CppSharp::CppParser::AST::StatementClassObsolete)Class; + auto __arg2 = (::CppSharp::CppParser::AST::Declaration*)decl->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::StatementObsolete(__arg0, __arg1, __arg2); +} + +CppSharp::Parser::AST::StatementObsolete::StatementObsolete(CppSharp::Parser::AST::StatementObsolete^ _0) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::StatementObsolete*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::StatementObsolete(__arg0); +} + +System::IntPtr CppSharp::Parser::AST::StatementObsolete::__Instance::get() +{ + return System::IntPtr(NativePtr); +} + +void CppSharp::Parser::AST::StatementObsolete::__Instance::set(System::IntPtr object) +{ + NativePtr = (::CppSharp::CppParser::AST::StatementObsolete*)object.ToPointer(); +} + +CppSharp::Parser::AST::StatementClassObsolete CppSharp::Parser::AST::StatementObsolete::Class::get() +{ + return (CppSharp::Parser::AST::StatementClassObsolete)((::CppSharp::CppParser::AST::StatementObsolete*)NativePtr)->_class; +} + +void CppSharp::Parser::AST::StatementObsolete::Class::set(CppSharp::Parser::AST::StatementClassObsolete value) +{ + ((::CppSharp::CppParser::AST::StatementObsolete*)NativePtr)->_class = (::CppSharp::CppParser::AST::StatementClassObsolete)value; +} + +CppSharp::Parser::AST::Declaration^ CppSharp::Parser::AST::StatementObsolete::Decl::get() +{ + return (((::CppSharp::CppParser::AST::StatementObsolete*)NativePtr)->decl == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)((::CppSharp::CppParser::AST::StatementObsolete*)NativePtr)->decl); +} + +void CppSharp::Parser::AST::StatementObsolete::Decl::set(CppSharp::Parser::AST::Declaration^ value) +{ + ((::CppSharp::CppParser::AST::StatementObsolete*)NativePtr)->decl = (::CppSharp::CppParser::AST::Declaration*)value->NativePtr; +} + +System::String^ CppSharp::Parser::AST::StatementObsolete::String::get() +{ + return clix::marshalString(((::CppSharp::CppParser::AST::StatementObsolete*)NativePtr)->string); +} + +void CppSharp::Parser::AST::StatementObsolete::String::set(System::String^ value) +{ + ((::CppSharp::CppParser::AST::StatementObsolete*)NativePtr)->string = clix::marshalString(value); +} + +CppSharp::Parser::AST::ExpressionObsolete::ExpressionObsolete(::CppSharp::CppParser::AST::ExpressionObsolete* native) + : CppSharp::Parser::AST::StatementObsolete((::CppSharp::CppParser::AST::StatementObsolete*)native) +{ +} + +CppSharp::Parser::AST::ExpressionObsolete^ CppSharp::Parser::AST::ExpressionObsolete::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::ExpressionObsolete((::CppSharp::CppParser::AST::ExpressionObsolete*) native.ToPointer()); +} + +CppSharp::Parser::AST::ExpressionObsolete::~ExpressionObsolete() +{ + if (NativePtr) + { + auto __nativePtr = NativePtr; + NativePtr = 0; + delete (::CppSharp::CppParser::AST::ExpressionObsolete*) __nativePtr; + } +} + +CppSharp::Parser::AST::ExpressionObsolete::ExpressionObsolete(System::String^ str, CppSharp::Parser::AST::StatementClassObsolete Class, CppSharp::Parser::AST::Declaration^ decl) + : CppSharp::Parser::AST::StatementObsolete((::CppSharp::CppParser::AST::StatementObsolete*)nullptr) +{ + __ownsNativeInstance = true; + auto __arg0 = clix::marshalString(str); + auto __arg1 = (::CppSharp::CppParser::AST::StatementClassObsolete)Class; + auto __arg2 = (::CppSharp::CppParser::AST::Declaration*)decl->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::ExpressionObsolete(__arg0, __arg1, __arg2); +} + +CppSharp::Parser::AST::ExpressionObsolete::ExpressionObsolete(CppSharp::Parser::AST::ExpressionObsolete^ _0) + : CppSharp::Parser::AST::StatementObsolete((::CppSharp::CppParser::AST::StatementObsolete*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::ExpressionObsolete*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::ExpressionObsolete(__arg0); +} + +CppSharp::Parser::AST::BinaryOperatorObsolete::BinaryOperatorObsolete(::CppSharp::CppParser::AST::BinaryOperatorObsolete* native) + : CppSharp::Parser::AST::ExpressionObsolete((::CppSharp::CppParser::AST::ExpressionObsolete*)native) +{ +} + +CppSharp::Parser::AST::BinaryOperatorObsolete^ CppSharp::Parser::AST::BinaryOperatorObsolete::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::BinaryOperatorObsolete((::CppSharp::CppParser::AST::BinaryOperatorObsolete*) native.ToPointer()); +} + +CppSharp::Parser::AST::BinaryOperatorObsolete::~BinaryOperatorObsolete() +{ + if (NativePtr) + { + auto __nativePtr = NativePtr; + NativePtr = 0; + delete (::CppSharp::CppParser::AST::BinaryOperatorObsolete*) __nativePtr; + } +} + +CppSharp::Parser::AST::BinaryOperatorObsolete::BinaryOperatorObsolete(System::String^ str, CppSharp::Parser::AST::ExpressionObsolete^ lhs, CppSharp::Parser::AST::ExpressionObsolete^ rhs, System::String^ opcodeStr) + : CppSharp::Parser::AST::ExpressionObsolete((::CppSharp::CppParser::AST::ExpressionObsolete*)nullptr) +{ + __ownsNativeInstance = true; + auto __arg0 = clix::marshalString(str); + auto __arg1 = (::CppSharp::CppParser::AST::ExpressionObsolete*)lhs->NativePtr; + auto __arg2 = (::CppSharp::CppParser::AST::ExpressionObsolete*)rhs->NativePtr; + auto __arg3 = clix::marshalString(opcodeStr); + NativePtr = new ::CppSharp::CppParser::AST::BinaryOperatorObsolete(__arg0, __arg1, __arg2, __arg3); +} + +CppSharp::Parser::AST::BinaryOperatorObsolete::BinaryOperatorObsolete(CppSharp::Parser::AST::BinaryOperatorObsolete^ _0) + : CppSharp::Parser::AST::ExpressionObsolete((::CppSharp::CppParser::AST::ExpressionObsolete*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::BinaryOperatorObsolete*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::BinaryOperatorObsolete(__arg0); +} + +CppSharp::Parser::AST::ExpressionObsolete^ CppSharp::Parser::AST::BinaryOperatorObsolete::LHS::get() +{ + return (((::CppSharp::CppParser::AST::BinaryOperatorObsolete*)NativePtr)->LHS == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::ExpressionObsolete((::CppSharp::CppParser::AST::ExpressionObsolete*)((::CppSharp::CppParser::AST::BinaryOperatorObsolete*)NativePtr)->LHS); +} + +void CppSharp::Parser::AST::BinaryOperatorObsolete::LHS::set(CppSharp::Parser::AST::ExpressionObsolete^ value) +{ + ((::CppSharp::CppParser::AST::BinaryOperatorObsolete*)NativePtr)->LHS = (::CppSharp::CppParser::AST::ExpressionObsolete*)value->NativePtr; +} + +CppSharp::Parser::AST::ExpressionObsolete^ CppSharp::Parser::AST::BinaryOperatorObsolete::RHS::get() +{ + return (((::CppSharp::CppParser::AST::BinaryOperatorObsolete*)NativePtr)->RHS == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::ExpressionObsolete((::CppSharp::CppParser::AST::ExpressionObsolete*)((::CppSharp::CppParser::AST::BinaryOperatorObsolete*)NativePtr)->RHS); +} + +void CppSharp::Parser::AST::BinaryOperatorObsolete::RHS::set(CppSharp::Parser::AST::ExpressionObsolete^ value) +{ + ((::CppSharp::CppParser::AST::BinaryOperatorObsolete*)NativePtr)->RHS = (::CppSharp::CppParser::AST::ExpressionObsolete*)value->NativePtr; +} + +System::String^ CppSharp::Parser::AST::BinaryOperatorObsolete::OpcodeStr::get() +{ + return clix::marshalString(((::CppSharp::CppParser::AST::BinaryOperatorObsolete*)NativePtr)->opcodeStr); +} + +void CppSharp::Parser::AST::BinaryOperatorObsolete::OpcodeStr::set(System::String^ value) +{ + ((::CppSharp::CppParser::AST::BinaryOperatorObsolete*)NativePtr)->opcodeStr = clix::marshalString(value); +} + +CppSharp::Parser::AST::CallExprObsolete::CallExprObsolete(::CppSharp::CppParser::AST::CallExprObsolete* native) + : CppSharp::Parser::AST::ExpressionObsolete((::CppSharp::CppParser::AST::ExpressionObsolete*)native) +{ +} + +CppSharp::Parser::AST::CallExprObsolete^ CppSharp::Parser::AST::CallExprObsolete::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::CallExprObsolete((::CppSharp::CppParser::AST::CallExprObsolete*) native.ToPointer()); +} + +CppSharp::Parser::AST::CallExprObsolete::~CallExprObsolete() +{ + if (NativePtr) + { + auto __nativePtr = NativePtr; + NativePtr = 0; + delete (::CppSharp::CppParser::AST::CallExprObsolete*) __nativePtr; + } +} + +CppSharp::Parser::AST::CallExprObsolete::CallExprObsolete(System::String^ str, CppSharp::Parser::AST::Declaration^ decl) + : CppSharp::Parser::AST::ExpressionObsolete((::CppSharp::CppParser::AST::ExpressionObsolete*)nullptr) +{ + __ownsNativeInstance = true; + auto __arg0 = clix::marshalString(str); + auto __arg1 = (::CppSharp::CppParser::AST::Declaration*)decl->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::CallExprObsolete(__arg0, __arg1); +} + +CppSharp::Parser::AST::ExpressionObsolete^ CppSharp::Parser::AST::CallExprObsolete::GetArguments(unsigned int i) +{ + auto __ret = ((::CppSharp::CppParser::AST::CallExprObsolete*)NativePtr)->getArguments(i); + if (__ret == nullptr) return nullptr; + return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::ExpressionObsolete((::CppSharp::CppParser::AST::ExpressionObsolete*)__ret); +} + +void CppSharp::Parser::AST::CallExprObsolete::AddArguments(CppSharp::Parser::AST::ExpressionObsolete^ s) +{ + if (ReferenceEquals(s, nullptr)) + throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + auto __arg0 = (::CppSharp::CppParser::AST::ExpressionObsolete*)s->NativePtr; + ((::CppSharp::CppParser::AST::CallExprObsolete*)NativePtr)->addArguments(__arg0); +} + +void CppSharp::Parser::AST::CallExprObsolete::ClearArguments() +{ + ((::CppSharp::CppParser::AST::CallExprObsolete*)NativePtr)->clearArguments(); +} + +CppSharp::Parser::AST::CallExprObsolete::CallExprObsolete(CppSharp::Parser::AST::CallExprObsolete^ _0) + : CppSharp::Parser::AST::ExpressionObsolete((::CppSharp::CppParser::AST::ExpressionObsolete*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::CallExprObsolete*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::CallExprObsolete(__arg0); +} + +System::Collections::Generic::List^ CppSharp::Parser::AST::CallExprObsolete::Arguments::get() +{ + auto _tmp__Arguments = gcnew System::Collections::Generic::List(); + for(auto _element : ((::CppSharp::CppParser::AST::CallExprObsolete*)NativePtr)->Arguments) + { + auto _marshalElement = (_element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::ExpressionObsolete((::CppSharp::CppParser::AST::ExpressionObsolete*)_element); + _tmp__Arguments->Add(_marshalElement); + } + return _tmp__Arguments; +} + +void CppSharp::Parser::AST::CallExprObsolete::Arguments::set(System::Collections::Generic::List^ value) +{ + auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::ExpressionObsolete*>(); + for each(CppSharp::Parser::AST::ExpressionObsolete^ _element in value) + { + auto _marshalElement = (::CppSharp::CppParser::AST::ExpressionObsolete*)_element->NativePtr; + _tmpvalue.push_back(_marshalElement); + } + ((::CppSharp::CppParser::AST::CallExprObsolete*)NativePtr)->Arguments = _tmpvalue; +} + +unsigned int CppSharp::Parser::AST::CallExprObsolete::ArgumentsCount::get() +{ + auto __ret = ((::CppSharp::CppParser::AST::CallExprObsolete*)NativePtr)->getArgumentsCount(); + return __ret; +} + +CppSharp::Parser::AST::CXXConstructExprObsolete::CXXConstructExprObsolete(::CppSharp::CppParser::AST::CXXConstructExprObsolete* native) + : CppSharp::Parser::AST::ExpressionObsolete((::CppSharp::CppParser::AST::ExpressionObsolete*)native) +{ +} + +CppSharp::Parser::AST::CXXConstructExprObsolete^ CppSharp::Parser::AST::CXXConstructExprObsolete::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::CXXConstructExprObsolete((::CppSharp::CppParser::AST::CXXConstructExprObsolete*) native.ToPointer()); +} + +CppSharp::Parser::AST::CXXConstructExprObsolete::~CXXConstructExprObsolete() +{ + if (NativePtr) + { + auto __nativePtr = NativePtr; + NativePtr = 0; + delete (::CppSharp::CppParser::AST::CXXConstructExprObsolete*) __nativePtr; + } +} + +CppSharp::Parser::AST::CXXConstructExprObsolete::CXXConstructExprObsolete(System::String^ str, CppSharp::Parser::AST::Declaration^ decl) + : CppSharp::Parser::AST::ExpressionObsolete((::CppSharp::CppParser::AST::ExpressionObsolete*)nullptr) +{ + __ownsNativeInstance = true; + auto __arg0 = clix::marshalString(str); + auto __arg1 = (::CppSharp::CppParser::AST::Declaration*)decl->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::CXXConstructExprObsolete(__arg0, __arg1); +} + +CppSharp::Parser::AST::ExpressionObsolete^ CppSharp::Parser::AST::CXXConstructExprObsolete::GetArguments(unsigned int i) +{ + auto __ret = ((::CppSharp::CppParser::AST::CXXConstructExprObsolete*)NativePtr)->getArguments(i); + if (__ret == nullptr) return nullptr; + return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::ExpressionObsolete((::CppSharp::CppParser::AST::ExpressionObsolete*)__ret); +} + +void CppSharp::Parser::AST::CXXConstructExprObsolete::AddArguments(CppSharp::Parser::AST::ExpressionObsolete^ s) +{ + if (ReferenceEquals(s, nullptr)) + throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + auto __arg0 = (::CppSharp::CppParser::AST::ExpressionObsolete*)s->NativePtr; + ((::CppSharp::CppParser::AST::CXXConstructExprObsolete*)NativePtr)->addArguments(__arg0); +} + +void CppSharp::Parser::AST::CXXConstructExprObsolete::ClearArguments() +{ + ((::CppSharp::CppParser::AST::CXXConstructExprObsolete*)NativePtr)->clearArguments(); +} + +CppSharp::Parser::AST::CXXConstructExprObsolete::CXXConstructExprObsolete(CppSharp::Parser::AST::CXXConstructExprObsolete^ _0) + : CppSharp::Parser::AST::ExpressionObsolete((::CppSharp::CppParser::AST::ExpressionObsolete*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::CXXConstructExprObsolete*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::CXXConstructExprObsolete(__arg0); +} + +System::Collections::Generic::List^ CppSharp::Parser::AST::CXXConstructExprObsolete::Arguments::get() +{ + auto _tmp__Arguments = gcnew System::Collections::Generic::List(); + for(auto _element : ((::CppSharp::CppParser::AST::CXXConstructExprObsolete*)NativePtr)->Arguments) + { + auto _marshalElement = (_element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::ExpressionObsolete((::CppSharp::CppParser::AST::ExpressionObsolete*)_element); + _tmp__Arguments->Add(_marshalElement); + } + return _tmp__Arguments; +} + +void CppSharp::Parser::AST::CXXConstructExprObsolete::Arguments::set(System::Collections::Generic::List^ value) +{ + auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::ExpressionObsolete*>(); + for each(CppSharp::Parser::AST::ExpressionObsolete^ _element in value) + { + auto _marshalElement = (::CppSharp::CppParser::AST::ExpressionObsolete*)_element->NativePtr; + _tmpvalue.push_back(_marshalElement); + } + ((::CppSharp::CppParser::AST::CXXConstructExprObsolete*)NativePtr)->Arguments = _tmpvalue; +} + +unsigned int CppSharp::Parser::AST::CXXConstructExprObsolete::ArgumentsCount::get() +{ + auto __ret = ((::CppSharp::CppParser::AST::CXXConstructExprObsolete*)NativePtr)->getArgumentsCount(); + return __ret; +} + +CppSharp::Parser::AST::Parameter::Parameter(::CppSharp::CppParser::AST::Parameter* native) + : CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)native) +{ +} + +CppSharp::Parser::AST::Parameter^ CppSharp::Parser::AST::Parameter::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::Parameter((::CppSharp::CppParser::AST::Parameter*) native.ToPointer()); +} + +CppSharp::Parser::AST::Parameter::~Parameter() +{ + if (NativePtr) + { + auto __nativePtr = NativePtr; + NativePtr = 0; + delete (::CppSharp::CppParser::AST::Parameter*) __nativePtr; + } +} + +CppSharp::Parser::AST::Parameter::Parameter() + : CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::Parameter(); +} + +CppSharp::Parser::AST::Parameter::Parameter(CppSharp::Parser::AST::Parameter^ _0) + : CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::Parameter*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::Parameter(__arg0); +} + +CppSharp::Parser::AST::QualifiedType^ CppSharp::Parser::AST::Parameter::QualifiedType::get() +{ + return (&((::CppSharp::CppParser::AST::Parameter*)NativePtr)->qualifiedType == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::QualifiedType((::CppSharp::CppParser::AST::QualifiedType*)&((::CppSharp::CppParser::AST::Parameter*)NativePtr)->qualifiedType); +} + +void CppSharp::Parser::AST::Parameter::QualifiedType::set(CppSharp::Parser::AST::QualifiedType^ value) +{ + ((::CppSharp::CppParser::AST::Parameter*)NativePtr)->qualifiedType = *(::CppSharp::CppParser::AST::QualifiedType*)value->NativePtr; +} + +bool CppSharp::Parser::AST::Parameter::IsIndirect::get() +{ + return ((::CppSharp::CppParser::AST::Parameter*)NativePtr)->isIndirect; +} + +void CppSharp::Parser::AST::Parameter::IsIndirect::set(bool value) +{ + ((::CppSharp::CppParser::AST::Parameter*)NativePtr)->isIndirect = value; +} + +bool CppSharp::Parser::AST::Parameter::HasDefaultValue::get() +{ + return ((::CppSharp::CppParser::AST::Parameter*)NativePtr)->hasDefaultValue; +} + +void CppSharp::Parser::AST::Parameter::HasDefaultValue::set(bool value) +{ + ((::CppSharp::CppParser::AST::Parameter*)NativePtr)->hasDefaultValue = value; +} + +unsigned int CppSharp::Parser::AST::Parameter::Index::get() +{ + return ((::CppSharp::CppParser::AST::Parameter*)NativePtr)->index; +} + +void CppSharp::Parser::AST::Parameter::Index::set(unsigned int value) +{ + ((::CppSharp::CppParser::AST::Parameter*)NativePtr)->index = value; +} + +CppSharp::Parser::AST::ExpressionObsolete^ CppSharp::Parser::AST::Parameter::DefaultArgument::get() +{ + return (((::CppSharp::CppParser::AST::Parameter*)NativePtr)->defaultArgument == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::ExpressionObsolete((::CppSharp::CppParser::AST::ExpressionObsolete*)((::CppSharp::CppParser::AST::Parameter*)NativePtr)->defaultArgument); +} + +void CppSharp::Parser::AST::Parameter::DefaultArgument::set(CppSharp::Parser::AST::ExpressionObsolete^ value) +{ + ((::CppSharp::CppParser::AST::Parameter*)NativePtr)->defaultArgument = (::CppSharp::CppParser::AST::ExpressionObsolete*)value->NativePtr; +} + +CppSharp::Parser::AST::Function::Function(::CppSharp::CppParser::AST::Function* native) + : CppSharp::Parser::AST::DeclarationContext((::CppSharp::CppParser::AST::DeclarationContext*)native) +{ +} + +CppSharp::Parser::AST::Function^ CppSharp::Parser::AST::Function::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::Function((::CppSharp::CppParser::AST::Function*) native.ToPointer()); +} + +CppSharp::Parser::AST::Function::~Function() +{ + if (NativePtr) + { + auto __nativePtr = NativePtr; + NativePtr = 0; + delete (::CppSharp::CppParser::AST::Function*) __nativePtr; + } +} + +CppSharp::Parser::AST::Function::Function() + : CppSharp::Parser::AST::DeclarationContext((::CppSharp::CppParser::AST::DeclarationContext*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::Function(); +} + +CppSharp::Parser::AST::Parameter^ CppSharp::Parser::AST::Function::GetParameters(unsigned int i) +{ + auto __ret = ((::CppSharp::CppParser::AST::Function*)NativePtr)->getParameters(i); + if (__ret == nullptr) return nullptr; + return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Parameter((::CppSharp::CppParser::AST::Parameter*)__ret); +} + +void CppSharp::Parser::AST::Function::AddParameters(CppSharp::Parser::AST::Parameter^ s) +{ + if (ReferenceEquals(s, nullptr)) + throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + auto __arg0 = (::CppSharp::CppParser::AST::Parameter*)s->NativePtr; + ((::CppSharp::CppParser::AST::Function*)NativePtr)->addParameters(__arg0); +} + +void CppSharp::Parser::AST::Function::ClearParameters() +{ + ((::CppSharp::CppParser::AST::Function*)NativePtr)->clearParameters(); +} + +CppSharp::Parser::AST::Function::Function(CppSharp::Parser::AST::Function^ _0) + : CppSharp::Parser::AST::DeclarationContext((::CppSharp::CppParser::AST::DeclarationContext*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::Function*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::Function(__arg0); +} + +CppSharp::Parser::AST::QualifiedType^ CppSharp::Parser::AST::Function::ReturnType::get() +{ + return (&((::CppSharp::CppParser::AST::Function*)NativePtr)->returnType == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::QualifiedType((::CppSharp::CppParser::AST::QualifiedType*)&((::CppSharp::CppParser::AST::Function*)NativePtr)->returnType); +} + +void CppSharp::Parser::AST::Function::ReturnType::set(CppSharp::Parser::AST::QualifiedType^ value) +{ + ((::CppSharp::CppParser::AST::Function*)NativePtr)->returnType = *(::CppSharp::CppParser::AST::QualifiedType*)value->NativePtr; +} + +bool CppSharp::Parser::AST::Function::IsReturnIndirect::get() +{ + return ((::CppSharp::CppParser::AST::Function*)NativePtr)->isReturnIndirect; +} + +void CppSharp::Parser::AST::Function::IsReturnIndirect::set(bool value) +{ + ((::CppSharp::CppParser::AST::Function*)NativePtr)->isReturnIndirect = value; +} + +bool CppSharp::Parser::AST::Function::HasThisReturn::get() +{ + return ((::CppSharp::CppParser::AST::Function*)NativePtr)->hasThisReturn; +} + +void CppSharp::Parser::AST::Function::HasThisReturn::set(bool value) +{ + ((::CppSharp::CppParser::AST::Function*)NativePtr)->hasThisReturn = value; +} + +bool CppSharp::Parser::AST::Function::IsConstExpr::get() +{ + return ((::CppSharp::CppParser::AST::Function*)NativePtr)->isConstExpr; +} + +void CppSharp::Parser::AST::Function::IsConstExpr::set(bool value) +{ + ((::CppSharp::CppParser::AST::Function*)NativePtr)->isConstExpr = value; +} + +bool CppSharp::Parser::AST::Function::IsVariadic::get() +{ + return ((::CppSharp::CppParser::AST::Function*)NativePtr)->isVariadic; +} + +void CppSharp::Parser::AST::Function::IsVariadic::set(bool value) +{ + ((::CppSharp::CppParser::AST::Function*)NativePtr)->isVariadic = value; +} + +bool CppSharp::Parser::AST::Function::IsInline::get() +{ + return ((::CppSharp::CppParser::AST::Function*)NativePtr)->isInline; +} + +void CppSharp::Parser::AST::Function::IsInline::set(bool value) +{ + ((::CppSharp::CppParser::AST::Function*)NativePtr)->isInline = value; +} + +bool CppSharp::Parser::AST::Function::IsPure::get() +{ + return ((::CppSharp::CppParser::AST::Function*)NativePtr)->isPure; +} + +void CppSharp::Parser::AST::Function::IsPure::set(bool value) +{ + ((::CppSharp::CppParser::AST::Function*)NativePtr)->isPure = value; +} + +bool CppSharp::Parser::AST::Function::IsDeleted::get() +{ + return ((::CppSharp::CppParser::AST::Function*)NativePtr)->isDeleted; +} + +void CppSharp::Parser::AST::Function::IsDeleted::set(bool value) +{ + ((::CppSharp::CppParser::AST::Function*)NativePtr)->isDeleted = value; +} + +bool CppSharp::Parser::AST::Function::IsDefaulted::get() +{ + return ((::CppSharp::CppParser::AST::Function*)NativePtr)->isDefaulted; +} + +void CppSharp::Parser::AST::Function::IsDefaulted::set(bool value) +{ + ((::CppSharp::CppParser::AST::Function*)NativePtr)->isDefaulted = value; +} + +CppSharp::Parser::AST::FriendKind CppSharp::Parser::AST::Function::FriendKind::get() +{ + return (CppSharp::Parser::AST::FriendKind)((::CppSharp::CppParser::AST::Function*)NativePtr)->friendKind; +} + +void CppSharp::Parser::AST::Function::FriendKind::set(CppSharp::Parser::AST::FriendKind value) +{ + ((::CppSharp::CppParser::AST::Function*)NativePtr)->friendKind = (::CppSharp::CppParser::AST::FriendKind)value; +} + +CppSharp::Parser::AST::CXXOperatorKind CppSharp::Parser::AST::Function::OperatorKind::get() +{ + return (CppSharp::Parser::AST::CXXOperatorKind)((::CppSharp::CppParser::AST::Function*)NativePtr)->operatorKind; +} + +void CppSharp::Parser::AST::Function::OperatorKind::set(CppSharp::Parser::AST::CXXOperatorKind value) +{ + ((::CppSharp::CppParser::AST::Function*)NativePtr)->operatorKind = (::CppSharp::CppParser::AST::CXXOperatorKind)value; +} + +System::String^ CppSharp::Parser::AST::Function::Mangled::get() +{ + return clix::marshalString(((::CppSharp::CppParser::AST::Function*)NativePtr)->mangled); +} + +void CppSharp::Parser::AST::Function::Mangled::set(System::String^ value) +{ + ((::CppSharp::CppParser::AST::Function*)NativePtr)->mangled = clix::marshalString(value); +} + +System::String^ CppSharp::Parser::AST::Function::Signature::get() +{ + return clix::marshalString(((::CppSharp::CppParser::AST::Function*)NativePtr)->signature); +} + +void CppSharp::Parser::AST::Function::Signature::set(System::String^ value) +{ + ((::CppSharp::CppParser::AST::Function*)NativePtr)->signature = clix::marshalString(value); +} + +System::String^ CppSharp::Parser::AST::Function::Body::get() +{ + return clix::marshalString(((::CppSharp::CppParser::AST::Function*)NativePtr)->body); +} + +void CppSharp::Parser::AST::Function::Body::set(System::String^ value) +{ + ((::CppSharp::CppParser::AST::Function*)NativePtr)->body = clix::marshalString(value); +} + +CppSharp::Parser::AST::CallingConvention CppSharp::Parser::AST::Function::CallingConvention::get() +{ + return (CppSharp::Parser::AST::CallingConvention)((::CppSharp::CppParser::AST::Function*)NativePtr)->callingConvention; +} + +void CppSharp::Parser::AST::Function::CallingConvention::set(CppSharp::Parser::AST::CallingConvention value) +{ + ((::CppSharp::CppParser::AST::Function*)NativePtr)->callingConvention = (::CppSharp::CppParser::AST::CallingConvention)value; +} + +System::Collections::Generic::List^ CppSharp::Parser::AST::Function::Parameters::get() +{ + auto _tmp__Parameters = gcnew System::Collections::Generic::List(); + for(auto _element : ((::CppSharp::CppParser::AST::Function*)NativePtr)->Parameters) + { + auto _marshalElement = (_element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Parameter((::CppSharp::CppParser::AST::Parameter*)_element); + _tmp__Parameters->Add(_marshalElement); + } + return _tmp__Parameters; +} + +void CppSharp::Parser::AST::Function::Parameters::set(System::Collections::Generic::List^ value) +{ + auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::Parameter*>(); + for each(CppSharp::Parser::AST::Parameter^ _element in value) + { + auto _marshalElement = (::CppSharp::CppParser::AST::Parameter*)_element->NativePtr; + _tmpvalue.push_back(_marshalElement); + } + ((::CppSharp::CppParser::AST::Function*)NativePtr)->Parameters = _tmpvalue; +} + +CppSharp::Parser::AST::FunctionTemplateSpecialization^ CppSharp::Parser::AST::Function::SpecializationInfo::get() +{ + return (((::CppSharp::CppParser::AST::Function*)NativePtr)->specializationInfo == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::FunctionTemplateSpecialization((::CppSharp::CppParser::AST::FunctionTemplateSpecialization*)((::CppSharp::CppParser::AST::Function*)NativePtr)->specializationInfo); +} + +void CppSharp::Parser::AST::Function::SpecializationInfo::set(CppSharp::Parser::AST::FunctionTemplateSpecialization^ value) +{ + ((::CppSharp::CppParser::AST::Function*)NativePtr)->specializationInfo = (::CppSharp::CppParser::AST::FunctionTemplateSpecialization*)value->NativePtr; +} + +CppSharp::Parser::AST::Function^ CppSharp::Parser::AST::Function::InstantiatedFrom::get() +{ + return (((::CppSharp::CppParser::AST::Function*)NativePtr)->instantiatedFrom == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Function((::CppSharp::CppParser::AST::Function*)((::CppSharp::CppParser::AST::Function*)NativePtr)->instantiatedFrom); +} + +void CppSharp::Parser::AST::Function::InstantiatedFrom::set(CppSharp::Parser::AST::Function^ value) +{ + ((::CppSharp::CppParser::AST::Function*)NativePtr)->instantiatedFrom = (::CppSharp::CppParser::AST::Function*)value->NativePtr; +} + +CppSharp::Parser::AST::QualifiedType^ CppSharp::Parser::AST::Function::QualifiedType::get() +{ + return (&((::CppSharp::CppParser::AST::Function*)NativePtr)->qualifiedType == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::QualifiedType((::CppSharp::CppParser::AST::QualifiedType*)&((::CppSharp::CppParser::AST::Function*)NativePtr)->qualifiedType); +} + +void CppSharp::Parser::AST::Function::QualifiedType::set(CppSharp::Parser::AST::QualifiedType^ value) +{ + ((::CppSharp::CppParser::AST::Function*)NativePtr)->qualifiedType = *(::CppSharp::CppParser::AST::QualifiedType*)value->NativePtr; +} + +unsigned int CppSharp::Parser::AST::Function::ParametersCount::get() +{ + auto __ret = ((::CppSharp::CppParser::AST::Function*)NativePtr)->getParametersCount(); + return __ret; +} + +CppSharp::Parser::AST::Method::Method(::CppSharp::CppParser::AST::Method* native) + : CppSharp::Parser::AST::Function((::CppSharp::CppParser::AST::Function*)native) +{ +} + +CppSharp::Parser::AST::Method^ CppSharp::Parser::AST::Method::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::Method((::CppSharp::CppParser::AST::Method*) native.ToPointer()); +} + +CppSharp::Parser::AST::Method::~Method() +{ + if (NativePtr) + { + auto __nativePtr = NativePtr; + NativePtr = 0; + delete (::CppSharp::CppParser::AST::Method*) __nativePtr; + } +} + +CppSharp::Parser::AST::Method::Method() + : CppSharp::Parser::AST::Function((::CppSharp::CppParser::AST::Function*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::Method(); +} + +CppSharp::Parser::AST::Method^ CppSharp::Parser::AST::Method::GetOverriddenMethods(unsigned int i) +{ + auto __ret = ((::CppSharp::CppParser::AST::Method*)NativePtr)->getOverriddenMethods(i); + if (__ret == nullptr) return nullptr; + return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Method((::CppSharp::CppParser::AST::Method*)__ret); +} + +void CppSharp::Parser::AST::Method::AddOverriddenMethods(CppSharp::Parser::AST::Method^ s) +{ + if (ReferenceEquals(s, nullptr)) + throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + auto __arg0 = (::CppSharp::CppParser::AST::Method*)s->NativePtr; + ((::CppSharp::CppParser::AST::Method*)NativePtr)->addOverriddenMethods(__arg0); +} + +void CppSharp::Parser::AST::Method::ClearOverriddenMethods() +{ + ((::CppSharp::CppParser::AST::Method*)NativePtr)->clearOverriddenMethods(); +} + +CppSharp::Parser::AST::Method::Method(CppSharp::Parser::AST::Method^ _0) + : CppSharp::Parser::AST::Function((::CppSharp::CppParser::AST::Function*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::Method*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::Method(__arg0); +} + +bool CppSharp::Parser::AST::Method::IsVirtual::get() +{ + return ((::CppSharp::CppParser::AST::Method*)NativePtr)->isVirtual; +} + +void CppSharp::Parser::AST::Method::IsVirtual::set(bool value) +{ + ((::CppSharp::CppParser::AST::Method*)NativePtr)->isVirtual = value; +} + +bool CppSharp::Parser::AST::Method::IsStatic::get() +{ + return ((::CppSharp::CppParser::AST::Method*)NativePtr)->isStatic; +} + +void CppSharp::Parser::AST::Method::IsStatic::set(bool value) +{ + ((::CppSharp::CppParser::AST::Method*)NativePtr)->isStatic = value; +} + +bool CppSharp::Parser::AST::Method::IsConst::get() +{ + return ((::CppSharp::CppParser::AST::Method*)NativePtr)->isConst; +} + +void CppSharp::Parser::AST::Method::IsConst::set(bool value) +{ + ((::CppSharp::CppParser::AST::Method*)NativePtr)->isConst = value; +} + +bool CppSharp::Parser::AST::Method::IsExplicit::get() +{ + return ((::CppSharp::CppParser::AST::Method*)NativePtr)->isExplicit; +} + +void CppSharp::Parser::AST::Method::IsExplicit::set(bool value) +{ + ((::CppSharp::CppParser::AST::Method*)NativePtr)->isExplicit = value; +} + +CppSharp::Parser::AST::CXXMethodKind CppSharp::Parser::AST::Method::MethodKind::get() +{ + return (CppSharp::Parser::AST::CXXMethodKind)((::CppSharp::CppParser::AST::Method*)NativePtr)->methodKind; +} + +void CppSharp::Parser::AST::Method::MethodKind::set(CppSharp::Parser::AST::CXXMethodKind value) +{ + ((::CppSharp::CppParser::AST::Method*)NativePtr)->methodKind = (::CppSharp::CppParser::AST::CXXMethodKind)value; +} + +bool CppSharp::Parser::AST::Method::IsDefaultConstructor::get() +{ + return ((::CppSharp::CppParser::AST::Method*)NativePtr)->isDefaultConstructor; +} + +void CppSharp::Parser::AST::Method::IsDefaultConstructor::set(bool value) +{ + ((::CppSharp::CppParser::AST::Method*)NativePtr)->isDefaultConstructor = value; +} + +bool CppSharp::Parser::AST::Method::IsCopyConstructor::get() +{ + return ((::CppSharp::CppParser::AST::Method*)NativePtr)->isCopyConstructor; +} + +void CppSharp::Parser::AST::Method::IsCopyConstructor::set(bool value) +{ + ((::CppSharp::CppParser::AST::Method*)NativePtr)->isCopyConstructor = value; +} + +bool CppSharp::Parser::AST::Method::IsMoveConstructor::get() +{ + return ((::CppSharp::CppParser::AST::Method*)NativePtr)->isMoveConstructor; +} + +void CppSharp::Parser::AST::Method::IsMoveConstructor::set(bool value) +{ + ((::CppSharp::CppParser::AST::Method*)NativePtr)->isMoveConstructor = value; +} + +CppSharp::Parser::AST::QualifiedType^ CppSharp::Parser::AST::Method::ConversionType::get() +{ + return (&((::CppSharp::CppParser::AST::Method*)NativePtr)->conversionType == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::QualifiedType((::CppSharp::CppParser::AST::QualifiedType*)&((::CppSharp::CppParser::AST::Method*)NativePtr)->conversionType); +} + +void CppSharp::Parser::AST::Method::ConversionType::set(CppSharp::Parser::AST::QualifiedType^ value) +{ + ((::CppSharp::CppParser::AST::Method*)NativePtr)->conversionType = *(::CppSharp::CppParser::AST::QualifiedType*)value->NativePtr; +} + +CppSharp::Parser::AST::RefQualifierKind CppSharp::Parser::AST::Method::RefQualifier::get() +{ + return (CppSharp::Parser::AST::RefQualifierKind)((::CppSharp::CppParser::AST::Method*)NativePtr)->refQualifier; +} + +void CppSharp::Parser::AST::Method::RefQualifier::set(CppSharp::Parser::AST::RefQualifierKind value) +{ + ((::CppSharp::CppParser::AST::Method*)NativePtr)->refQualifier = (::CppSharp::CppParser::AST::RefQualifierKind)value; +} + +System::Collections::Generic::List^ CppSharp::Parser::AST::Method::OverriddenMethods::get() +{ + auto _tmp__OverriddenMethods = gcnew System::Collections::Generic::List(); + for(auto _element : ((::CppSharp::CppParser::AST::Method*)NativePtr)->OverriddenMethods) + { + auto _marshalElement = (_element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Method((::CppSharp::CppParser::AST::Method*)_element); + _tmp__OverriddenMethods->Add(_marshalElement); + } + return _tmp__OverriddenMethods; +} + +void CppSharp::Parser::AST::Method::OverriddenMethods::set(System::Collections::Generic::List^ value) +{ + auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::Method*>(); + for each(CppSharp::Parser::AST::Method^ _element in value) + { + auto _marshalElement = (::CppSharp::CppParser::AST::Method*)_element->NativePtr; + _tmpvalue.push_back(_marshalElement); + } + ((::CppSharp::CppParser::AST::Method*)NativePtr)->OverriddenMethods = _tmpvalue; +} + +unsigned int CppSharp::Parser::AST::Method::OverriddenMethodsCount::get() +{ + auto __ret = ((::CppSharp::CppParser::AST::Method*)NativePtr)->getOverriddenMethodsCount(); + return __ret; +} + +CppSharp::Parser::AST::Enumeration::Item::Item(::CppSharp::CppParser::AST::Enumeration::Item* native) + : CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)native) +{ +} + +CppSharp::Parser::AST::Enumeration::Item^ CppSharp::Parser::AST::Enumeration::Item::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::Enumeration::Item((::CppSharp::CppParser::AST::Enumeration::Item*) native.ToPointer()); +} + +CppSharp::Parser::AST::Enumeration::Item::~Item() +{ + if (NativePtr) + { + auto __nativePtr = NativePtr; + NativePtr = 0; + delete (::CppSharp::CppParser::AST::Enumeration::Item*) __nativePtr; + } +} + +CppSharp::Parser::AST::Enumeration::Item::Item() + : CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::Enumeration::Item(); +} + +CppSharp::Parser::AST::Enumeration::Item::Item(CppSharp::Parser::AST::Enumeration::Item^ _0) + : CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::Enumeration::Item*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::Enumeration::Item(__arg0); +} + +System::String^ CppSharp::Parser::AST::Enumeration::Item::Expression::get() +{ + return clix::marshalString(((::CppSharp::CppParser::AST::Enumeration::Item*)NativePtr)->expression); +} + +void CppSharp::Parser::AST::Enumeration::Item::Expression::set(System::String^ value) +{ + ((::CppSharp::CppParser::AST::Enumeration::Item*)NativePtr)->expression = clix::marshalString(value); +} + +unsigned long long CppSharp::Parser::AST::Enumeration::Item::Value::get() +{ + return ((::CppSharp::CppParser::AST::Enumeration::Item*)NativePtr)->value; +} + +void CppSharp::Parser::AST::Enumeration::Item::Value::set(unsigned long long value) +{ + ((::CppSharp::CppParser::AST::Enumeration::Item*)NativePtr)->value = (::uint64_t)value; +} + +CppSharp::Parser::AST::Enumeration::Enumeration(::CppSharp::CppParser::AST::Enumeration* native) + : CppSharp::Parser::AST::DeclarationContext((::CppSharp::CppParser::AST::DeclarationContext*)native) +{ +} + +CppSharp::Parser::AST::Enumeration^ CppSharp::Parser::AST::Enumeration::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::Enumeration((::CppSharp::CppParser::AST::Enumeration*) native.ToPointer()); +} + +CppSharp::Parser::AST::Enumeration::~Enumeration() +{ + if (NativePtr) + { + auto __nativePtr = NativePtr; + NativePtr = 0; + delete (::CppSharp::CppParser::AST::Enumeration*) __nativePtr; + } +} + +CppSharp::Parser::AST::Enumeration::Enumeration() + : CppSharp::Parser::AST::DeclarationContext((::CppSharp::CppParser::AST::DeclarationContext*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::Enumeration(); +} + +CppSharp::Parser::AST::Enumeration::Item^ CppSharp::Parser::AST::Enumeration::GetItems(unsigned int i) +{ + auto __ret = ((::CppSharp::CppParser::AST::Enumeration*)NativePtr)->getItems(i); + if (__ret == nullptr) return nullptr; + return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Enumeration::Item((::CppSharp::CppParser::AST::Enumeration::Item*)__ret); +} + +void CppSharp::Parser::AST::Enumeration::AddItems(CppSharp::Parser::AST::Enumeration::Item^ s) +{ + if (ReferenceEquals(s, nullptr)) + throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + auto __arg0 = (::CppSharp::CppParser::AST::Enumeration::Item*)s->NativePtr; + ((::CppSharp::CppParser::AST::Enumeration*)NativePtr)->addItems(__arg0); +} + +void CppSharp::Parser::AST::Enumeration::ClearItems() +{ + ((::CppSharp::CppParser::AST::Enumeration*)NativePtr)->clearItems(); +} + +CppSharp::Parser::AST::Enumeration::Item^ CppSharp::Parser::AST::Enumeration::FindItemByName(System::String^ Name) +{ + auto __arg0 = clix::marshalString(Name); + auto __ret = ((::CppSharp::CppParser::AST::Enumeration*)NativePtr)->FindItemByName(__arg0); + if (__ret == nullptr) return nullptr; + return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Enumeration::Item((::CppSharp::CppParser::AST::Enumeration::Item*)__ret); +} + +CppSharp::Parser::AST::Enumeration::Enumeration(CppSharp::Parser::AST::Enumeration^ _0) + : CppSharp::Parser::AST::DeclarationContext((::CppSharp::CppParser::AST::DeclarationContext*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::Enumeration*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::Enumeration(__arg0); +} + +CppSharp::Parser::AST::Enumeration::EnumModifiers CppSharp::Parser::AST::Enumeration::Modifiers::get() +{ + return (CppSharp::Parser::AST::Enumeration::EnumModifiers)((::CppSharp::CppParser::AST::Enumeration*)NativePtr)->modifiers; +} + +void CppSharp::Parser::AST::Enumeration::Modifiers::set(CppSharp::Parser::AST::Enumeration::EnumModifiers value) +{ + ((::CppSharp::CppParser::AST::Enumeration*)NativePtr)->modifiers = (::CppSharp::CppParser::AST::Enumeration::EnumModifiers)value; +} + +CppSharp::Parser::AST::Type^ CppSharp::Parser::AST::Enumeration::Type::get() +{ + return (((::CppSharp::CppParser::AST::Enumeration*)NativePtr)->type == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)((::CppSharp::CppParser::AST::Enumeration*)NativePtr)->type); +} + +void CppSharp::Parser::AST::Enumeration::Type::set(CppSharp::Parser::AST::Type^ value) +{ + ((::CppSharp::CppParser::AST::Enumeration*)NativePtr)->type = (::CppSharp::CppParser::AST::Type*)value->NativePtr; +} + +CppSharp::Parser::AST::BuiltinType^ CppSharp::Parser::AST::Enumeration::BuiltinType::get() +{ + return (((::CppSharp::CppParser::AST::Enumeration*)NativePtr)->builtinType == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::BuiltinType((::CppSharp::CppParser::AST::BuiltinType*)((::CppSharp::CppParser::AST::Enumeration*)NativePtr)->builtinType); +} + +void CppSharp::Parser::AST::Enumeration::BuiltinType::set(CppSharp::Parser::AST::BuiltinType^ value) +{ + ((::CppSharp::CppParser::AST::Enumeration*)NativePtr)->builtinType = (::CppSharp::CppParser::AST::BuiltinType*)value->NativePtr; +} + +System::Collections::Generic::List^ CppSharp::Parser::AST::Enumeration::Items::get() +{ + auto _tmp__Items = gcnew System::Collections::Generic::List(); + for(auto _element : ((::CppSharp::CppParser::AST::Enumeration*)NativePtr)->Items) + { + auto _marshalElement = (_element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Enumeration::Item((::CppSharp::CppParser::AST::Enumeration::Item*)_element); + _tmp__Items->Add(_marshalElement); + } + return _tmp__Items; +} + +void CppSharp::Parser::AST::Enumeration::Items::set(System::Collections::Generic::List^ value) +{ + auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::Enumeration::Item*>(); + for each(CppSharp::Parser::AST::Enumeration::Item^ _element in value) + { + auto _marshalElement = (::CppSharp::CppParser::AST::Enumeration::Item*)_element->NativePtr; + _tmpvalue.push_back(_marshalElement); + } + ((::CppSharp::CppParser::AST::Enumeration*)NativePtr)->Items = _tmpvalue; +} + +unsigned int CppSharp::Parser::AST::Enumeration::ItemsCount::get() +{ + auto __ret = ((::CppSharp::CppParser::AST::Enumeration*)NativePtr)->getItemsCount(); + return __ret; +} + +CppSharp::Parser::AST::Variable::Variable(::CppSharp::CppParser::AST::Variable* native) + : CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)native) +{ +} + +CppSharp::Parser::AST::Variable^ CppSharp::Parser::AST::Variable::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::Variable((::CppSharp::CppParser::AST::Variable*) native.ToPointer()); +} + +CppSharp::Parser::AST::Variable::~Variable() +{ + if (NativePtr) + { + auto __nativePtr = NativePtr; + NativePtr = 0; + delete (::CppSharp::CppParser::AST::Variable*) __nativePtr; + } +} + +CppSharp::Parser::AST::Variable::Variable() + : CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::Variable(); +} + +CppSharp::Parser::AST::Variable::Variable(CppSharp::Parser::AST::Variable^ _0) + : CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::Variable*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::Variable(__arg0); +} + +System::String^ CppSharp::Parser::AST::Variable::Mangled::get() +{ + return clix::marshalString(((::CppSharp::CppParser::AST::Variable*)NativePtr)->mangled); +} + +void CppSharp::Parser::AST::Variable::Mangled::set(System::String^ value) +{ + ((::CppSharp::CppParser::AST::Variable*)NativePtr)->mangled = clix::marshalString(value); +} + +CppSharp::Parser::AST::QualifiedType^ CppSharp::Parser::AST::Variable::QualifiedType::get() +{ + return (&((::CppSharp::CppParser::AST::Variable*)NativePtr)->qualifiedType == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::QualifiedType((::CppSharp::CppParser::AST::QualifiedType*)&((::CppSharp::CppParser::AST::Variable*)NativePtr)->qualifiedType); +} + +void CppSharp::Parser::AST::Variable::QualifiedType::set(CppSharp::Parser::AST::QualifiedType^ value) +{ + ((::CppSharp::CppParser::AST::Variable*)NativePtr)->qualifiedType = *(::CppSharp::CppParser::AST::QualifiedType*)value->NativePtr; +} + +CppSharp::Parser::AST::BaseClassSpecifier::BaseClassSpecifier(::CppSharp::CppParser::AST::BaseClassSpecifier* native) + : __ownsNativeInstance(false) +{ + NativePtr = native; +} + +CppSharp::Parser::AST::BaseClassSpecifier^ CppSharp::Parser::AST::BaseClassSpecifier::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::BaseClassSpecifier((::CppSharp::CppParser::AST::BaseClassSpecifier*) native.ToPointer()); +} + +CppSharp::Parser::AST::BaseClassSpecifier::~BaseClassSpecifier() +{ + delete NativePtr; +} + +CppSharp::Parser::AST::BaseClassSpecifier::BaseClassSpecifier() +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::BaseClassSpecifier(); +} + +CppSharp::Parser::AST::BaseClassSpecifier::BaseClassSpecifier(CppSharp::Parser::AST::BaseClassSpecifier^ _0) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::BaseClassSpecifier*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::BaseClassSpecifier(__arg0); +} + +System::IntPtr CppSharp::Parser::AST::BaseClassSpecifier::__Instance::get() +{ + return System::IntPtr(NativePtr); +} + +void CppSharp::Parser::AST::BaseClassSpecifier::__Instance::set(System::IntPtr object) +{ + NativePtr = (::CppSharp::CppParser::AST::BaseClassSpecifier*)object.ToPointer(); +} + +CppSharp::Parser::AST::AccessSpecifier CppSharp::Parser::AST::BaseClassSpecifier::Access::get() +{ + return (CppSharp::Parser::AST::AccessSpecifier)((::CppSharp::CppParser::AST::BaseClassSpecifier*)NativePtr)->access; +} + +void CppSharp::Parser::AST::BaseClassSpecifier::Access::set(CppSharp::Parser::AST::AccessSpecifier value) +{ + ((::CppSharp::CppParser::AST::BaseClassSpecifier*)NativePtr)->access = (::CppSharp::CppParser::AST::AccessSpecifier)value; +} + +bool CppSharp::Parser::AST::BaseClassSpecifier::IsVirtual::get() +{ + return ((::CppSharp::CppParser::AST::BaseClassSpecifier*)NativePtr)->isVirtual; +} + +void CppSharp::Parser::AST::BaseClassSpecifier::IsVirtual::set(bool value) +{ + ((::CppSharp::CppParser::AST::BaseClassSpecifier*)NativePtr)->isVirtual = value; +} + +CppSharp::Parser::AST::Type^ CppSharp::Parser::AST::BaseClassSpecifier::Type::get() +{ + return (((::CppSharp::CppParser::AST::BaseClassSpecifier*)NativePtr)->type == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)((::CppSharp::CppParser::AST::BaseClassSpecifier*)NativePtr)->type); +} + +void CppSharp::Parser::AST::BaseClassSpecifier::Type::set(CppSharp::Parser::AST::Type^ value) +{ + ((::CppSharp::CppParser::AST::BaseClassSpecifier*)NativePtr)->type = (::CppSharp::CppParser::AST::Type*)value->NativePtr; +} + +int CppSharp::Parser::AST::BaseClassSpecifier::Offset::get() +{ + return ((::CppSharp::CppParser::AST::BaseClassSpecifier*)NativePtr)->offset; +} + +void CppSharp::Parser::AST::BaseClassSpecifier::Offset::set(int value) +{ + ((::CppSharp::CppParser::AST::BaseClassSpecifier*)NativePtr)->offset = value; +} + +CppSharp::Parser::AST::Field::Field(::CppSharp::CppParser::AST::Field* native) + : CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)native) +{ +} + +CppSharp::Parser::AST::Field^ CppSharp::Parser::AST::Field::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::Field((::CppSharp::CppParser::AST::Field*) native.ToPointer()); +} + +CppSharp::Parser::AST::Field::~Field() +{ + if (NativePtr) + { + auto __nativePtr = NativePtr; + NativePtr = 0; + delete (::CppSharp::CppParser::AST::Field*) __nativePtr; + } +} + +CppSharp::Parser::AST::Field::Field() + : CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::Field(); +} + +CppSharp::Parser::AST::Field::Field(CppSharp::Parser::AST::Field^ _0) + : CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::Field*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::Field(__arg0); +} + +CppSharp::Parser::AST::QualifiedType^ CppSharp::Parser::AST::Field::QualifiedType::get() +{ + return (&((::CppSharp::CppParser::AST::Field*)NativePtr)->qualifiedType == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::QualifiedType((::CppSharp::CppParser::AST::QualifiedType*)&((::CppSharp::CppParser::AST::Field*)NativePtr)->qualifiedType); +} + +void CppSharp::Parser::AST::Field::QualifiedType::set(CppSharp::Parser::AST::QualifiedType^ value) +{ + ((::CppSharp::CppParser::AST::Field*)NativePtr)->qualifiedType = *(::CppSharp::CppParser::AST::QualifiedType*)value->NativePtr; +} + +CppSharp::Parser::AST::Class^ CppSharp::Parser::AST::Field::Class::get() +{ + return (((::CppSharp::CppParser::AST::Field*)NativePtr)->_class == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Class((::CppSharp::CppParser::AST::Class*)((::CppSharp::CppParser::AST::Field*)NativePtr)->_class); +} + +void CppSharp::Parser::AST::Field::Class::set(CppSharp::Parser::AST::Class^ value) +{ + ((::CppSharp::CppParser::AST::Field*)NativePtr)->_class = (::CppSharp::CppParser::AST::Class*)value->NativePtr; +} + +bool CppSharp::Parser::AST::Field::IsBitField::get() +{ + return ((::CppSharp::CppParser::AST::Field*)NativePtr)->isBitField; +} + +void CppSharp::Parser::AST::Field::IsBitField::set(bool value) +{ + ((::CppSharp::CppParser::AST::Field*)NativePtr)->isBitField = value; +} + +unsigned int CppSharp::Parser::AST::Field::BitWidth::get() +{ + return ((::CppSharp::CppParser::AST::Field*)NativePtr)->bitWidth; +} + +void CppSharp::Parser::AST::Field::BitWidth::set(unsigned int value) +{ + ((::CppSharp::CppParser::AST::Field*)NativePtr)->bitWidth = value; +} + +CppSharp::Parser::AST::AccessSpecifierDecl::AccessSpecifierDecl(::CppSharp::CppParser::AST::AccessSpecifierDecl* native) + : CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)native) +{ +} + +CppSharp::Parser::AST::AccessSpecifierDecl^ CppSharp::Parser::AST::AccessSpecifierDecl::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::AccessSpecifierDecl((::CppSharp::CppParser::AST::AccessSpecifierDecl*) native.ToPointer()); +} + +CppSharp::Parser::AST::AccessSpecifierDecl::~AccessSpecifierDecl() +{ + if (NativePtr) + { + auto __nativePtr = NativePtr; + NativePtr = 0; + delete (::CppSharp::CppParser::AST::AccessSpecifierDecl*) __nativePtr; + } +} + +CppSharp::Parser::AST::AccessSpecifierDecl::AccessSpecifierDecl() + : CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::AccessSpecifierDecl(); +} + +CppSharp::Parser::AST::AccessSpecifierDecl::AccessSpecifierDecl(CppSharp::Parser::AST::AccessSpecifierDecl^ _0) + : CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::AccessSpecifierDecl*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::AccessSpecifierDecl(__arg0); +} + +CppSharp::Parser::AST::VTableComponent::VTableComponent(::CppSharp::CppParser::AST::VTableComponent* native) + : __ownsNativeInstance(false) +{ + NativePtr = native; +} + +CppSharp::Parser::AST::VTableComponent^ CppSharp::Parser::AST::VTableComponent::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::VTableComponent((::CppSharp::CppParser::AST::VTableComponent*) native.ToPointer()); +} + +CppSharp::Parser::AST::VTableComponent::~VTableComponent() +{ + delete NativePtr; +} + +CppSharp::Parser::AST::VTableComponent::VTableComponent() +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::VTableComponent(); +} + +CppSharp::Parser::AST::VTableComponent::VTableComponent(CppSharp::Parser::AST::VTableComponent^ _0) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::VTableComponent*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::VTableComponent(__arg0); +} + +System::IntPtr CppSharp::Parser::AST::VTableComponent::__Instance::get() +{ + return System::IntPtr(NativePtr); +} + +void CppSharp::Parser::AST::VTableComponent::__Instance::set(System::IntPtr object) +{ + NativePtr = (::CppSharp::CppParser::AST::VTableComponent*)object.ToPointer(); +} + +CppSharp::Parser::AST::VTableComponentKind CppSharp::Parser::AST::VTableComponent::Kind::get() +{ + return (CppSharp::Parser::AST::VTableComponentKind)((::CppSharp::CppParser::AST::VTableComponent*)NativePtr)->kind; +} + +void CppSharp::Parser::AST::VTableComponent::Kind::set(CppSharp::Parser::AST::VTableComponentKind value) +{ + ((::CppSharp::CppParser::AST::VTableComponent*)NativePtr)->kind = (::CppSharp::CppParser::AST::VTableComponentKind)value; +} + +unsigned int CppSharp::Parser::AST::VTableComponent::Offset::get() +{ + return ((::CppSharp::CppParser::AST::VTableComponent*)NativePtr)->offset; +} + +void CppSharp::Parser::AST::VTableComponent::Offset::set(unsigned int value) +{ + ((::CppSharp::CppParser::AST::VTableComponent*)NativePtr)->offset = value; +} + +CppSharp::Parser::AST::Declaration^ CppSharp::Parser::AST::VTableComponent::Declaration::get() +{ + return (((::CppSharp::CppParser::AST::VTableComponent*)NativePtr)->declaration == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)((::CppSharp::CppParser::AST::VTableComponent*)NativePtr)->declaration); +} + +void CppSharp::Parser::AST::VTableComponent::Declaration::set(CppSharp::Parser::AST::Declaration^ value) +{ + ((::CppSharp::CppParser::AST::VTableComponent*)NativePtr)->declaration = (::CppSharp::CppParser::AST::Declaration*)value->NativePtr; +} + +CppSharp::Parser::AST::VTableLayout::VTableLayout(::CppSharp::CppParser::AST::VTableLayout* native) + : __ownsNativeInstance(false) +{ + NativePtr = native; +} + +CppSharp::Parser::AST::VTableLayout^ CppSharp::Parser::AST::VTableLayout::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::VTableLayout((::CppSharp::CppParser::AST::VTableLayout*) native.ToPointer()); +} + +CppSharp::Parser::AST::VTableLayout::~VTableLayout() +{ + delete NativePtr; +} + +CppSharp::Parser::AST::VTableLayout::VTableLayout() +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::VTableLayout(); +} + +CppSharp::Parser::AST::VTableLayout::VTableLayout(CppSharp::Parser::AST::VTableLayout^ _0) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::VTableLayout*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::VTableLayout(__arg0); +} + +CppSharp::Parser::AST::VTableComponent^ CppSharp::Parser::AST::VTableLayout::GetComponents(unsigned int i) +{ + auto __ret = ((::CppSharp::CppParser::AST::VTableLayout*)NativePtr)->getComponents(i); + auto ____ret = new ::CppSharp::CppParser::AST::VTableComponent(__ret); + return (____ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::VTableComponent((::CppSharp::CppParser::AST::VTableComponent*)____ret); +} + +void CppSharp::Parser::AST::VTableLayout::AddComponents(CppSharp::Parser::AST::VTableComponent^ s) +{ + if (ReferenceEquals(s, nullptr)) + throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::VTableComponent*)s->NativePtr; + ((::CppSharp::CppParser::AST::VTableLayout*)NativePtr)->addComponents(__arg0); +} + +void CppSharp::Parser::AST::VTableLayout::ClearComponents() +{ + ((::CppSharp::CppParser::AST::VTableLayout*)NativePtr)->clearComponents(); +} + +System::IntPtr CppSharp::Parser::AST::VTableLayout::__Instance::get() +{ + return System::IntPtr(NativePtr); +} + +void CppSharp::Parser::AST::VTableLayout::__Instance::set(System::IntPtr object) +{ + NativePtr = (::CppSharp::CppParser::AST::VTableLayout*)object.ToPointer(); +} + +System::Collections::Generic::List^ CppSharp::Parser::AST::VTableLayout::Components::get() +{ + auto _tmp__Components = gcnew System::Collections::Generic::List(); + for(auto _element : ((::CppSharp::CppParser::AST::VTableLayout*)NativePtr)->Components) + { + auto ___element = new ::CppSharp::CppParser::AST::VTableComponent(_element); + auto _marshalElement = (___element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::VTableComponent((::CppSharp::CppParser::AST::VTableComponent*)___element); + _tmp__Components->Add(_marshalElement); + } + return _tmp__Components; +} + +void CppSharp::Parser::AST::VTableLayout::Components::set(System::Collections::Generic::List^ value) +{ + auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::VTableComponent>(); + for each(CppSharp::Parser::AST::VTableComponent^ _element in value) + { + auto _marshalElement = *(::CppSharp::CppParser::AST::VTableComponent*)_element->NativePtr; + _tmpvalue.push_back(_marshalElement); + } + ((::CppSharp::CppParser::AST::VTableLayout*)NativePtr)->Components = _tmpvalue; +} + +unsigned int CppSharp::Parser::AST::VTableLayout::ComponentsCount::get() +{ + auto __ret = ((::CppSharp::CppParser::AST::VTableLayout*)NativePtr)->getComponentsCount(); + return __ret; +} + +CppSharp::Parser::AST::VFTableInfo::VFTableInfo(::CppSharp::CppParser::AST::VFTableInfo* native) + : __ownsNativeInstance(false) +{ + NativePtr = native; +} + +CppSharp::Parser::AST::VFTableInfo^ CppSharp::Parser::AST::VFTableInfo::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::VFTableInfo((::CppSharp::CppParser::AST::VFTableInfo*) native.ToPointer()); +} + +CppSharp::Parser::AST::VFTableInfo::~VFTableInfo() +{ + delete NativePtr; +} + +CppSharp::Parser::AST::VFTableInfo::VFTableInfo() +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::VFTableInfo(); +} + +CppSharp::Parser::AST::VFTableInfo::VFTableInfo(CppSharp::Parser::AST::VFTableInfo^ _0) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::VFTableInfo*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::VFTableInfo(__arg0); +} + +System::IntPtr CppSharp::Parser::AST::VFTableInfo::__Instance::get() +{ + return System::IntPtr(NativePtr); +} + +void CppSharp::Parser::AST::VFTableInfo::__Instance::set(System::IntPtr object) +{ + NativePtr = (::CppSharp::CppParser::AST::VFTableInfo*)object.ToPointer(); +} + +unsigned long long CppSharp::Parser::AST::VFTableInfo::VBTableIndex::get() +{ + return ((::CppSharp::CppParser::AST::VFTableInfo*)NativePtr)->VBTableIndex; +} + +void CppSharp::Parser::AST::VFTableInfo::VBTableIndex::set(unsigned long long value) +{ + ((::CppSharp::CppParser::AST::VFTableInfo*)NativePtr)->VBTableIndex = (::uint64_t)value; +} + +unsigned int CppSharp::Parser::AST::VFTableInfo::VFPtrOffset::get() +{ + return ((::CppSharp::CppParser::AST::VFTableInfo*)NativePtr)->VFPtrOffset; +} + +void CppSharp::Parser::AST::VFTableInfo::VFPtrOffset::set(unsigned int value) +{ + ((::CppSharp::CppParser::AST::VFTableInfo*)NativePtr)->VFPtrOffset = (::uint32_t)value; +} + +unsigned int CppSharp::Parser::AST::VFTableInfo::VFPtrFullOffset::get() +{ + return ((::CppSharp::CppParser::AST::VFTableInfo*)NativePtr)->VFPtrFullOffset; +} + +void CppSharp::Parser::AST::VFTableInfo::VFPtrFullOffset::set(unsigned int value) +{ + ((::CppSharp::CppParser::AST::VFTableInfo*)NativePtr)->VFPtrFullOffset = (::uint32_t)value; +} + +CppSharp::Parser::AST::VTableLayout^ CppSharp::Parser::AST::VFTableInfo::Layout::get() +{ + return (&((::CppSharp::CppParser::AST::VFTableInfo*)NativePtr)->layout == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::VTableLayout((::CppSharp::CppParser::AST::VTableLayout*)&((::CppSharp::CppParser::AST::VFTableInfo*)NativePtr)->layout); +} + +void CppSharp::Parser::AST::VFTableInfo::Layout::set(CppSharp::Parser::AST::VTableLayout^ value) +{ + ((::CppSharp::CppParser::AST::VFTableInfo*)NativePtr)->layout = *(::CppSharp::CppParser::AST::VTableLayout*)value->NativePtr; +} + +CppSharp::Parser::AST::LayoutField::LayoutField(::CppSharp::CppParser::AST::LayoutField* native) + : __ownsNativeInstance(false) +{ + NativePtr = native; +} + +CppSharp::Parser::AST::LayoutField^ CppSharp::Parser::AST::LayoutField::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::LayoutField((::CppSharp::CppParser::AST::LayoutField*) native.ToPointer()); +} + +CppSharp::Parser::AST::LayoutField::~LayoutField() +{ + delete NativePtr; +} + +CppSharp::Parser::AST::LayoutField::LayoutField() +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::LayoutField(); +} + +CppSharp::Parser::AST::LayoutField::LayoutField(CppSharp::Parser::AST::LayoutField^ other) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(other, nullptr)) + throw gcnew ::System::ArgumentNullException("other", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::LayoutField*)other->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::LayoutField(__arg0); +} + +System::IntPtr CppSharp::Parser::AST::LayoutField::__Instance::get() +{ + return System::IntPtr(NativePtr); +} + +void CppSharp::Parser::AST::LayoutField::__Instance::set(System::IntPtr object) +{ + NativePtr = (::CppSharp::CppParser::AST::LayoutField*)object.ToPointer(); +} + +unsigned int CppSharp::Parser::AST::LayoutField::Offset::get() +{ + return ((::CppSharp::CppParser::AST::LayoutField*)NativePtr)->offset; +} + +void CppSharp::Parser::AST::LayoutField::Offset::set(unsigned int value) +{ + ((::CppSharp::CppParser::AST::LayoutField*)NativePtr)->offset = value; +} + +System::String^ CppSharp::Parser::AST::LayoutField::Name::get() +{ + return clix::marshalString(((::CppSharp::CppParser::AST::LayoutField*)NativePtr)->name); +} + +void CppSharp::Parser::AST::LayoutField::Name::set(System::String^ value) +{ + ((::CppSharp::CppParser::AST::LayoutField*)NativePtr)->name = clix::marshalString(value); +} + +CppSharp::Parser::AST::QualifiedType^ CppSharp::Parser::AST::LayoutField::QualifiedType::get() +{ + return (&((::CppSharp::CppParser::AST::LayoutField*)NativePtr)->qualifiedType == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::QualifiedType((::CppSharp::CppParser::AST::QualifiedType*)&((::CppSharp::CppParser::AST::LayoutField*)NativePtr)->qualifiedType); +} + +void CppSharp::Parser::AST::LayoutField::QualifiedType::set(CppSharp::Parser::AST::QualifiedType^ value) +{ + ((::CppSharp::CppParser::AST::LayoutField*)NativePtr)->qualifiedType = *(::CppSharp::CppParser::AST::QualifiedType*)value->NativePtr; +} + +::System::IntPtr CppSharp::Parser::AST::LayoutField::FieldPtr::get() +{ + return ::System::IntPtr(((::CppSharp::CppParser::AST::LayoutField*)NativePtr)->fieldPtr); +} + +void CppSharp::Parser::AST::LayoutField::FieldPtr::set(::System::IntPtr value) +{ + ((::CppSharp::CppParser::AST::LayoutField*)NativePtr)->fieldPtr = (void*)value; +} + +CppSharp::Parser::AST::LayoutBase::LayoutBase(::CppSharp::CppParser::AST::LayoutBase* native) + : __ownsNativeInstance(false) +{ + NativePtr = native; +} + +CppSharp::Parser::AST::LayoutBase^ CppSharp::Parser::AST::LayoutBase::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::LayoutBase((::CppSharp::CppParser::AST::LayoutBase*) native.ToPointer()); +} + +CppSharp::Parser::AST::LayoutBase::~LayoutBase() +{ + delete NativePtr; +} + +CppSharp::Parser::AST::LayoutBase::LayoutBase() +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::LayoutBase(); +} + +CppSharp::Parser::AST::LayoutBase::LayoutBase(CppSharp::Parser::AST::LayoutBase^ other) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(other, nullptr)) + throw gcnew ::System::ArgumentNullException("other", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::LayoutBase*)other->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::LayoutBase(__arg0); +} + +System::IntPtr CppSharp::Parser::AST::LayoutBase::__Instance::get() +{ + return System::IntPtr(NativePtr); +} + +void CppSharp::Parser::AST::LayoutBase::__Instance::set(System::IntPtr object) +{ + NativePtr = (::CppSharp::CppParser::AST::LayoutBase*)object.ToPointer(); +} + +unsigned int CppSharp::Parser::AST::LayoutBase::Offset::get() +{ + return ((::CppSharp::CppParser::AST::LayoutBase*)NativePtr)->offset; +} + +void CppSharp::Parser::AST::LayoutBase::Offset::set(unsigned int value) +{ + ((::CppSharp::CppParser::AST::LayoutBase*)NativePtr)->offset = value; +} + +CppSharp::Parser::AST::Class^ CppSharp::Parser::AST::LayoutBase::Class::get() +{ + return (((::CppSharp::CppParser::AST::LayoutBase*)NativePtr)->_class == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Class((::CppSharp::CppParser::AST::Class*)((::CppSharp::CppParser::AST::LayoutBase*)NativePtr)->_class); +} + +void CppSharp::Parser::AST::LayoutBase::Class::set(CppSharp::Parser::AST::Class^ value) +{ + ((::CppSharp::CppParser::AST::LayoutBase*)NativePtr)->_class = (::CppSharp::CppParser::AST::Class*)value->NativePtr; +} + +CppSharp::Parser::AST::ClassLayout::ClassLayout(::CppSharp::CppParser::AST::ClassLayout* native) + : __ownsNativeInstance(false) +{ + NativePtr = native; +} + +CppSharp::Parser::AST::ClassLayout^ CppSharp::Parser::AST::ClassLayout::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::ClassLayout((::CppSharp::CppParser::AST::ClassLayout*) native.ToPointer()); +} + +CppSharp::Parser::AST::ClassLayout::~ClassLayout() +{ + delete NativePtr; +} + +CppSharp::Parser::AST::ClassLayout::ClassLayout() +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::ClassLayout(); +} + +CppSharp::Parser::AST::VFTableInfo^ CppSharp::Parser::AST::ClassLayout::GetVFTables(unsigned int i) +{ + auto __ret = ((::CppSharp::CppParser::AST::ClassLayout*)NativePtr)->getVFTables(i); + auto ____ret = new ::CppSharp::CppParser::AST::VFTableInfo(__ret); + return (____ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::VFTableInfo((::CppSharp::CppParser::AST::VFTableInfo*)____ret); +} + +void CppSharp::Parser::AST::ClassLayout::AddVFTables(CppSharp::Parser::AST::VFTableInfo^ s) +{ + if (ReferenceEquals(s, nullptr)) + throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::VFTableInfo*)s->NativePtr; + ((::CppSharp::CppParser::AST::ClassLayout*)NativePtr)->addVFTables(__arg0); +} + +void CppSharp::Parser::AST::ClassLayout::ClearVFTables() +{ + ((::CppSharp::CppParser::AST::ClassLayout*)NativePtr)->clearVFTables(); +} + +CppSharp::Parser::AST::LayoutField^ CppSharp::Parser::AST::ClassLayout::GetFields(unsigned int i) +{ + auto __ret = ((::CppSharp::CppParser::AST::ClassLayout*)NativePtr)->getFields(i); + auto ____ret = new ::CppSharp::CppParser::AST::LayoutField(__ret); + return (____ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::LayoutField((::CppSharp::CppParser::AST::LayoutField*)____ret); +} + +void CppSharp::Parser::AST::ClassLayout::AddFields(CppSharp::Parser::AST::LayoutField^ s) +{ + if (ReferenceEquals(s, nullptr)) + throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::LayoutField*)s->NativePtr; + ((::CppSharp::CppParser::AST::ClassLayout*)NativePtr)->addFields(__arg0); +} + +void CppSharp::Parser::AST::ClassLayout::ClearFields() +{ + ((::CppSharp::CppParser::AST::ClassLayout*)NativePtr)->clearFields(); +} + +CppSharp::Parser::AST::LayoutBase^ CppSharp::Parser::AST::ClassLayout::GetBases(unsigned int i) +{ + auto __ret = ((::CppSharp::CppParser::AST::ClassLayout*)NativePtr)->getBases(i); + auto ____ret = new ::CppSharp::CppParser::AST::LayoutBase(__ret); + return (____ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::LayoutBase((::CppSharp::CppParser::AST::LayoutBase*)____ret); +} + +void CppSharp::Parser::AST::ClassLayout::AddBases(CppSharp::Parser::AST::LayoutBase^ s) +{ + if (ReferenceEquals(s, nullptr)) + throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::LayoutBase*)s->NativePtr; + ((::CppSharp::CppParser::AST::ClassLayout*)NativePtr)->addBases(__arg0); +} + +void CppSharp::Parser::AST::ClassLayout::ClearBases() +{ + ((::CppSharp::CppParser::AST::ClassLayout*)NativePtr)->clearBases(); +} + +CppSharp::Parser::AST::ClassLayout::ClassLayout(CppSharp::Parser::AST::ClassLayout^ _0) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::ClassLayout*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::ClassLayout(__arg0); +} + +System::IntPtr CppSharp::Parser::AST::ClassLayout::__Instance::get() +{ + return System::IntPtr(NativePtr); +} + +void CppSharp::Parser::AST::ClassLayout::__Instance::set(System::IntPtr object) +{ + NativePtr = (::CppSharp::CppParser::AST::ClassLayout*)object.ToPointer(); +} + +CppSharp::Parser::AST::CppAbi CppSharp::Parser::AST::ClassLayout::ABI::get() +{ + return (CppSharp::Parser::AST::CppAbi)((::CppSharp::CppParser::AST::ClassLayout*)NativePtr)->ABI; +} + +void CppSharp::Parser::AST::ClassLayout::ABI::set(CppSharp::Parser::AST::CppAbi value) +{ + ((::CppSharp::CppParser::AST::ClassLayout*)NativePtr)->ABI = (::CppSharp::CppParser::AST::CppAbi)value; +} + +System::Collections::Generic::List^ CppSharp::Parser::AST::ClassLayout::VFTables::get() +{ + auto _tmp__VFTables = gcnew System::Collections::Generic::List(); + for(auto _element : ((::CppSharp::CppParser::AST::ClassLayout*)NativePtr)->VFTables) + { + auto ___element = new ::CppSharp::CppParser::AST::VFTableInfo(_element); + auto _marshalElement = (___element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::VFTableInfo((::CppSharp::CppParser::AST::VFTableInfo*)___element); + _tmp__VFTables->Add(_marshalElement); + } + return _tmp__VFTables; +} + +void CppSharp::Parser::AST::ClassLayout::VFTables::set(System::Collections::Generic::List^ value) +{ + auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::VFTableInfo>(); + for each(CppSharp::Parser::AST::VFTableInfo^ _element in value) + { + auto _marshalElement = *(::CppSharp::CppParser::AST::VFTableInfo*)_element->NativePtr; + _tmpvalue.push_back(_marshalElement); + } + ((::CppSharp::CppParser::AST::ClassLayout*)NativePtr)->VFTables = _tmpvalue; +} + +CppSharp::Parser::AST::VTableLayout^ CppSharp::Parser::AST::ClassLayout::Layout::get() +{ + return (&((::CppSharp::CppParser::AST::ClassLayout*)NativePtr)->layout == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::VTableLayout((::CppSharp::CppParser::AST::VTableLayout*)&((::CppSharp::CppParser::AST::ClassLayout*)NativePtr)->layout); +} + +void CppSharp::Parser::AST::ClassLayout::Layout::set(CppSharp::Parser::AST::VTableLayout^ value) +{ + ((::CppSharp::CppParser::AST::ClassLayout*)NativePtr)->layout = *(::CppSharp::CppParser::AST::VTableLayout*)value->NativePtr; +} + +bool CppSharp::Parser::AST::ClassLayout::HasOwnVFPtr::get() +{ + return ((::CppSharp::CppParser::AST::ClassLayout*)NativePtr)->hasOwnVFPtr; +} + +void CppSharp::Parser::AST::ClassLayout::HasOwnVFPtr::set(bool value) +{ + ((::CppSharp::CppParser::AST::ClassLayout*)NativePtr)->hasOwnVFPtr = value; +} + +long CppSharp::Parser::AST::ClassLayout::VBPtrOffset::get() +{ + return ((::CppSharp::CppParser::AST::ClassLayout*)NativePtr)->VBPtrOffset; +} + +void CppSharp::Parser::AST::ClassLayout::VBPtrOffset::set(long value) +{ + ((::CppSharp::CppParser::AST::ClassLayout*)NativePtr)->VBPtrOffset = value; +} + +int CppSharp::Parser::AST::ClassLayout::Alignment::get() +{ + return ((::CppSharp::CppParser::AST::ClassLayout*)NativePtr)->alignment; +} + +void CppSharp::Parser::AST::ClassLayout::Alignment::set(int value) +{ + ((::CppSharp::CppParser::AST::ClassLayout*)NativePtr)->alignment = value; +} + +int CppSharp::Parser::AST::ClassLayout::Size::get() +{ + return ((::CppSharp::CppParser::AST::ClassLayout*)NativePtr)->size; +} + +void CppSharp::Parser::AST::ClassLayout::Size::set(int value) +{ + ((::CppSharp::CppParser::AST::ClassLayout*)NativePtr)->size = value; +} + +int CppSharp::Parser::AST::ClassLayout::DataSize::get() +{ + return ((::CppSharp::CppParser::AST::ClassLayout*)NativePtr)->dataSize; +} + +void CppSharp::Parser::AST::ClassLayout::DataSize::set(int value) +{ + ((::CppSharp::CppParser::AST::ClassLayout*)NativePtr)->dataSize = value; +} + +System::Collections::Generic::List^ CppSharp::Parser::AST::ClassLayout::Fields::get() +{ + auto _tmp__Fields = gcnew System::Collections::Generic::List(); + for(auto _element : ((::CppSharp::CppParser::AST::ClassLayout*)NativePtr)->Fields) + { + auto ___element = new ::CppSharp::CppParser::AST::LayoutField(_element); + auto _marshalElement = (___element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::LayoutField((::CppSharp::CppParser::AST::LayoutField*)___element); + _tmp__Fields->Add(_marshalElement); + } + return _tmp__Fields; +} + +void CppSharp::Parser::AST::ClassLayout::Fields::set(System::Collections::Generic::List^ value) +{ + auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::LayoutField>(); + for each(CppSharp::Parser::AST::LayoutField^ _element in value) + { + auto _marshalElement = *(::CppSharp::CppParser::AST::LayoutField*)_element->NativePtr; + _tmpvalue.push_back(_marshalElement); + } + ((::CppSharp::CppParser::AST::ClassLayout*)NativePtr)->Fields = _tmpvalue; +} + +System::Collections::Generic::List^ CppSharp::Parser::AST::ClassLayout::Bases::get() +{ + auto _tmp__Bases = gcnew System::Collections::Generic::List(); + for(auto _element : ((::CppSharp::CppParser::AST::ClassLayout*)NativePtr)->Bases) + { + auto ___element = new ::CppSharp::CppParser::AST::LayoutBase(_element); + auto _marshalElement = (___element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::LayoutBase((::CppSharp::CppParser::AST::LayoutBase*)___element); + _tmp__Bases->Add(_marshalElement); + } + return _tmp__Bases; +} + +void CppSharp::Parser::AST::ClassLayout::Bases::set(System::Collections::Generic::List^ value) +{ + auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::LayoutBase>(); + for each(CppSharp::Parser::AST::LayoutBase^ _element in value) + { + auto _marshalElement = *(::CppSharp::CppParser::AST::LayoutBase*)_element->NativePtr; + _tmpvalue.push_back(_marshalElement); + } + ((::CppSharp::CppParser::AST::ClassLayout*)NativePtr)->Bases = _tmpvalue; +} + +unsigned int CppSharp::Parser::AST::ClassLayout::VFTablesCount::get() +{ + auto __ret = ((::CppSharp::CppParser::AST::ClassLayout*)NativePtr)->getVFTablesCount(); + return __ret; +} + +unsigned int CppSharp::Parser::AST::ClassLayout::FieldsCount::get() +{ + auto __ret = ((::CppSharp::CppParser::AST::ClassLayout*)NativePtr)->getFieldsCount(); + return __ret; +} + +unsigned int CppSharp::Parser::AST::ClassLayout::BasesCount::get() +{ + auto __ret = ((::CppSharp::CppParser::AST::ClassLayout*)NativePtr)->getBasesCount(); + return __ret; +} + +CppSharp::Parser::AST::Class::Class(::CppSharp::CppParser::AST::Class* native) + : CppSharp::Parser::AST::DeclarationContext((::CppSharp::CppParser::AST::DeclarationContext*)native) +{ +} + +CppSharp::Parser::AST::Class^ CppSharp::Parser::AST::Class::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::Class((::CppSharp::CppParser::AST::Class*) native.ToPointer()); +} + +CppSharp::Parser::AST::Class::~Class() +{ + if (NativePtr) + { + auto __nativePtr = NativePtr; + NativePtr = 0; + delete (::CppSharp::CppParser::AST::Class*) __nativePtr; + } +} + +CppSharp::Parser::AST::Class::Class() + : CppSharp::Parser::AST::DeclarationContext((::CppSharp::CppParser::AST::DeclarationContext*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::Class(); +} + +CppSharp::Parser::AST::BaseClassSpecifier^ CppSharp::Parser::AST::Class::GetBases(unsigned int i) +{ + auto __ret = ((::CppSharp::CppParser::AST::Class*)NativePtr)->getBases(i); + if (__ret == nullptr) return nullptr; + return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::BaseClassSpecifier((::CppSharp::CppParser::AST::BaseClassSpecifier*)__ret); +} + +void CppSharp::Parser::AST::Class::AddBases(CppSharp::Parser::AST::BaseClassSpecifier^ s) +{ + if (ReferenceEquals(s, nullptr)) + throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + auto __arg0 = (::CppSharp::CppParser::AST::BaseClassSpecifier*)s->NativePtr; + ((::CppSharp::CppParser::AST::Class*)NativePtr)->addBases(__arg0); +} + +void CppSharp::Parser::AST::Class::ClearBases() +{ + ((::CppSharp::CppParser::AST::Class*)NativePtr)->clearBases(); +} + +CppSharp::Parser::AST::Field^ CppSharp::Parser::AST::Class::GetFields(unsigned int i) +{ + auto __ret = ((::CppSharp::CppParser::AST::Class*)NativePtr)->getFields(i); + if (__ret == nullptr) return nullptr; + return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Field((::CppSharp::CppParser::AST::Field*)__ret); +} + +void CppSharp::Parser::AST::Class::AddFields(CppSharp::Parser::AST::Field^ s) +{ + if (ReferenceEquals(s, nullptr)) + throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + auto __arg0 = (::CppSharp::CppParser::AST::Field*)s->NativePtr; + ((::CppSharp::CppParser::AST::Class*)NativePtr)->addFields(__arg0); +} + +void CppSharp::Parser::AST::Class::ClearFields() +{ + ((::CppSharp::CppParser::AST::Class*)NativePtr)->clearFields(); +} + +CppSharp::Parser::AST::Method^ CppSharp::Parser::AST::Class::GetMethods(unsigned int i) +{ + auto __ret = ((::CppSharp::CppParser::AST::Class*)NativePtr)->getMethods(i); + if (__ret == nullptr) return nullptr; + return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Method((::CppSharp::CppParser::AST::Method*)__ret); +} + +void CppSharp::Parser::AST::Class::AddMethods(CppSharp::Parser::AST::Method^ s) +{ + if (ReferenceEquals(s, nullptr)) + throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + auto __arg0 = (::CppSharp::CppParser::AST::Method*)s->NativePtr; + ((::CppSharp::CppParser::AST::Class*)NativePtr)->addMethods(__arg0); +} + +void CppSharp::Parser::AST::Class::ClearMethods() +{ + ((::CppSharp::CppParser::AST::Class*)NativePtr)->clearMethods(); +} + +CppSharp::Parser::AST::AccessSpecifierDecl^ CppSharp::Parser::AST::Class::GetSpecifiers(unsigned int i) +{ + auto __ret = ((::CppSharp::CppParser::AST::Class*)NativePtr)->getSpecifiers(i); + if (__ret == nullptr) return nullptr; + return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::AccessSpecifierDecl((::CppSharp::CppParser::AST::AccessSpecifierDecl*)__ret); +} + +void CppSharp::Parser::AST::Class::AddSpecifiers(CppSharp::Parser::AST::AccessSpecifierDecl^ s) +{ + if (ReferenceEquals(s, nullptr)) + throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + auto __arg0 = (::CppSharp::CppParser::AST::AccessSpecifierDecl*)s->NativePtr; + ((::CppSharp::CppParser::AST::Class*)NativePtr)->addSpecifiers(__arg0); +} + +void CppSharp::Parser::AST::Class::ClearSpecifiers() +{ + ((::CppSharp::CppParser::AST::Class*)NativePtr)->clearSpecifiers(); +} + +CppSharp::Parser::AST::Class::Class(CppSharp::Parser::AST::Class^ _0) + : CppSharp::Parser::AST::DeclarationContext((::CppSharp::CppParser::AST::DeclarationContext*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::Class*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::Class(__arg0); +} + +System::Collections::Generic::List^ CppSharp::Parser::AST::Class::Bases::get() +{ + auto _tmp__Bases = gcnew System::Collections::Generic::List(); + for(auto _element : ((::CppSharp::CppParser::AST::Class*)NativePtr)->Bases) + { + auto _marshalElement = (_element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::BaseClassSpecifier((::CppSharp::CppParser::AST::BaseClassSpecifier*)_element); + _tmp__Bases->Add(_marshalElement); + } + return _tmp__Bases; +} + +void CppSharp::Parser::AST::Class::Bases::set(System::Collections::Generic::List^ value) +{ + auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::BaseClassSpecifier*>(); + for each(CppSharp::Parser::AST::BaseClassSpecifier^ _element in value) + { + auto _marshalElement = (::CppSharp::CppParser::AST::BaseClassSpecifier*)_element->NativePtr; + _tmpvalue.push_back(_marshalElement); + } + ((::CppSharp::CppParser::AST::Class*)NativePtr)->Bases = _tmpvalue; +} + +System::Collections::Generic::List^ CppSharp::Parser::AST::Class::Fields::get() +{ + auto _tmp__Fields = gcnew System::Collections::Generic::List(); + for(auto _element : ((::CppSharp::CppParser::AST::Class*)NativePtr)->Fields) + { + auto _marshalElement = (_element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Field((::CppSharp::CppParser::AST::Field*)_element); + _tmp__Fields->Add(_marshalElement); + } + return _tmp__Fields; +} + +void CppSharp::Parser::AST::Class::Fields::set(System::Collections::Generic::List^ value) +{ + auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::Field*>(); + for each(CppSharp::Parser::AST::Field^ _element in value) + { + auto _marshalElement = (::CppSharp::CppParser::AST::Field*)_element->NativePtr; + _tmpvalue.push_back(_marshalElement); + } + ((::CppSharp::CppParser::AST::Class*)NativePtr)->Fields = _tmpvalue; +} + +System::Collections::Generic::List^ CppSharp::Parser::AST::Class::Methods::get() +{ + auto _tmp__Methods = gcnew System::Collections::Generic::List(); + for(auto _element : ((::CppSharp::CppParser::AST::Class*)NativePtr)->Methods) + { + auto _marshalElement = (_element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Method((::CppSharp::CppParser::AST::Method*)_element); + _tmp__Methods->Add(_marshalElement); + } + return _tmp__Methods; +} + +void CppSharp::Parser::AST::Class::Methods::set(System::Collections::Generic::List^ value) +{ + auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::Method*>(); + for each(CppSharp::Parser::AST::Method^ _element in value) + { + auto _marshalElement = (::CppSharp::CppParser::AST::Method*)_element->NativePtr; + _tmpvalue.push_back(_marshalElement); + } + ((::CppSharp::CppParser::AST::Class*)NativePtr)->Methods = _tmpvalue; +} + +System::Collections::Generic::List^ CppSharp::Parser::AST::Class::Specifiers::get() +{ + auto _tmp__Specifiers = gcnew System::Collections::Generic::List(); + for(auto _element : ((::CppSharp::CppParser::AST::Class*)NativePtr)->Specifiers) + { + auto _marshalElement = (_element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::AccessSpecifierDecl((::CppSharp::CppParser::AST::AccessSpecifierDecl*)_element); + _tmp__Specifiers->Add(_marshalElement); + } + return _tmp__Specifiers; +} + +void CppSharp::Parser::AST::Class::Specifiers::set(System::Collections::Generic::List^ value) +{ + auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::AccessSpecifierDecl*>(); + for each(CppSharp::Parser::AST::AccessSpecifierDecl^ _element in value) + { + auto _marshalElement = (::CppSharp::CppParser::AST::AccessSpecifierDecl*)_element->NativePtr; + _tmpvalue.push_back(_marshalElement); + } + ((::CppSharp::CppParser::AST::Class*)NativePtr)->Specifiers = _tmpvalue; +} + +bool CppSharp::Parser::AST::Class::IsPOD::get() +{ + return ((::CppSharp::CppParser::AST::Class*)NativePtr)->isPOD; +} + +void CppSharp::Parser::AST::Class::IsPOD::set(bool value) +{ + ((::CppSharp::CppParser::AST::Class*)NativePtr)->isPOD = value; +} + +bool CppSharp::Parser::AST::Class::IsAbstract::get() +{ + return ((::CppSharp::CppParser::AST::Class*)NativePtr)->isAbstract; +} + +void CppSharp::Parser::AST::Class::IsAbstract::set(bool value) +{ + ((::CppSharp::CppParser::AST::Class*)NativePtr)->isAbstract = value; +} + +bool CppSharp::Parser::AST::Class::IsUnion::get() +{ + return ((::CppSharp::CppParser::AST::Class*)NativePtr)->isUnion; +} + +void CppSharp::Parser::AST::Class::IsUnion::set(bool value) +{ + ((::CppSharp::CppParser::AST::Class*)NativePtr)->isUnion = value; +} + +bool CppSharp::Parser::AST::Class::IsDynamic::get() +{ + return ((::CppSharp::CppParser::AST::Class*)NativePtr)->isDynamic; +} + +void CppSharp::Parser::AST::Class::IsDynamic::set(bool value) +{ + ((::CppSharp::CppParser::AST::Class*)NativePtr)->isDynamic = value; +} + +bool CppSharp::Parser::AST::Class::IsPolymorphic::get() +{ + return ((::CppSharp::CppParser::AST::Class*)NativePtr)->isPolymorphic; +} + +void CppSharp::Parser::AST::Class::IsPolymorphic::set(bool value) +{ + ((::CppSharp::CppParser::AST::Class*)NativePtr)->isPolymorphic = value; +} + +bool CppSharp::Parser::AST::Class::HasNonTrivialDefaultConstructor::get() +{ + return ((::CppSharp::CppParser::AST::Class*)NativePtr)->hasNonTrivialDefaultConstructor; +} + +void CppSharp::Parser::AST::Class::HasNonTrivialDefaultConstructor::set(bool value) +{ + ((::CppSharp::CppParser::AST::Class*)NativePtr)->hasNonTrivialDefaultConstructor = value; +} + +bool CppSharp::Parser::AST::Class::HasNonTrivialCopyConstructor::get() +{ + return ((::CppSharp::CppParser::AST::Class*)NativePtr)->hasNonTrivialCopyConstructor; +} + +void CppSharp::Parser::AST::Class::HasNonTrivialCopyConstructor::set(bool value) +{ + ((::CppSharp::CppParser::AST::Class*)NativePtr)->hasNonTrivialCopyConstructor = value; +} + +bool CppSharp::Parser::AST::Class::HasNonTrivialDestructor::get() +{ + return ((::CppSharp::CppParser::AST::Class*)NativePtr)->hasNonTrivialDestructor; +} + +void CppSharp::Parser::AST::Class::HasNonTrivialDestructor::set(bool value) +{ + ((::CppSharp::CppParser::AST::Class*)NativePtr)->hasNonTrivialDestructor = value; +} + +bool CppSharp::Parser::AST::Class::IsExternCContext::get() +{ + return ((::CppSharp::CppParser::AST::Class*)NativePtr)->isExternCContext; +} + +void CppSharp::Parser::AST::Class::IsExternCContext::set(bool value) +{ + ((::CppSharp::CppParser::AST::Class*)NativePtr)->isExternCContext = value; +} + +bool CppSharp::Parser::AST::Class::IsInjected::get() +{ + return ((::CppSharp::CppParser::AST::Class*)NativePtr)->isInjected; +} + +void CppSharp::Parser::AST::Class::IsInjected::set(bool value) +{ + ((::CppSharp::CppParser::AST::Class*)NativePtr)->isInjected = value; +} + +CppSharp::Parser::AST::ClassLayout^ CppSharp::Parser::AST::Class::Layout::get() +{ + return (((::CppSharp::CppParser::AST::Class*)NativePtr)->layout == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::ClassLayout((::CppSharp::CppParser::AST::ClassLayout*)((::CppSharp::CppParser::AST::Class*)NativePtr)->layout); +} + +void CppSharp::Parser::AST::Class::Layout::set(CppSharp::Parser::AST::ClassLayout^ value) +{ + ((::CppSharp::CppParser::AST::Class*)NativePtr)->layout = (::CppSharp::CppParser::AST::ClassLayout*)value->NativePtr; +} + +unsigned int CppSharp::Parser::AST::Class::BasesCount::get() +{ + auto __ret = ((::CppSharp::CppParser::AST::Class*)NativePtr)->getBasesCount(); + return __ret; +} + +unsigned int CppSharp::Parser::AST::Class::FieldsCount::get() +{ + auto __ret = ((::CppSharp::CppParser::AST::Class*)NativePtr)->getFieldsCount(); + return __ret; +} + +unsigned int CppSharp::Parser::AST::Class::MethodsCount::get() +{ + auto __ret = ((::CppSharp::CppParser::AST::Class*)NativePtr)->getMethodsCount(); + return __ret; +} + +unsigned int CppSharp::Parser::AST::Class::SpecifiersCount::get() +{ + auto __ret = ((::CppSharp::CppParser::AST::Class*)NativePtr)->getSpecifiersCount(); + return __ret; +} + +CppSharp::Parser::AST::Template::Template(::CppSharp::CppParser::AST::Template* native) + : CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)native) +{ +} + +CppSharp::Parser::AST::Template^ CppSharp::Parser::AST::Template::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::Template((::CppSharp::CppParser::AST::Template*) native.ToPointer()); +} + +CppSharp::Parser::AST::Template::~Template() +{ + if (NativePtr) + { + auto __nativePtr = NativePtr; + NativePtr = 0; + delete (::CppSharp::CppParser::AST::Template*) __nativePtr; + } +} + +CppSharp::Parser::AST::Template::Template(CppSharp::Parser::AST::DeclarationKind kind) + : CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)nullptr) +{ + __ownsNativeInstance = true; + auto __arg0 = (::CppSharp::CppParser::AST::DeclarationKind)kind; + NativePtr = new ::CppSharp::CppParser::AST::Template(__arg0); +} + +CppSharp::Parser::AST::Template::Template() + : CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::Template(); +} + +CppSharp::Parser::AST::Declaration^ CppSharp::Parser::AST::Template::GetParameters(unsigned int i) +{ + auto __ret = ((::CppSharp::CppParser::AST::Template*)NativePtr)->getParameters(i); + if (__ret == nullptr) return nullptr; + return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)__ret); +} + +void CppSharp::Parser::AST::Template::AddParameters(CppSharp::Parser::AST::Declaration^ s) +{ + if (ReferenceEquals(s, nullptr)) + throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + auto __arg0 = (::CppSharp::CppParser::AST::Declaration*)s->NativePtr; + ((::CppSharp::CppParser::AST::Template*)NativePtr)->addParameters(__arg0); +} + +void CppSharp::Parser::AST::Template::ClearParameters() +{ + ((::CppSharp::CppParser::AST::Template*)NativePtr)->clearParameters(); +} + +CppSharp::Parser::AST::Template::Template(CppSharp::Parser::AST::Template^ _0) + : CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::Template*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::Template(__arg0); +} + +CppSharp::Parser::AST::Template::operator CppSharp::Parser::AST::Template^(CppSharp::Parser::AST::DeclarationKind kind) +{ + auto __arg0 = (::CppSharp::CppParser::AST::DeclarationKind)kind; + auto __ret = (::CppSharp::CppParser::AST::Template) __arg0; + auto ____ret = new ::CppSharp::CppParser::AST::Template(__ret); + return (____ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Template((::CppSharp::CppParser::AST::Template*)____ret); +} + +CppSharp::Parser::AST::Declaration^ CppSharp::Parser::AST::Template::TemplatedDecl::get() +{ + return (((::CppSharp::CppParser::AST::Template*)NativePtr)->TemplatedDecl == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)((::CppSharp::CppParser::AST::Template*)NativePtr)->TemplatedDecl); +} + +void CppSharp::Parser::AST::Template::TemplatedDecl::set(CppSharp::Parser::AST::Declaration^ value) +{ + ((::CppSharp::CppParser::AST::Template*)NativePtr)->TemplatedDecl = (::CppSharp::CppParser::AST::Declaration*)value->NativePtr; +} + +System::Collections::Generic::List^ CppSharp::Parser::AST::Template::Parameters::get() +{ + auto _tmp__Parameters = gcnew System::Collections::Generic::List(); + for(auto _element : ((::CppSharp::CppParser::AST::Template*)NativePtr)->Parameters) + { + auto _marshalElement = (_element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)_element); + _tmp__Parameters->Add(_marshalElement); + } + return _tmp__Parameters; +} + +void CppSharp::Parser::AST::Template::Parameters::set(System::Collections::Generic::List^ value) +{ + auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::Declaration*>(); + for each(CppSharp::Parser::AST::Declaration^ _element in value) + { + auto _marshalElement = (::CppSharp::CppParser::AST::Declaration*)_element->NativePtr; + _tmpvalue.push_back(_marshalElement); + } + ((::CppSharp::CppParser::AST::Template*)NativePtr)->Parameters = _tmpvalue; +} + +unsigned int CppSharp::Parser::AST::Template::ParametersCount::get() +{ + auto __ret = ((::CppSharp::CppParser::AST::Template*)NativePtr)->getParametersCount(); + return __ret; +} + +CppSharp::Parser::AST::TypeAliasTemplate::TypeAliasTemplate(::CppSharp::CppParser::AST::TypeAliasTemplate* native) + : CppSharp::Parser::AST::Template((::CppSharp::CppParser::AST::Template*)native) +{ +} + +CppSharp::Parser::AST::TypeAliasTemplate^ CppSharp::Parser::AST::TypeAliasTemplate::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::TypeAliasTemplate((::CppSharp::CppParser::AST::TypeAliasTemplate*) native.ToPointer()); +} + +CppSharp::Parser::AST::TypeAliasTemplate::~TypeAliasTemplate() +{ + if (NativePtr) + { + auto __nativePtr = NativePtr; + NativePtr = 0; + delete (::CppSharp::CppParser::AST::TypeAliasTemplate*) __nativePtr; + } +} + +CppSharp::Parser::AST::TypeAliasTemplate::TypeAliasTemplate() + : CppSharp::Parser::AST::Template((::CppSharp::CppParser::AST::Template*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::TypeAliasTemplate(); +} + +CppSharp::Parser::AST::TypeAliasTemplate::TypeAliasTemplate(CppSharp::Parser::AST::TypeAliasTemplate^ _0) + : CppSharp::Parser::AST::Template((::CppSharp::CppParser::AST::Template*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::TypeAliasTemplate*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::TypeAliasTemplate(__arg0); +} + +CppSharp::Parser::AST::TemplateParameter::TemplateParameter(::CppSharp::CppParser::AST::TemplateParameter* native) + : CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)native) +{ +} + +CppSharp::Parser::AST::TemplateParameter^ CppSharp::Parser::AST::TemplateParameter::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::TemplateParameter((::CppSharp::CppParser::AST::TemplateParameter*) native.ToPointer()); +} + +CppSharp::Parser::AST::TemplateParameter::~TemplateParameter() +{ + if (NativePtr) + { + auto __nativePtr = NativePtr; + NativePtr = 0; + delete (::CppSharp::CppParser::AST::TemplateParameter*) __nativePtr; + } +} + +CppSharp::Parser::AST::TemplateParameter::TemplateParameter(CppSharp::Parser::AST::DeclarationKind kind) + : CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)nullptr) +{ + __ownsNativeInstance = true; + auto __arg0 = (::CppSharp::CppParser::AST::DeclarationKind)kind; + NativePtr = new ::CppSharp::CppParser::AST::TemplateParameter(__arg0); +} + +CppSharp::Parser::AST::TemplateParameter::TemplateParameter(CppSharp::Parser::AST::TemplateParameter^ _0) + : CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::TemplateParameter*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::TemplateParameter(__arg0); +} + +CppSharp::Parser::AST::TemplateParameter::operator CppSharp::Parser::AST::TemplateParameter^(CppSharp::Parser::AST::DeclarationKind kind) +{ + auto __arg0 = (::CppSharp::CppParser::AST::DeclarationKind)kind; + auto __ret = (::CppSharp::CppParser::AST::TemplateParameter) __arg0; + auto ____ret = new ::CppSharp::CppParser::AST::TemplateParameter(__ret); + return (____ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::TemplateParameter((::CppSharp::CppParser::AST::TemplateParameter*)____ret); +} + +unsigned int CppSharp::Parser::AST::TemplateParameter::Depth::get() +{ + return ((::CppSharp::CppParser::AST::TemplateParameter*)NativePtr)->depth; +} + +void CppSharp::Parser::AST::TemplateParameter::Depth::set(unsigned int value) +{ + ((::CppSharp::CppParser::AST::TemplateParameter*)NativePtr)->depth = value; +} + +unsigned int CppSharp::Parser::AST::TemplateParameter::Index::get() +{ + return ((::CppSharp::CppParser::AST::TemplateParameter*)NativePtr)->index; +} + +void CppSharp::Parser::AST::TemplateParameter::Index::set(unsigned int value) +{ + ((::CppSharp::CppParser::AST::TemplateParameter*)NativePtr)->index = value; +} + +bool CppSharp::Parser::AST::TemplateParameter::IsParameterPack::get() +{ + return ((::CppSharp::CppParser::AST::TemplateParameter*)NativePtr)->isParameterPack; +} + +void CppSharp::Parser::AST::TemplateParameter::IsParameterPack::set(bool value) +{ + ((::CppSharp::CppParser::AST::TemplateParameter*)NativePtr)->isParameterPack = value; +} + +CppSharp::Parser::AST::TemplateTemplateParameter::TemplateTemplateParameter(::CppSharp::CppParser::AST::TemplateTemplateParameter* native) + : CppSharp::Parser::AST::Template((::CppSharp::CppParser::AST::Template*)native) +{ +} + +CppSharp::Parser::AST::TemplateTemplateParameter^ CppSharp::Parser::AST::TemplateTemplateParameter::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::TemplateTemplateParameter((::CppSharp::CppParser::AST::TemplateTemplateParameter*) native.ToPointer()); +} + +CppSharp::Parser::AST::TemplateTemplateParameter::~TemplateTemplateParameter() +{ + if (NativePtr) + { + auto __nativePtr = NativePtr; + NativePtr = 0; + delete (::CppSharp::CppParser::AST::TemplateTemplateParameter*) __nativePtr; + } +} + +CppSharp::Parser::AST::TemplateTemplateParameter::TemplateTemplateParameter() + : CppSharp::Parser::AST::Template((::CppSharp::CppParser::AST::Template*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::TemplateTemplateParameter(); +} + +CppSharp::Parser::AST::TemplateTemplateParameter::TemplateTemplateParameter(CppSharp::Parser::AST::TemplateTemplateParameter^ _0) + : CppSharp::Parser::AST::Template((::CppSharp::CppParser::AST::Template*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::TemplateTemplateParameter*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::TemplateTemplateParameter(__arg0); +} + +bool CppSharp::Parser::AST::TemplateTemplateParameter::IsParameterPack::get() +{ + return ((::CppSharp::CppParser::AST::TemplateTemplateParameter*)NativePtr)->isParameterPack; +} + +void CppSharp::Parser::AST::TemplateTemplateParameter::IsParameterPack::set(bool value) +{ + ((::CppSharp::CppParser::AST::TemplateTemplateParameter*)NativePtr)->isParameterPack = value; +} + +bool CppSharp::Parser::AST::TemplateTemplateParameter::IsPackExpansion::get() +{ + return ((::CppSharp::CppParser::AST::TemplateTemplateParameter*)NativePtr)->isPackExpansion; +} + +void CppSharp::Parser::AST::TemplateTemplateParameter::IsPackExpansion::set(bool value) +{ + ((::CppSharp::CppParser::AST::TemplateTemplateParameter*)NativePtr)->isPackExpansion = value; +} + +bool CppSharp::Parser::AST::TemplateTemplateParameter::IsExpandedParameterPack::get() +{ + return ((::CppSharp::CppParser::AST::TemplateTemplateParameter*)NativePtr)->isExpandedParameterPack; +} + +void CppSharp::Parser::AST::TemplateTemplateParameter::IsExpandedParameterPack::set(bool value) +{ + ((::CppSharp::CppParser::AST::TemplateTemplateParameter*)NativePtr)->isExpandedParameterPack = value; +} + +CppSharp::Parser::AST::TypeTemplateParameter::TypeTemplateParameter(::CppSharp::CppParser::AST::TypeTemplateParameter* native) + : CppSharp::Parser::AST::TemplateParameter((::CppSharp::CppParser::AST::TemplateParameter*)native) +{ +} + +CppSharp::Parser::AST::TypeTemplateParameter^ CppSharp::Parser::AST::TypeTemplateParameter::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::TypeTemplateParameter((::CppSharp::CppParser::AST::TypeTemplateParameter*) native.ToPointer()); +} + +CppSharp::Parser::AST::TypeTemplateParameter::~TypeTemplateParameter() +{ + if (NativePtr) + { + auto __nativePtr = NativePtr; + NativePtr = 0; + delete (::CppSharp::CppParser::AST::TypeTemplateParameter*) __nativePtr; + } +} + +CppSharp::Parser::AST::TypeTemplateParameter::TypeTemplateParameter() + : CppSharp::Parser::AST::TemplateParameter((::CppSharp::CppParser::AST::TemplateParameter*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::TypeTemplateParameter(); +} + +CppSharp::Parser::AST::TypeTemplateParameter::TypeTemplateParameter(CppSharp::Parser::AST::TypeTemplateParameter^ _0) + : CppSharp::Parser::AST::TemplateParameter((::CppSharp::CppParser::AST::TemplateParameter*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::TypeTemplateParameter*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::TypeTemplateParameter(__arg0); +} + +CppSharp::Parser::AST::QualifiedType^ CppSharp::Parser::AST::TypeTemplateParameter::DefaultArgument::get() +{ + return (&((::CppSharp::CppParser::AST::TypeTemplateParameter*)NativePtr)->defaultArgument == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::QualifiedType((::CppSharp::CppParser::AST::QualifiedType*)&((::CppSharp::CppParser::AST::TypeTemplateParameter*)NativePtr)->defaultArgument); +} + +void CppSharp::Parser::AST::TypeTemplateParameter::DefaultArgument::set(CppSharp::Parser::AST::QualifiedType^ value) +{ + ((::CppSharp::CppParser::AST::TypeTemplateParameter*)NativePtr)->defaultArgument = *(::CppSharp::CppParser::AST::QualifiedType*)value->NativePtr; +} + +CppSharp::Parser::AST::NonTypeTemplateParameter::NonTypeTemplateParameter(::CppSharp::CppParser::AST::NonTypeTemplateParameter* native) + : CppSharp::Parser::AST::TemplateParameter((::CppSharp::CppParser::AST::TemplateParameter*)native) +{ +} + +CppSharp::Parser::AST::NonTypeTemplateParameter^ CppSharp::Parser::AST::NonTypeTemplateParameter::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::NonTypeTemplateParameter((::CppSharp::CppParser::AST::NonTypeTemplateParameter*) native.ToPointer()); +} + +CppSharp::Parser::AST::NonTypeTemplateParameter::~NonTypeTemplateParameter() +{ + if (NativePtr) + { + auto __nativePtr = NativePtr; + NativePtr = 0; + delete (::CppSharp::CppParser::AST::NonTypeTemplateParameter*) __nativePtr; + } +} + +CppSharp::Parser::AST::NonTypeTemplateParameter::NonTypeTemplateParameter() + : CppSharp::Parser::AST::TemplateParameter((::CppSharp::CppParser::AST::TemplateParameter*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::NonTypeTemplateParameter(); +} + +CppSharp::Parser::AST::NonTypeTemplateParameter::NonTypeTemplateParameter(CppSharp::Parser::AST::NonTypeTemplateParameter^ _0) + : CppSharp::Parser::AST::TemplateParameter((::CppSharp::CppParser::AST::TemplateParameter*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::NonTypeTemplateParameter*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::NonTypeTemplateParameter(__arg0); +} + +CppSharp::Parser::AST::ExpressionObsolete^ CppSharp::Parser::AST::NonTypeTemplateParameter::DefaultArgument::get() +{ + return (((::CppSharp::CppParser::AST::NonTypeTemplateParameter*)NativePtr)->defaultArgument == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::ExpressionObsolete((::CppSharp::CppParser::AST::ExpressionObsolete*)((::CppSharp::CppParser::AST::NonTypeTemplateParameter*)NativePtr)->defaultArgument); +} + +void CppSharp::Parser::AST::NonTypeTemplateParameter::DefaultArgument::set(CppSharp::Parser::AST::ExpressionObsolete^ value) +{ + ((::CppSharp::CppParser::AST::NonTypeTemplateParameter*)NativePtr)->defaultArgument = (::CppSharp::CppParser::AST::ExpressionObsolete*)value->NativePtr; +} + +unsigned int CppSharp::Parser::AST::NonTypeTemplateParameter::Position::get() +{ + return ((::CppSharp::CppParser::AST::NonTypeTemplateParameter*)NativePtr)->position; +} + +void CppSharp::Parser::AST::NonTypeTemplateParameter::Position::set(unsigned int value) +{ + ((::CppSharp::CppParser::AST::NonTypeTemplateParameter*)NativePtr)->position = value; +} + +bool CppSharp::Parser::AST::NonTypeTemplateParameter::IsPackExpansion::get() +{ + return ((::CppSharp::CppParser::AST::NonTypeTemplateParameter*)NativePtr)->isPackExpansion; +} + +void CppSharp::Parser::AST::NonTypeTemplateParameter::IsPackExpansion::set(bool value) +{ + ((::CppSharp::CppParser::AST::NonTypeTemplateParameter*)NativePtr)->isPackExpansion = value; +} + +bool CppSharp::Parser::AST::NonTypeTemplateParameter::IsExpandedParameterPack::get() +{ + return ((::CppSharp::CppParser::AST::NonTypeTemplateParameter*)NativePtr)->isExpandedParameterPack; +} + +void CppSharp::Parser::AST::NonTypeTemplateParameter::IsExpandedParameterPack::set(bool value) +{ + ((::CppSharp::CppParser::AST::NonTypeTemplateParameter*)NativePtr)->isExpandedParameterPack = value; +} + +CppSharp::Parser::AST::ClassTemplate::ClassTemplate(::CppSharp::CppParser::AST::ClassTemplate* native) + : CppSharp::Parser::AST::Template((::CppSharp::CppParser::AST::Template*)native) +{ +} + +CppSharp::Parser::AST::ClassTemplate^ CppSharp::Parser::AST::ClassTemplate::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::ClassTemplate((::CppSharp::CppParser::AST::ClassTemplate*) native.ToPointer()); +} + +CppSharp::Parser::AST::ClassTemplate::~ClassTemplate() +{ + if (NativePtr) + { + auto __nativePtr = NativePtr; + NativePtr = 0; + delete (::CppSharp::CppParser::AST::ClassTemplate*) __nativePtr; + } +} + +CppSharp::Parser::AST::ClassTemplate::ClassTemplate() + : CppSharp::Parser::AST::Template((::CppSharp::CppParser::AST::Template*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::ClassTemplate(); +} + +CppSharp::Parser::AST::ClassTemplateSpecialization^ CppSharp::Parser::AST::ClassTemplate::GetSpecializations(unsigned int i) +{ + auto __ret = ((::CppSharp::CppParser::AST::ClassTemplate*)NativePtr)->getSpecializations(i); + if (__ret == nullptr) return nullptr; + return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::ClassTemplateSpecialization((::CppSharp::CppParser::AST::ClassTemplateSpecialization*)__ret); +} + +void CppSharp::Parser::AST::ClassTemplate::AddSpecializations(CppSharp::Parser::AST::ClassTemplateSpecialization^ s) +{ + if (ReferenceEquals(s, nullptr)) + throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + auto __arg0 = (::CppSharp::CppParser::AST::ClassTemplateSpecialization*)s->NativePtr; + ((::CppSharp::CppParser::AST::ClassTemplate*)NativePtr)->addSpecializations(__arg0); +} + +void CppSharp::Parser::AST::ClassTemplate::ClearSpecializations() +{ + ((::CppSharp::CppParser::AST::ClassTemplate*)NativePtr)->clearSpecializations(); +} + +CppSharp::Parser::AST::ClassTemplateSpecialization^ CppSharp::Parser::AST::ClassTemplate::FindSpecialization(System::String^ usr) +{ + auto __arg0 = clix::marshalString(usr); + auto __ret = ((::CppSharp::CppParser::AST::ClassTemplate*)NativePtr)->FindSpecialization(__arg0); + if (__ret == nullptr) return nullptr; + return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::ClassTemplateSpecialization((::CppSharp::CppParser::AST::ClassTemplateSpecialization*)__ret); +} + +CppSharp::Parser::AST::ClassTemplatePartialSpecialization^ CppSharp::Parser::AST::ClassTemplate::FindPartialSpecialization(System::String^ usr) +{ + auto __arg0 = clix::marshalString(usr); + auto __ret = ((::CppSharp::CppParser::AST::ClassTemplate*)NativePtr)->FindPartialSpecialization(__arg0); + if (__ret == nullptr) return nullptr; + return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::ClassTemplatePartialSpecialization((::CppSharp::CppParser::AST::ClassTemplatePartialSpecialization*)__ret); +} + +CppSharp::Parser::AST::ClassTemplate::ClassTemplate(CppSharp::Parser::AST::ClassTemplate^ _0) + : CppSharp::Parser::AST::Template((::CppSharp::CppParser::AST::Template*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::ClassTemplate*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::ClassTemplate(__arg0); +} + +System::Collections::Generic::List^ CppSharp::Parser::AST::ClassTemplate::Specializations::get() +{ + auto _tmp__Specializations = gcnew System::Collections::Generic::List(); + for(auto _element : ((::CppSharp::CppParser::AST::ClassTemplate*)NativePtr)->Specializations) + { + auto _marshalElement = (_element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::ClassTemplateSpecialization((::CppSharp::CppParser::AST::ClassTemplateSpecialization*)_element); + _tmp__Specializations->Add(_marshalElement); + } + return _tmp__Specializations; +} + +void CppSharp::Parser::AST::ClassTemplate::Specializations::set(System::Collections::Generic::List^ value) +{ + auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::ClassTemplateSpecialization*>(); + for each(CppSharp::Parser::AST::ClassTemplateSpecialization^ _element in value) + { + auto _marshalElement = (::CppSharp::CppParser::AST::ClassTemplateSpecialization*)_element->NativePtr; + _tmpvalue.push_back(_marshalElement); + } + ((::CppSharp::CppParser::AST::ClassTemplate*)NativePtr)->Specializations = _tmpvalue; +} + +unsigned int CppSharp::Parser::AST::ClassTemplate::SpecializationsCount::get() +{ + auto __ret = ((::CppSharp::CppParser::AST::ClassTemplate*)NativePtr)->getSpecializationsCount(); + return __ret; +} + +CppSharp::Parser::AST::ClassTemplateSpecialization::ClassTemplateSpecialization(::CppSharp::CppParser::AST::ClassTemplateSpecialization* native) + : CppSharp::Parser::AST::Class((::CppSharp::CppParser::AST::Class*)native) +{ +} + +CppSharp::Parser::AST::ClassTemplateSpecialization^ CppSharp::Parser::AST::ClassTemplateSpecialization::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::ClassTemplateSpecialization((::CppSharp::CppParser::AST::ClassTemplateSpecialization*) native.ToPointer()); +} + +CppSharp::Parser::AST::ClassTemplateSpecialization::~ClassTemplateSpecialization() +{ + if (NativePtr) + { + auto __nativePtr = NativePtr; + NativePtr = 0; + delete (::CppSharp::CppParser::AST::ClassTemplateSpecialization*) __nativePtr; + } +} + +CppSharp::Parser::AST::ClassTemplateSpecialization::ClassTemplateSpecialization() + : CppSharp::Parser::AST::Class((::CppSharp::CppParser::AST::Class*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::ClassTemplateSpecialization(); +} + +CppSharp::Parser::AST::TemplateArgument^ CppSharp::Parser::AST::ClassTemplateSpecialization::GetArguments(unsigned int i) +{ + auto __ret = ((::CppSharp::CppParser::AST::ClassTemplateSpecialization*)NativePtr)->getArguments(i); + auto ____ret = new ::CppSharp::CppParser::AST::TemplateArgument(__ret); + return (____ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::TemplateArgument((::CppSharp::CppParser::AST::TemplateArgument*)____ret); +} + +void CppSharp::Parser::AST::ClassTemplateSpecialization::AddArguments(CppSharp::Parser::AST::TemplateArgument^ s) +{ + if (ReferenceEquals(s, nullptr)) + throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::TemplateArgument*)s->NativePtr; + ((::CppSharp::CppParser::AST::ClassTemplateSpecialization*)NativePtr)->addArguments(__arg0); +} + +void CppSharp::Parser::AST::ClassTemplateSpecialization::ClearArguments() +{ + ((::CppSharp::CppParser::AST::ClassTemplateSpecialization*)NativePtr)->clearArguments(); +} + +CppSharp::Parser::AST::ClassTemplateSpecialization::ClassTemplateSpecialization(CppSharp::Parser::AST::ClassTemplateSpecialization^ _0) + : CppSharp::Parser::AST::Class((::CppSharp::CppParser::AST::Class*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::ClassTemplateSpecialization*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::ClassTemplateSpecialization(__arg0); +} + +CppSharp::Parser::AST::ClassTemplate^ CppSharp::Parser::AST::ClassTemplateSpecialization::TemplatedDecl::get() +{ + return (((::CppSharp::CppParser::AST::ClassTemplateSpecialization*)NativePtr)->templatedDecl == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::ClassTemplate((::CppSharp::CppParser::AST::ClassTemplate*)((::CppSharp::CppParser::AST::ClassTemplateSpecialization*)NativePtr)->templatedDecl); +} + +void CppSharp::Parser::AST::ClassTemplateSpecialization::TemplatedDecl::set(CppSharp::Parser::AST::ClassTemplate^ value) +{ + ((::CppSharp::CppParser::AST::ClassTemplateSpecialization*)NativePtr)->templatedDecl = (::CppSharp::CppParser::AST::ClassTemplate*)value->NativePtr; +} + +System::Collections::Generic::List^ CppSharp::Parser::AST::ClassTemplateSpecialization::Arguments::get() +{ + auto _tmp__Arguments = gcnew System::Collections::Generic::List(); + for(auto _element : ((::CppSharp::CppParser::AST::ClassTemplateSpecialization*)NativePtr)->Arguments) + { + auto ___element = new ::CppSharp::CppParser::AST::TemplateArgument(_element); + auto _marshalElement = (___element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::TemplateArgument((::CppSharp::CppParser::AST::TemplateArgument*)___element); + _tmp__Arguments->Add(_marshalElement); + } + return _tmp__Arguments; +} + +void CppSharp::Parser::AST::ClassTemplateSpecialization::Arguments::set(System::Collections::Generic::List^ value) +{ + auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::TemplateArgument>(); + for each(CppSharp::Parser::AST::TemplateArgument^ _element in value) + { + auto _marshalElement = *(::CppSharp::CppParser::AST::TemplateArgument*)_element->NativePtr; + _tmpvalue.push_back(_marshalElement); + } + ((::CppSharp::CppParser::AST::ClassTemplateSpecialization*)NativePtr)->Arguments = _tmpvalue; +} + +CppSharp::Parser::AST::TemplateSpecializationKind CppSharp::Parser::AST::ClassTemplateSpecialization::SpecializationKind::get() +{ + return (CppSharp::Parser::AST::TemplateSpecializationKind)((::CppSharp::CppParser::AST::ClassTemplateSpecialization*)NativePtr)->specializationKind; +} + +void CppSharp::Parser::AST::ClassTemplateSpecialization::SpecializationKind::set(CppSharp::Parser::AST::TemplateSpecializationKind value) +{ + ((::CppSharp::CppParser::AST::ClassTemplateSpecialization*)NativePtr)->specializationKind = (::CppSharp::CppParser::AST::TemplateSpecializationKind)value; +} + +unsigned int CppSharp::Parser::AST::ClassTemplateSpecialization::ArgumentsCount::get() +{ + auto __ret = ((::CppSharp::CppParser::AST::ClassTemplateSpecialization*)NativePtr)->getArgumentsCount(); + return __ret; +} + +CppSharp::Parser::AST::ClassTemplatePartialSpecialization::ClassTemplatePartialSpecialization(::CppSharp::CppParser::AST::ClassTemplatePartialSpecialization* native) + : CppSharp::Parser::AST::ClassTemplateSpecialization((::CppSharp::CppParser::AST::ClassTemplateSpecialization*)native) +{ +} + +CppSharp::Parser::AST::ClassTemplatePartialSpecialization^ CppSharp::Parser::AST::ClassTemplatePartialSpecialization::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::ClassTemplatePartialSpecialization((::CppSharp::CppParser::AST::ClassTemplatePartialSpecialization*) native.ToPointer()); +} + +CppSharp::Parser::AST::ClassTemplatePartialSpecialization::~ClassTemplatePartialSpecialization() +{ + if (NativePtr) + { + auto __nativePtr = NativePtr; + NativePtr = 0; + delete (::CppSharp::CppParser::AST::ClassTemplatePartialSpecialization*) __nativePtr; + } +} + +CppSharp::Parser::AST::ClassTemplatePartialSpecialization::ClassTemplatePartialSpecialization() + : CppSharp::Parser::AST::ClassTemplateSpecialization((::CppSharp::CppParser::AST::ClassTemplateSpecialization*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::ClassTemplatePartialSpecialization(); +} + +CppSharp::Parser::AST::ClassTemplatePartialSpecialization::ClassTemplatePartialSpecialization(CppSharp::Parser::AST::ClassTemplatePartialSpecialization^ _0) + : CppSharp::Parser::AST::ClassTemplateSpecialization((::CppSharp::CppParser::AST::ClassTemplateSpecialization*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::ClassTemplatePartialSpecialization*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::ClassTemplatePartialSpecialization(__arg0); +} + +CppSharp::Parser::AST::FunctionTemplate::FunctionTemplate(::CppSharp::CppParser::AST::FunctionTemplate* native) + : CppSharp::Parser::AST::Template((::CppSharp::CppParser::AST::Template*)native) +{ +} + +CppSharp::Parser::AST::FunctionTemplate^ CppSharp::Parser::AST::FunctionTemplate::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::FunctionTemplate((::CppSharp::CppParser::AST::FunctionTemplate*) native.ToPointer()); +} + +CppSharp::Parser::AST::FunctionTemplate::~FunctionTemplate() +{ + if (NativePtr) + { + auto __nativePtr = NativePtr; + NativePtr = 0; + delete (::CppSharp::CppParser::AST::FunctionTemplate*) __nativePtr; + } +} + +CppSharp::Parser::AST::FunctionTemplate::FunctionTemplate() + : CppSharp::Parser::AST::Template((::CppSharp::CppParser::AST::Template*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::FunctionTemplate(); +} + +CppSharp::Parser::AST::FunctionTemplateSpecialization^ CppSharp::Parser::AST::FunctionTemplate::GetSpecializations(unsigned int i) +{ + auto __ret = ((::CppSharp::CppParser::AST::FunctionTemplate*)NativePtr)->getSpecializations(i); + if (__ret == nullptr) return nullptr; + return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::FunctionTemplateSpecialization((::CppSharp::CppParser::AST::FunctionTemplateSpecialization*)__ret); +} + +void CppSharp::Parser::AST::FunctionTemplate::AddSpecializations(CppSharp::Parser::AST::FunctionTemplateSpecialization^ s) +{ + if (ReferenceEquals(s, nullptr)) + throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + auto __arg0 = (::CppSharp::CppParser::AST::FunctionTemplateSpecialization*)s->NativePtr; + ((::CppSharp::CppParser::AST::FunctionTemplate*)NativePtr)->addSpecializations(__arg0); +} + +void CppSharp::Parser::AST::FunctionTemplate::ClearSpecializations() +{ + ((::CppSharp::CppParser::AST::FunctionTemplate*)NativePtr)->clearSpecializations(); +} + +CppSharp::Parser::AST::FunctionTemplateSpecialization^ CppSharp::Parser::AST::FunctionTemplate::FindSpecialization(System::String^ usr) +{ + auto __arg0 = clix::marshalString(usr); + auto __ret = ((::CppSharp::CppParser::AST::FunctionTemplate*)NativePtr)->FindSpecialization(__arg0); + if (__ret == nullptr) return nullptr; + return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::FunctionTemplateSpecialization((::CppSharp::CppParser::AST::FunctionTemplateSpecialization*)__ret); +} + +CppSharp::Parser::AST::FunctionTemplate::FunctionTemplate(CppSharp::Parser::AST::FunctionTemplate^ _0) + : CppSharp::Parser::AST::Template((::CppSharp::CppParser::AST::Template*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::FunctionTemplate*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::FunctionTemplate(__arg0); +} + +System::Collections::Generic::List^ CppSharp::Parser::AST::FunctionTemplate::Specializations::get() +{ + auto _tmp__Specializations = gcnew System::Collections::Generic::List(); + for(auto _element : ((::CppSharp::CppParser::AST::FunctionTemplate*)NativePtr)->Specializations) + { + auto _marshalElement = (_element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::FunctionTemplateSpecialization((::CppSharp::CppParser::AST::FunctionTemplateSpecialization*)_element); + _tmp__Specializations->Add(_marshalElement); + } + return _tmp__Specializations; +} + +void CppSharp::Parser::AST::FunctionTemplate::Specializations::set(System::Collections::Generic::List^ value) +{ + auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::FunctionTemplateSpecialization*>(); + for each(CppSharp::Parser::AST::FunctionTemplateSpecialization^ _element in value) + { + auto _marshalElement = (::CppSharp::CppParser::AST::FunctionTemplateSpecialization*)_element->NativePtr; + _tmpvalue.push_back(_marshalElement); + } + ((::CppSharp::CppParser::AST::FunctionTemplate*)NativePtr)->Specializations = _tmpvalue; +} + +unsigned int CppSharp::Parser::AST::FunctionTemplate::SpecializationsCount::get() +{ + auto __ret = ((::CppSharp::CppParser::AST::FunctionTemplate*)NativePtr)->getSpecializationsCount(); + return __ret; +} + +CppSharp::Parser::AST::FunctionTemplateSpecialization::FunctionTemplateSpecialization(::CppSharp::CppParser::AST::FunctionTemplateSpecialization* native) + : __ownsNativeInstance(false) +{ + NativePtr = native; +} + +CppSharp::Parser::AST::FunctionTemplateSpecialization^ CppSharp::Parser::AST::FunctionTemplateSpecialization::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::FunctionTemplateSpecialization((::CppSharp::CppParser::AST::FunctionTemplateSpecialization*) native.ToPointer()); +} + +CppSharp::Parser::AST::FunctionTemplateSpecialization::~FunctionTemplateSpecialization() +{ + delete NativePtr; +} + +CppSharp::Parser::AST::FunctionTemplateSpecialization::FunctionTemplateSpecialization() +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::FunctionTemplateSpecialization(); +} + +CppSharp::Parser::AST::TemplateArgument^ CppSharp::Parser::AST::FunctionTemplateSpecialization::GetArguments(unsigned int i) +{ + auto __ret = ((::CppSharp::CppParser::AST::FunctionTemplateSpecialization*)NativePtr)->getArguments(i); + auto ____ret = new ::CppSharp::CppParser::AST::TemplateArgument(__ret); + return (____ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::TemplateArgument((::CppSharp::CppParser::AST::TemplateArgument*)____ret); +} + +void CppSharp::Parser::AST::FunctionTemplateSpecialization::AddArguments(CppSharp::Parser::AST::TemplateArgument^ s) +{ + if (ReferenceEquals(s, nullptr)) + throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::TemplateArgument*)s->NativePtr; + ((::CppSharp::CppParser::AST::FunctionTemplateSpecialization*)NativePtr)->addArguments(__arg0); +} + +void CppSharp::Parser::AST::FunctionTemplateSpecialization::ClearArguments() +{ + ((::CppSharp::CppParser::AST::FunctionTemplateSpecialization*)NativePtr)->clearArguments(); +} + +CppSharp::Parser::AST::FunctionTemplateSpecialization::FunctionTemplateSpecialization(CppSharp::Parser::AST::FunctionTemplateSpecialization^ _0) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::FunctionTemplateSpecialization*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::FunctionTemplateSpecialization(__arg0); +} + +System::IntPtr CppSharp::Parser::AST::FunctionTemplateSpecialization::__Instance::get() +{ + return System::IntPtr(NativePtr); +} + +void CppSharp::Parser::AST::FunctionTemplateSpecialization::__Instance::set(System::IntPtr object) +{ + NativePtr = (::CppSharp::CppParser::AST::FunctionTemplateSpecialization*)object.ToPointer(); +} + +CppSharp::Parser::AST::FunctionTemplate^ CppSharp::Parser::AST::FunctionTemplateSpecialization::Template::get() +{ + return (((::CppSharp::CppParser::AST::FunctionTemplateSpecialization*)NativePtr)->_template == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::FunctionTemplate((::CppSharp::CppParser::AST::FunctionTemplate*)((::CppSharp::CppParser::AST::FunctionTemplateSpecialization*)NativePtr)->_template); +} + +void CppSharp::Parser::AST::FunctionTemplateSpecialization::Template::set(CppSharp::Parser::AST::FunctionTemplate^ value) +{ + ((::CppSharp::CppParser::AST::FunctionTemplateSpecialization*)NativePtr)->_template = (::CppSharp::CppParser::AST::FunctionTemplate*)value->NativePtr; +} + +System::Collections::Generic::List^ CppSharp::Parser::AST::FunctionTemplateSpecialization::Arguments::get() +{ + auto _tmp__Arguments = gcnew System::Collections::Generic::List(); + for(auto _element : ((::CppSharp::CppParser::AST::FunctionTemplateSpecialization*)NativePtr)->Arguments) + { + auto ___element = new ::CppSharp::CppParser::AST::TemplateArgument(_element); + auto _marshalElement = (___element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::TemplateArgument((::CppSharp::CppParser::AST::TemplateArgument*)___element); + _tmp__Arguments->Add(_marshalElement); + } + return _tmp__Arguments; +} + +void CppSharp::Parser::AST::FunctionTemplateSpecialization::Arguments::set(System::Collections::Generic::List^ value) +{ + auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::TemplateArgument>(); + for each(CppSharp::Parser::AST::TemplateArgument^ _element in value) + { + auto _marshalElement = *(::CppSharp::CppParser::AST::TemplateArgument*)_element->NativePtr; + _tmpvalue.push_back(_marshalElement); + } + ((::CppSharp::CppParser::AST::FunctionTemplateSpecialization*)NativePtr)->Arguments = _tmpvalue; +} + +CppSharp::Parser::AST::Function^ CppSharp::Parser::AST::FunctionTemplateSpecialization::SpecializedFunction::get() +{ + return (((::CppSharp::CppParser::AST::FunctionTemplateSpecialization*)NativePtr)->specializedFunction == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Function((::CppSharp::CppParser::AST::Function*)((::CppSharp::CppParser::AST::FunctionTemplateSpecialization*)NativePtr)->specializedFunction); +} + +void CppSharp::Parser::AST::FunctionTemplateSpecialization::SpecializedFunction::set(CppSharp::Parser::AST::Function^ value) +{ + ((::CppSharp::CppParser::AST::FunctionTemplateSpecialization*)NativePtr)->specializedFunction = (::CppSharp::CppParser::AST::Function*)value->NativePtr; +} + +CppSharp::Parser::AST::TemplateSpecializationKind CppSharp::Parser::AST::FunctionTemplateSpecialization::SpecializationKind::get() +{ + return (CppSharp::Parser::AST::TemplateSpecializationKind)((::CppSharp::CppParser::AST::FunctionTemplateSpecialization*)NativePtr)->specializationKind; +} + +void CppSharp::Parser::AST::FunctionTemplateSpecialization::SpecializationKind::set(CppSharp::Parser::AST::TemplateSpecializationKind value) +{ + ((::CppSharp::CppParser::AST::FunctionTemplateSpecialization*)NativePtr)->specializationKind = (::CppSharp::CppParser::AST::TemplateSpecializationKind)value; +} + +unsigned int CppSharp::Parser::AST::FunctionTemplateSpecialization::ArgumentsCount::get() +{ + auto __ret = ((::CppSharp::CppParser::AST::FunctionTemplateSpecialization*)NativePtr)->getArgumentsCount(); + return __ret; +} + +CppSharp::Parser::AST::VarTemplate::VarTemplate(::CppSharp::CppParser::AST::VarTemplate* native) + : CppSharp::Parser::AST::Template((::CppSharp::CppParser::AST::Template*)native) +{ +} + +CppSharp::Parser::AST::VarTemplate^ CppSharp::Parser::AST::VarTemplate::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::VarTemplate((::CppSharp::CppParser::AST::VarTemplate*) native.ToPointer()); +} + +CppSharp::Parser::AST::VarTemplate::~VarTemplate() +{ + if (NativePtr) + { + auto __nativePtr = NativePtr; + NativePtr = 0; + delete (::CppSharp::CppParser::AST::VarTemplate*) __nativePtr; + } +} + +CppSharp::Parser::AST::VarTemplate::VarTemplate() + : CppSharp::Parser::AST::Template((::CppSharp::CppParser::AST::Template*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::VarTemplate(); +} + +CppSharp::Parser::AST::VarTemplateSpecialization^ CppSharp::Parser::AST::VarTemplate::GetSpecializations(unsigned int i) +{ + auto __ret = ((::CppSharp::CppParser::AST::VarTemplate*)NativePtr)->getSpecializations(i); + if (__ret == nullptr) return nullptr; + return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::VarTemplateSpecialization((::CppSharp::CppParser::AST::VarTemplateSpecialization*)__ret); +} + +void CppSharp::Parser::AST::VarTemplate::AddSpecializations(CppSharp::Parser::AST::VarTemplateSpecialization^ s) +{ + if (ReferenceEquals(s, nullptr)) + throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + auto __arg0 = (::CppSharp::CppParser::AST::VarTemplateSpecialization*)s->NativePtr; + ((::CppSharp::CppParser::AST::VarTemplate*)NativePtr)->addSpecializations(__arg0); +} + +void CppSharp::Parser::AST::VarTemplate::ClearSpecializations() +{ + ((::CppSharp::CppParser::AST::VarTemplate*)NativePtr)->clearSpecializations(); +} + +CppSharp::Parser::AST::VarTemplateSpecialization^ CppSharp::Parser::AST::VarTemplate::FindSpecialization(System::String^ usr) +{ + auto __arg0 = clix::marshalString(usr); + auto __ret = ((::CppSharp::CppParser::AST::VarTemplate*)NativePtr)->FindSpecialization(__arg0); + if (__ret == nullptr) return nullptr; + return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::VarTemplateSpecialization((::CppSharp::CppParser::AST::VarTemplateSpecialization*)__ret); +} + +CppSharp::Parser::AST::VarTemplatePartialSpecialization^ CppSharp::Parser::AST::VarTemplate::FindPartialSpecialization(System::String^ usr) +{ + auto __arg0 = clix::marshalString(usr); + auto __ret = ((::CppSharp::CppParser::AST::VarTemplate*)NativePtr)->FindPartialSpecialization(__arg0); + if (__ret == nullptr) return nullptr; + return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::VarTemplatePartialSpecialization((::CppSharp::CppParser::AST::VarTemplatePartialSpecialization*)__ret); +} + +CppSharp::Parser::AST::VarTemplate::VarTemplate(CppSharp::Parser::AST::VarTemplate^ _0) + : CppSharp::Parser::AST::Template((::CppSharp::CppParser::AST::Template*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::VarTemplate*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::VarTemplate(__arg0); +} + +System::Collections::Generic::List^ CppSharp::Parser::AST::VarTemplate::Specializations::get() +{ + auto _tmp__Specializations = gcnew System::Collections::Generic::List(); + for(auto _element : ((::CppSharp::CppParser::AST::VarTemplate*)NativePtr)->Specializations) + { + auto _marshalElement = (_element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::VarTemplateSpecialization((::CppSharp::CppParser::AST::VarTemplateSpecialization*)_element); + _tmp__Specializations->Add(_marshalElement); + } + return _tmp__Specializations; +} + +void CppSharp::Parser::AST::VarTemplate::Specializations::set(System::Collections::Generic::List^ value) +{ + auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::VarTemplateSpecialization*>(); + for each(CppSharp::Parser::AST::VarTemplateSpecialization^ _element in value) + { + auto _marshalElement = (::CppSharp::CppParser::AST::VarTemplateSpecialization*)_element->NativePtr; + _tmpvalue.push_back(_marshalElement); + } + ((::CppSharp::CppParser::AST::VarTemplate*)NativePtr)->Specializations = _tmpvalue; +} + +unsigned int CppSharp::Parser::AST::VarTemplate::SpecializationsCount::get() +{ + auto __ret = ((::CppSharp::CppParser::AST::VarTemplate*)NativePtr)->getSpecializationsCount(); + return __ret; +} + +CppSharp::Parser::AST::VarTemplateSpecialization::VarTemplateSpecialization(::CppSharp::CppParser::AST::VarTemplateSpecialization* native) + : CppSharp::Parser::AST::Variable((::CppSharp::CppParser::AST::Variable*)native) +{ +} + +CppSharp::Parser::AST::VarTemplateSpecialization^ CppSharp::Parser::AST::VarTemplateSpecialization::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::VarTemplateSpecialization((::CppSharp::CppParser::AST::VarTemplateSpecialization*) native.ToPointer()); +} + +CppSharp::Parser::AST::VarTemplateSpecialization::~VarTemplateSpecialization() +{ + if (NativePtr) + { + auto __nativePtr = NativePtr; + NativePtr = 0; + delete (::CppSharp::CppParser::AST::VarTemplateSpecialization*) __nativePtr; + } +} + +CppSharp::Parser::AST::VarTemplateSpecialization::VarTemplateSpecialization() + : CppSharp::Parser::AST::Variable((::CppSharp::CppParser::AST::Variable*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::VarTemplateSpecialization(); +} + +CppSharp::Parser::AST::TemplateArgument^ CppSharp::Parser::AST::VarTemplateSpecialization::GetArguments(unsigned int i) +{ + auto __ret = ((::CppSharp::CppParser::AST::VarTemplateSpecialization*)NativePtr)->getArguments(i); + auto ____ret = new ::CppSharp::CppParser::AST::TemplateArgument(__ret); + return (____ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::TemplateArgument((::CppSharp::CppParser::AST::TemplateArgument*)____ret); +} + +void CppSharp::Parser::AST::VarTemplateSpecialization::AddArguments(CppSharp::Parser::AST::TemplateArgument^ s) +{ + if (ReferenceEquals(s, nullptr)) + throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::TemplateArgument*)s->NativePtr; + ((::CppSharp::CppParser::AST::VarTemplateSpecialization*)NativePtr)->addArguments(__arg0); +} + +void CppSharp::Parser::AST::VarTemplateSpecialization::ClearArguments() +{ + ((::CppSharp::CppParser::AST::VarTemplateSpecialization*)NativePtr)->clearArguments(); +} + +CppSharp::Parser::AST::VarTemplateSpecialization::VarTemplateSpecialization(CppSharp::Parser::AST::VarTemplateSpecialization^ _0) + : CppSharp::Parser::AST::Variable((::CppSharp::CppParser::AST::Variable*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::VarTemplateSpecialization*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::VarTemplateSpecialization(__arg0); +} + +CppSharp::Parser::AST::VarTemplate^ CppSharp::Parser::AST::VarTemplateSpecialization::TemplatedDecl::get() +{ + return (((::CppSharp::CppParser::AST::VarTemplateSpecialization*)NativePtr)->templatedDecl == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::VarTemplate((::CppSharp::CppParser::AST::VarTemplate*)((::CppSharp::CppParser::AST::VarTemplateSpecialization*)NativePtr)->templatedDecl); +} + +void CppSharp::Parser::AST::VarTemplateSpecialization::TemplatedDecl::set(CppSharp::Parser::AST::VarTemplate^ value) +{ + ((::CppSharp::CppParser::AST::VarTemplateSpecialization*)NativePtr)->templatedDecl = (::CppSharp::CppParser::AST::VarTemplate*)value->NativePtr; +} + +System::Collections::Generic::List^ CppSharp::Parser::AST::VarTemplateSpecialization::Arguments::get() +{ + auto _tmp__Arguments = gcnew System::Collections::Generic::List(); + for(auto _element : ((::CppSharp::CppParser::AST::VarTemplateSpecialization*)NativePtr)->Arguments) + { + auto ___element = new ::CppSharp::CppParser::AST::TemplateArgument(_element); + auto _marshalElement = (___element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::TemplateArgument((::CppSharp::CppParser::AST::TemplateArgument*)___element); + _tmp__Arguments->Add(_marshalElement); + } + return _tmp__Arguments; +} + +void CppSharp::Parser::AST::VarTemplateSpecialization::Arguments::set(System::Collections::Generic::List^ value) +{ + auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::TemplateArgument>(); + for each(CppSharp::Parser::AST::TemplateArgument^ _element in value) + { + auto _marshalElement = *(::CppSharp::CppParser::AST::TemplateArgument*)_element->NativePtr; + _tmpvalue.push_back(_marshalElement); + } + ((::CppSharp::CppParser::AST::VarTemplateSpecialization*)NativePtr)->Arguments = _tmpvalue; +} + +CppSharp::Parser::AST::TemplateSpecializationKind CppSharp::Parser::AST::VarTemplateSpecialization::SpecializationKind::get() +{ + return (CppSharp::Parser::AST::TemplateSpecializationKind)((::CppSharp::CppParser::AST::VarTemplateSpecialization*)NativePtr)->specializationKind; +} + +void CppSharp::Parser::AST::VarTemplateSpecialization::SpecializationKind::set(CppSharp::Parser::AST::TemplateSpecializationKind value) +{ + ((::CppSharp::CppParser::AST::VarTemplateSpecialization*)NativePtr)->specializationKind = (::CppSharp::CppParser::AST::TemplateSpecializationKind)value; +} + +unsigned int CppSharp::Parser::AST::VarTemplateSpecialization::ArgumentsCount::get() +{ + auto __ret = ((::CppSharp::CppParser::AST::VarTemplateSpecialization*)NativePtr)->getArgumentsCount(); + return __ret; +} + +CppSharp::Parser::AST::VarTemplatePartialSpecialization::VarTemplatePartialSpecialization(::CppSharp::CppParser::AST::VarTemplatePartialSpecialization* native) + : CppSharp::Parser::AST::VarTemplateSpecialization((::CppSharp::CppParser::AST::VarTemplateSpecialization*)native) +{ +} + +CppSharp::Parser::AST::VarTemplatePartialSpecialization^ CppSharp::Parser::AST::VarTemplatePartialSpecialization::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::VarTemplatePartialSpecialization((::CppSharp::CppParser::AST::VarTemplatePartialSpecialization*) native.ToPointer()); +} + +CppSharp::Parser::AST::VarTemplatePartialSpecialization::~VarTemplatePartialSpecialization() +{ + if (NativePtr) + { + auto __nativePtr = NativePtr; + NativePtr = 0; + delete (::CppSharp::CppParser::AST::VarTemplatePartialSpecialization*) __nativePtr; + } +} + +CppSharp::Parser::AST::VarTemplatePartialSpecialization::VarTemplatePartialSpecialization() + : CppSharp::Parser::AST::VarTemplateSpecialization((::CppSharp::CppParser::AST::VarTemplateSpecialization*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::VarTemplatePartialSpecialization(); +} + +CppSharp::Parser::AST::VarTemplatePartialSpecialization::VarTemplatePartialSpecialization(CppSharp::Parser::AST::VarTemplatePartialSpecialization^ _0) + : CppSharp::Parser::AST::VarTemplateSpecialization((::CppSharp::CppParser::AST::VarTemplateSpecialization*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::VarTemplatePartialSpecialization*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::VarTemplatePartialSpecialization(__arg0); +} + +CppSharp::Parser::AST::Namespace::Namespace(::CppSharp::CppParser::AST::Namespace* native) + : CppSharp::Parser::AST::DeclarationContext((::CppSharp::CppParser::AST::DeclarationContext*)native) +{ +} + +CppSharp::Parser::AST::Namespace^ CppSharp::Parser::AST::Namespace::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::Namespace((::CppSharp::CppParser::AST::Namespace*) native.ToPointer()); +} + +CppSharp::Parser::AST::Namespace::~Namespace() +{ + if (NativePtr) + { + auto __nativePtr = NativePtr; + NativePtr = 0; + delete (::CppSharp::CppParser::AST::Namespace*) __nativePtr; + } +} + +CppSharp::Parser::AST::Namespace::Namespace() + : CppSharp::Parser::AST::DeclarationContext((::CppSharp::CppParser::AST::DeclarationContext*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::Namespace(); +} + +CppSharp::Parser::AST::Namespace::Namespace(CppSharp::Parser::AST::Namespace^ _0) + : CppSharp::Parser::AST::DeclarationContext((::CppSharp::CppParser::AST::DeclarationContext*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::Namespace*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::Namespace(__arg0); +} + +bool CppSharp::Parser::AST::Namespace::IsInline::get() +{ + return ((::CppSharp::CppParser::AST::Namespace*)NativePtr)->isInline; +} + +void CppSharp::Parser::AST::Namespace::IsInline::set(bool value) +{ + ((::CppSharp::CppParser::AST::Namespace*)NativePtr)->isInline = value; +} + +CppSharp::Parser::AST::PreprocessedEntity::PreprocessedEntity(::CppSharp::CppParser::AST::PreprocessedEntity* native) + : __ownsNativeInstance(false) +{ + NativePtr = native; +} + +CppSharp::Parser::AST::PreprocessedEntity^ CppSharp::Parser::AST::PreprocessedEntity::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::PreprocessedEntity((::CppSharp::CppParser::AST::PreprocessedEntity*) native.ToPointer()); +} + +CppSharp::Parser::AST::PreprocessedEntity::~PreprocessedEntity() +{ + delete NativePtr; +} + +CppSharp::Parser::AST::PreprocessedEntity::PreprocessedEntity() +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::PreprocessedEntity(); +} + +CppSharp::Parser::AST::PreprocessedEntity::PreprocessedEntity(CppSharp::Parser::AST::PreprocessedEntity^ _0) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::PreprocessedEntity*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::PreprocessedEntity(__arg0); +} + +System::IntPtr CppSharp::Parser::AST::PreprocessedEntity::__Instance::get() +{ + return System::IntPtr(NativePtr); +} + +void CppSharp::Parser::AST::PreprocessedEntity::__Instance::set(System::IntPtr object) +{ + NativePtr = (::CppSharp::CppParser::AST::PreprocessedEntity*)object.ToPointer(); +} + +CppSharp::Parser::AST::MacroLocation CppSharp::Parser::AST::PreprocessedEntity::MacroLocation::get() +{ + return (CppSharp::Parser::AST::MacroLocation)((::CppSharp::CppParser::AST::PreprocessedEntity*)NativePtr)->macroLocation; +} + +void CppSharp::Parser::AST::PreprocessedEntity::MacroLocation::set(CppSharp::Parser::AST::MacroLocation value) +{ + ((::CppSharp::CppParser::AST::PreprocessedEntity*)NativePtr)->macroLocation = (::CppSharp::CppParser::AST::MacroLocation)value; +} + +::System::IntPtr CppSharp::Parser::AST::PreprocessedEntity::OriginalPtr::get() +{ + return ::System::IntPtr(((::CppSharp::CppParser::AST::PreprocessedEntity*)NativePtr)->originalPtr); +} + +void CppSharp::Parser::AST::PreprocessedEntity::OriginalPtr::set(::System::IntPtr value) +{ + ((::CppSharp::CppParser::AST::PreprocessedEntity*)NativePtr)->originalPtr = (void*)value; +} + +CppSharp::Parser::AST::DeclarationKind CppSharp::Parser::AST::PreprocessedEntity::Kind::get() +{ + return (CppSharp::Parser::AST::DeclarationKind)((::CppSharp::CppParser::AST::PreprocessedEntity*)NativePtr)->kind; +} + +void CppSharp::Parser::AST::PreprocessedEntity::Kind::set(CppSharp::Parser::AST::DeclarationKind value) +{ + ((::CppSharp::CppParser::AST::PreprocessedEntity*)NativePtr)->kind = (::CppSharp::CppParser::AST::DeclarationKind)value; +} + +CppSharp::Parser::AST::MacroDefinition::MacroDefinition(::CppSharp::CppParser::AST::MacroDefinition* native) + : CppSharp::Parser::AST::PreprocessedEntity((::CppSharp::CppParser::AST::PreprocessedEntity*)native) +{ +} + +CppSharp::Parser::AST::MacroDefinition^ CppSharp::Parser::AST::MacroDefinition::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::MacroDefinition((::CppSharp::CppParser::AST::MacroDefinition*) native.ToPointer()); +} + +CppSharp::Parser::AST::MacroDefinition::~MacroDefinition() +{ + if (NativePtr) + { + auto __nativePtr = NativePtr; + NativePtr = 0; + delete (::CppSharp::CppParser::AST::MacroDefinition*) __nativePtr; + } +} + +CppSharp::Parser::AST::MacroDefinition::MacroDefinition() + : CppSharp::Parser::AST::PreprocessedEntity((::CppSharp::CppParser::AST::PreprocessedEntity*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::MacroDefinition(); +} + +CppSharp::Parser::AST::MacroDefinition::MacroDefinition(CppSharp::Parser::AST::MacroDefinition^ _0) + : CppSharp::Parser::AST::PreprocessedEntity((::CppSharp::CppParser::AST::PreprocessedEntity*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::MacroDefinition*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::MacroDefinition(__arg0); +} + +System::String^ CppSharp::Parser::AST::MacroDefinition::Name::get() +{ + return clix::marshalString(((::CppSharp::CppParser::AST::MacroDefinition*)NativePtr)->name); +} + +void CppSharp::Parser::AST::MacroDefinition::Name::set(System::String^ value) +{ + ((::CppSharp::CppParser::AST::MacroDefinition*)NativePtr)->name = clix::marshalString(value); +} + +System::String^ CppSharp::Parser::AST::MacroDefinition::Expression::get() +{ + return clix::marshalString(((::CppSharp::CppParser::AST::MacroDefinition*)NativePtr)->expression); +} + +void CppSharp::Parser::AST::MacroDefinition::Expression::set(System::String^ value) +{ + ((::CppSharp::CppParser::AST::MacroDefinition*)NativePtr)->expression = clix::marshalString(value); +} + +int CppSharp::Parser::AST::MacroDefinition::LineNumberStart::get() +{ + return ((::CppSharp::CppParser::AST::MacroDefinition*)NativePtr)->lineNumberStart; +} + +void CppSharp::Parser::AST::MacroDefinition::LineNumberStart::set(int value) +{ + ((::CppSharp::CppParser::AST::MacroDefinition*)NativePtr)->lineNumberStart = value; +} + +int CppSharp::Parser::AST::MacroDefinition::LineNumberEnd::get() +{ + return ((::CppSharp::CppParser::AST::MacroDefinition*)NativePtr)->lineNumberEnd; +} + +void CppSharp::Parser::AST::MacroDefinition::LineNumberEnd::set(int value) +{ + ((::CppSharp::CppParser::AST::MacroDefinition*)NativePtr)->lineNumberEnd = value; +} + +CppSharp::Parser::AST::MacroExpansion::MacroExpansion(::CppSharp::CppParser::AST::MacroExpansion* native) + : CppSharp::Parser::AST::PreprocessedEntity((::CppSharp::CppParser::AST::PreprocessedEntity*)native) +{ +} + +CppSharp::Parser::AST::MacroExpansion^ CppSharp::Parser::AST::MacroExpansion::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::MacroExpansion((::CppSharp::CppParser::AST::MacroExpansion*) native.ToPointer()); +} + +CppSharp::Parser::AST::MacroExpansion::~MacroExpansion() +{ + if (NativePtr) + { + auto __nativePtr = NativePtr; + NativePtr = 0; + delete (::CppSharp::CppParser::AST::MacroExpansion*) __nativePtr; + } +} + +CppSharp::Parser::AST::MacroExpansion::MacroExpansion() + : CppSharp::Parser::AST::PreprocessedEntity((::CppSharp::CppParser::AST::PreprocessedEntity*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::MacroExpansion(); +} + +CppSharp::Parser::AST::MacroExpansion::MacroExpansion(CppSharp::Parser::AST::MacroExpansion^ _0) + : CppSharp::Parser::AST::PreprocessedEntity((::CppSharp::CppParser::AST::PreprocessedEntity*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::MacroExpansion*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::MacroExpansion(__arg0); +} + +System::String^ CppSharp::Parser::AST::MacroExpansion::Name::get() +{ + return clix::marshalString(((::CppSharp::CppParser::AST::MacroExpansion*)NativePtr)->name); +} + +void CppSharp::Parser::AST::MacroExpansion::Name::set(System::String^ value) +{ + ((::CppSharp::CppParser::AST::MacroExpansion*)NativePtr)->name = clix::marshalString(value); +} + +System::String^ CppSharp::Parser::AST::MacroExpansion::Text::get() +{ + return clix::marshalString(((::CppSharp::CppParser::AST::MacroExpansion*)NativePtr)->text); +} + +void CppSharp::Parser::AST::MacroExpansion::Text::set(System::String^ value) +{ + ((::CppSharp::CppParser::AST::MacroExpansion*)NativePtr)->text = clix::marshalString(value); +} + +CppSharp::Parser::AST::MacroDefinition^ CppSharp::Parser::AST::MacroExpansion::Definition::get() +{ + return (((::CppSharp::CppParser::AST::MacroExpansion*)NativePtr)->definition == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::MacroDefinition((::CppSharp::CppParser::AST::MacroDefinition*)((::CppSharp::CppParser::AST::MacroExpansion*)NativePtr)->definition); +} + +void CppSharp::Parser::AST::MacroExpansion::Definition::set(CppSharp::Parser::AST::MacroDefinition^ value) +{ + ((::CppSharp::CppParser::AST::MacroExpansion*)NativePtr)->definition = (::CppSharp::CppParser::AST::MacroDefinition*)value->NativePtr; +} + +CppSharp::Parser::AST::TranslationUnit::TranslationUnit(::CppSharp::CppParser::AST::TranslationUnit* native) + : CppSharp::Parser::AST::Namespace((::CppSharp::CppParser::AST::Namespace*)native) +{ +} + +CppSharp::Parser::AST::TranslationUnit^ CppSharp::Parser::AST::TranslationUnit::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::TranslationUnit((::CppSharp::CppParser::AST::TranslationUnit*) native.ToPointer()); +} + +CppSharp::Parser::AST::TranslationUnit::~TranslationUnit() +{ + if (NativePtr) + { + auto __nativePtr = NativePtr; + NativePtr = 0; + delete (::CppSharp::CppParser::AST::TranslationUnit*) __nativePtr; + } +} + +CppSharp::Parser::AST::TranslationUnit::TranslationUnit() + : CppSharp::Parser::AST::Namespace((::CppSharp::CppParser::AST::Namespace*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::TranslationUnit(); +} + +CppSharp::Parser::AST::MacroDefinition^ CppSharp::Parser::AST::TranslationUnit::GetMacros(unsigned int i) +{ + auto __ret = ((::CppSharp::CppParser::AST::TranslationUnit*)NativePtr)->getMacros(i); + if (__ret == nullptr) return nullptr; + return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::MacroDefinition((::CppSharp::CppParser::AST::MacroDefinition*)__ret); +} + +void CppSharp::Parser::AST::TranslationUnit::AddMacros(CppSharp::Parser::AST::MacroDefinition^ s) +{ + if (ReferenceEquals(s, nullptr)) + throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + auto __arg0 = (::CppSharp::CppParser::AST::MacroDefinition*)s->NativePtr; + ((::CppSharp::CppParser::AST::TranslationUnit*)NativePtr)->addMacros(__arg0); +} + +void CppSharp::Parser::AST::TranslationUnit::ClearMacros() +{ + ((::CppSharp::CppParser::AST::TranslationUnit*)NativePtr)->clearMacros(); +} + +CppSharp::Parser::AST::TranslationUnit::TranslationUnit(CppSharp::Parser::AST::TranslationUnit^ _0) + : CppSharp::Parser::AST::Namespace((::CppSharp::CppParser::AST::Namespace*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::TranslationUnit*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::TranslationUnit(__arg0); +} + +System::String^ CppSharp::Parser::AST::TranslationUnit::FileName::get() +{ + return clix::marshalString(((::CppSharp::CppParser::AST::TranslationUnit*)NativePtr)->fileName); +} + +void CppSharp::Parser::AST::TranslationUnit::FileName::set(System::String^ value) +{ + ((::CppSharp::CppParser::AST::TranslationUnit*)NativePtr)->fileName = clix::marshalString(value); +} + +bool CppSharp::Parser::AST::TranslationUnit::IsSystemHeader::get() +{ + return ((::CppSharp::CppParser::AST::TranslationUnit*)NativePtr)->isSystemHeader; +} + +void CppSharp::Parser::AST::TranslationUnit::IsSystemHeader::set(bool value) +{ + ((::CppSharp::CppParser::AST::TranslationUnit*)NativePtr)->isSystemHeader = value; +} + +System::Collections::Generic::List^ CppSharp::Parser::AST::TranslationUnit::Macros::get() +{ + auto _tmp__Macros = gcnew System::Collections::Generic::List(); + for(auto _element : ((::CppSharp::CppParser::AST::TranslationUnit*)NativePtr)->Macros) + { + auto _marshalElement = (_element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::MacroDefinition((::CppSharp::CppParser::AST::MacroDefinition*)_element); + _tmp__Macros->Add(_marshalElement); + } + return _tmp__Macros; +} + +void CppSharp::Parser::AST::TranslationUnit::Macros::set(System::Collections::Generic::List^ value) +{ + auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::MacroDefinition*>(); + for each(CppSharp::Parser::AST::MacroDefinition^ _element in value) + { + auto _marshalElement = (::CppSharp::CppParser::AST::MacroDefinition*)_element->NativePtr; + _tmpvalue.push_back(_marshalElement); + } + ((::CppSharp::CppParser::AST::TranslationUnit*)NativePtr)->Macros = _tmpvalue; +} + +unsigned int CppSharp::Parser::AST::TranslationUnit::MacrosCount::get() +{ + auto __ret = ((::CppSharp::CppParser::AST::TranslationUnit*)NativePtr)->getMacrosCount(); + return __ret; +} + +CppSharp::Parser::AST::ASTContext::ASTContext(::CppSharp::CppParser::AST::ASTContext* native) + : __ownsNativeInstance(false) +{ + NativePtr = native; +} + +CppSharp::Parser::AST::ASTContext^ CppSharp::Parser::AST::ASTContext::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::ASTContext((::CppSharp::CppParser::AST::ASTContext*) native.ToPointer()); +} + +CppSharp::Parser::AST::ASTContext::~ASTContext() +{ + delete NativePtr; +} + +CppSharp::Parser::AST::ASTContext::ASTContext() +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::ASTContext(); +} + +CppSharp::Parser::AST::TranslationUnit^ CppSharp::Parser::AST::ASTContext::FindOrCreateModule(System::String^ File) +{ + auto __arg0 = clix::marshalString(File); + auto __ret = ((::CppSharp::CppParser::AST::ASTContext*)NativePtr)->FindOrCreateModule(__arg0); + if (__ret == nullptr) return nullptr; + return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::TranslationUnit((::CppSharp::CppParser::AST::TranslationUnit*)__ret); +} + +CppSharp::Parser::AST::TranslationUnit^ CppSharp::Parser::AST::ASTContext::GetTranslationUnits(unsigned int i) +{ + auto __ret = ((::CppSharp::CppParser::AST::ASTContext*)NativePtr)->getTranslationUnits(i); + if (__ret == nullptr) return nullptr; + return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::TranslationUnit((::CppSharp::CppParser::AST::TranslationUnit*)__ret); +} + +void CppSharp::Parser::AST::ASTContext::AddTranslationUnits(CppSharp::Parser::AST::TranslationUnit^ s) +{ + if (ReferenceEquals(s, nullptr)) + throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + auto __arg0 = (::CppSharp::CppParser::AST::TranslationUnit*)s->NativePtr; + ((::CppSharp::CppParser::AST::ASTContext*)NativePtr)->addTranslationUnits(__arg0); +} + +void CppSharp::Parser::AST::ASTContext::ClearTranslationUnits() +{ + ((::CppSharp::CppParser::AST::ASTContext*)NativePtr)->clearTranslationUnits(); +} + +CppSharp::Parser::AST::ASTContext::ASTContext(CppSharp::Parser::AST::ASTContext^ _0) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::ASTContext*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::ASTContext(__arg0); +} + +System::IntPtr CppSharp::Parser::AST::ASTContext::__Instance::get() +{ + return System::IntPtr(NativePtr); +} + +void CppSharp::Parser::AST::ASTContext::__Instance::set(System::IntPtr object) +{ + NativePtr = (::CppSharp::CppParser::AST::ASTContext*)object.ToPointer(); +} + +System::Collections::Generic::List^ CppSharp::Parser::AST::ASTContext::TranslationUnits::get() +{ + auto _tmp__TranslationUnits = gcnew System::Collections::Generic::List(); + for(auto _element : ((::CppSharp::CppParser::AST::ASTContext*)NativePtr)->TranslationUnits) + { + auto _marshalElement = (_element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::TranslationUnit((::CppSharp::CppParser::AST::TranslationUnit*)_element); + _tmp__TranslationUnits->Add(_marshalElement); + } + return _tmp__TranslationUnits; +} + +void CppSharp::Parser::AST::ASTContext::TranslationUnits::set(System::Collections::Generic::List^ value) +{ + auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::TranslationUnit*>(); + for each(CppSharp::Parser::AST::TranslationUnit^ _element in value) + { + auto _marshalElement = (::CppSharp::CppParser::AST::TranslationUnit*)_element->NativePtr; + _tmpvalue.push_back(_marshalElement); + } + ((::CppSharp::CppParser::AST::ASTContext*)NativePtr)->TranslationUnits = _tmpvalue; +} + +unsigned int CppSharp::Parser::AST::ASTContext::TranslationUnitsCount::get() +{ + auto __ret = ((::CppSharp::CppParser::AST::ASTContext*)NativePtr)->getTranslationUnitsCount(); + return __ret; +} + diff --git a/src/CppParser/Bindings/CLI/Decl.h b/src/CppParser/Bindings/CLI/Decl.h new file mode 100644 index 00000000..3a3d7d70 --- /dev/null +++ b/src/CppParser/Bindings/CLI/Decl.h @@ -0,0 +1,2421 @@ +// ---------------------------------------------------------------------------- +// +// This is autogenerated code by CppSharp. +// Do not edit this file or all your changes will be lost after re-generation. +// +// ---------------------------------------------------------------------------- +#pragma once + +#include "CppSharp.h" +#include +#include "Sources.h" + +namespace CppSharp +{ + namespace Parser + { + namespace AST + { + enum struct AccessSpecifier; + enum struct CXXMethodKind; + enum struct CXXOperatorKind; + enum struct CallingConvention; + enum struct CppAbi; + enum struct DeclarationKind; + enum struct FriendKind; + enum struct MacroLocation; + enum struct RefQualifierKind; + enum struct StatementClassObsolete; + enum struct TemplateSpecializationKind; + enum struct VTableComponentKind; + ref class ASTContext; + ref class AccessSpecifierDecl; + ref class BaseClassSpecifier; + ref class BinaryOperatorObsolete; + ref class BuiltinType; + ref class CXXConstructExprObsolete; + ref class CallExprObsolete; + ref class Class; + ref class ClassLayout; + ref class ClassTemplate; + ref class ClassTemplatePartialSpecialization; + ref class ClassTemplateSpecialization; + ref class Declaration; + ref class DeclarationContext; + ref class Enumeration; + ref class Expr; + ref class ExpressionObsolete; + ref class Field; + ref class Friend; + ref class Function; + ref class FunctionTemplate; + ref class FunctionTemplateSpecialization; + ref class LayoutBase; + ref class LayoutField; + ref class MacroDefinition; + ref class MacroExpansion; + ref class Method; + ref class Namespace; + ref class NonTypeTemplateParameter; + ref class Parameter; + ref class PreprocessedEntity; + ref class QualifiedType; + ref class RawComment; + ref class StatementObsolete; + ref class Template; + ref class TemplateArgument; + ref class TemplateParameter; + ref class TemplateTemplateParameter; + ref class TranslationUnit; + ref class Type; + ref class TypeAlias; + ref class TypeAliasTemplate; + ref class TypeTemplateParameter; + ref class TypedefDecl; + ref class TypedefNameDecl; + ref class VFTableInfo; + ref class VTableComponent; + ref class VTableLayout; + ref class VarTemplate; + ref class VarTemplatePartialSpecialization; + ref class VarTemplateSpecialization; + ref class Variable; + } + } +} + +namespace CppSharp +{ + namespace Parser + { + namespace AST + { + public enum struct DeclarationKind + { + DeclarationContext = 0, + Typedef = 1, + TypeAlias = 2, + Parameter = 3, + Function = 4, + Method = 5, + Enumeration = 6, + EnumerationItem = 7, + Variable = 8, + Field = 9, + AccessSpecifier = 10, + Class = 11, + Template = 12, + TypeAliasTemplate = 13, + ClassTemplate = 14, + ClassTemplateSpecialization = 15, + ClassTemplatePartialSpecialization = 16, + FunctionTemplate = 17, + Namespace = 18, + PreprocessedEntity = 19, + MacroDefinition = 20, + MacroExpansion = 21, + TranslationUnit = 22, + Friend = 23, + TemplateTemplateParm = 24, + TemplateTypeParm = 25, + NonTypeTemplateParm = 26, + VarTemplate = 27, + VarTemplateSpecialization = 28, + VarTemplatePartialSpecialization = 29 + }; + + public enum struct AccessSpecifier + { + Private = 0, + Protected = 1, + Public = 2 + }; + + public enum struct MacroLocation + { + Unknown = 0, + ClassHead = 1, + ClassBody = 2, + FunctionHead = 3, + FunctionParameters = 4, + FunctionBody = 5 + }; + + public enum struct FriendKind + { + None = 0, + Declared = 1, + Undeclared = 2 + }; + + public enum struct CXXOperatorKind + { + None = 0, + New = 1, + Delete = 2, + ArrayNew = 3, + ArrayDelete = 4, + Plus = 5, + Minus = 6, + Star = 7, + Slash = 8, + Percent = 9, + Caret = 10, + Amp = 11, + Pipe = 12, + Tilde = 13, + Exclaim = 14, + Equal = 15, + Less = 16, + Greater = 17, + PlusEqual = 18, + MinusEqual = 19, + StarEqual = 20, + SlashEqual = 21, + PercentEqual = 22, + CaretEqual = 23, + AmpEqual = 24, + PipeEqual = 25, + LessLess = 26, + GreaterGreater = 27, + LessLessEqual = 28, + GreaterGreaterEqual = 29, + EqualEqual = 30, + ExclaimEqual = 31, + LessEqual = 32, + GreaterEqual = 33, + Spaceship = 34, + AmpAmp = 35, + PipePipe = 36, + PlusPlus = 37, + MinusMinus = 38, + Comma = 39, + ArrowStar = 40, + Arrow = 41, + Call = 42, + Subscript = 43, + Conditional = 44, + Coawait = 45 + }; + + public enum struct StatementClassObsolete + { + Any = 0, + BinaryOperator = 1, + CallExprClass = 2, + DeclRefExprClass = 3, + CXXConstructExprClass = 4, + CXXOperatorCallExpr = 5, + ImplicitCastExpr = 6, + ExplicitCastExpr = 7 + }; + + public enum struct TemplateSpecializationKind + { + Undeclared = 0, + ImplicitInstantiation = 1, + ExplicitSpecialization = 2, + ExplicitInstantiationDeclaration = 3, + ExplicitInstantiationDefinition = 4 + }; + + public enum struct CXXMethodKind + { + Normal = 0, + Constructor = 1, + Destructor = 2, + Conversion = 3, + Operator = 4, + UsingDirective = 5 + }; + + public enum struct RefQualifierKind + { + None = 0, + LValue = 1, + RValue = 2 + }; + + public enum struct CppAbi + { + Itanium = 0, + Microsoft = 1, + ARM = 2, + iOS = 3, + iOS64 = 4 + }; + + public enum struct VTableComponentKind + { + VCallOffset = 0, + VBaseOffset = 1, + OffsetToTop = 2, + RTTI = 3, + FunctionPointer = 4, + CompleteDtorPointer = 5, + DeletingDtorPointer = 6, + UnusedFunctionPointer = 7 + }; + + public ref class Declaration : ICppInstance + { + public: + + property ::CppSharp::CppParser::AST::Declaration* NativePtr; + property System::IntPtr __Instance + { + virtual System::IntPtr get(); + virtual void set(System::IntPtr instance); + } + + Declaration(::CppSharp::CppParser::AST::Declaration* native); + static Declaration^ __CreateInstance(::System::IntPtr native); + Declaration(CppSharp::Parser::AST::DeclarationKind kind); + + Declaration(CppSharp::Parser::AST::Declaration^ _0); + + ~Declaration(); + + property CppSharp::Parser::AST::DeclarationKind Kind + { + CppSharp::Parser::AST::DeclarationKind get(); + void set(CppSharp::Parser::AST::DeclarationKind); + } + + property int MaxFieldAlignment + { + int get(); + void set(int); + } + + property CppSharp::Parser::AST::AccessSpecifier Access + { + CppSharp::Parser::AST::AccessSpecifier get(); + void set(CppSharp::Parser::AST::AccessSpecifier); + } + + property CppSharp::Parser::AST::DeclarationContext^ Namespace + { + CppSharp::Parser::AST::DeclarationContext^ get(); + void set(CppSharp::Parser::AST::DeclarationContext^); + } + + property CppSharp::Parser::SourceLocation Location + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property int LineNumberStart + { + int get(); + void set(int); + } + + property int LineNumberEnd + { + int get(); + void set(int); + } + + property System::String^ Name + { + System::String^ get(); + void set(System::String^); + } + + property System::String^ USR + { + System::String^ get(); + void set(System::String^); + } + + 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 bool IsImplicit + { + bool get(); + void set(bool); + } + + property bool IsInvalid + { + bool get(); + void set(bool); + } + + property CppSharp::Parser::AST::Declaration^ CompleteDeclaration + { + CppSharp::Parser::AST::Declaration^ get(); + void set(CppSharp::Parser::AST::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::Collections::Generic::List^ Redeclarations + { + System::Collections::Generic::List^ get(); + void set(System::Collections::Generic::List^); + } + + property ::System::IntPtr OriginalPtr + { + ::System::IntPtr get(); + void set(::System::IntPtr); + } + + property CppSharp::Parser::AST::RawComment^ Comment + { + CppSharp::Parser::AST::RawComment^ get(); + void set(CppSharp::Parser::AST::RawComment^); + } + + property unsigned int PreprocessedEntitiesCount + { + unsigned int get(); + } + + property unsigned int RedeclarationsCount + { + unsigned int get(); + } + + CppSharp::Parser::AST::PreprocessedEntity^ GetPreprocessedEntities(unsigned int i); + + void AddPreprocessedEntities(CppSharp::Parser::AST::PreprocessedEntity^ s); + + void ClearPreprocessedEntities(); + + CppSharp::Parser::AST::Declaration^ GetRedeclarations(unsigned int i); + + void AddRedeclarations(CppSharp::Parser::AST::Declaration^ s); + + void ClearRedeclarations(); + + static operator CppSharp::Parser::AST::Declaration^(CppSharp::Parser::AST::DeclarationKind kind); + + protected: + bool __ownsNativeInstance; + }; + + public ref class DeclarationContext : CppSharp::Parser::AST::Declaration + { + public: + + DeclarationContext(::CppSharp::CppParser::AST::DeclarationContext* native); + static DeclarationContext^ __CreateInstance(::System::IntPtr native); + DeclarationContext(CppSharp::Parser::AST::DeclarationKind kind); + + DeclarationContext(CppSharp::Parser::AST::DeclarationContext^ _0); + + ~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^ TypeAliases + { + 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^); + } + + property System::Collections::Generic::List^ Friends + { + System::Collections::Generic::List^ get(); + void set(System::Collections::Generic::List^); + } + + property bool IsAnonymous + { + bool get(); + void set(bool); + } + + property unsigned int NamespacesCount + { + unsigned int get(); + } + + property unsigned int EnumsCount + { + unsigned int get(); + } + + property unsigned int FunctionsCount + { + unsigned int get(); + } + + property unsigned int ClassesCount + { + unsigned int get(); + } + + property unsigned int TemplatesCount + { + unsigned int get(); + } + + property unsigned int TypedefsCount + { + unsigned int get(); + } + + property unsigned int TypeAliasesCount + { + unsigned int get(); + } + + property unsigned int VariablesCount + { + unsigned int get(); + } + + property unsigned int FriendsCount + { + unsigned int get(); + } + + CppSharp::Parser::AST::Namespace^ GetNamespaces(unsigned int i); + + void AddNamespaces(CppSharp::Parser::AST::Namespace^ s); + + void ClearNamespaces(); + + CppSharp::Parser::AST::Enumeration^ GetEnums(unsigned int i); + + void AddEnums(CppSharp::Parser::AST::Enumeration^ s); + + void ClearEnums(); + + CppSharp::Parser::AST::Function^ GetFunctions(unsigned int i); + + void AddFunctions(CppSharp::Parser::AST::Function^ s); + + void ClearFunctions(); + + CppSharp::Parser::AST::Class^ GetClasses(unsigned int i); + + void AddClasses(CppSharp::Parser::AST::Class^ s); + + void ClearClasses(); + + CppSharp::Parser::AST::Template^ GetTemplates(unsigned int i); + + void AddTemplates(CppSharp::Parser::AST::Template^ s); + + void ClearTemplates(); + + CppSharp::Parser::AST::TypedefDecl^ GetTypedefs(unsigned int i); + + void AddTypedefs(CppSharp::Parser::AST::TypedefDecl^ s); + + void ClearTypedefs(); + + CppSharp::Parser::AST::TypeAlias^ GetTypeAliases(unsigned int i); + + void AddTypeAliases(CppSharp::Parser::AST::TypeAlias^ s); + + void ClearTypeAliases(); + + CppSharp::Parser::AST::Variable^ GetVariables(unsigned int i); + + void AddVariables(CppSharp::Parser::AST::Variable^ s); + + void ClearVariables(); + + CppSharp::Parser::AST::Friend^ GetFriends(unsigned int i); + + void AddFriends(CppSharp::Parser::AST::Friend^ s); + + void ClearFriends(); + + static operator CppSharp::Parser::AST::DeclarationContext^(CppSharp::Parser::AST::DeclarationKind kind); + }; + + public ref class TypedefNameDecl : CppSharp::Parser::AST::Declaration + { + public: + + TypedefNameDecl(::CppSharp::CppParser::AST::TypedefNameDecl* native); + static TypedefNameDecl^ __CreateInstance(::System::IntPtr native); + TypedefNameDecl(CppSharp::Parser::AST::DeclarationKind kind); + + TypedefNameDecl(CppSharp::Parser::AST::TypedefNameDecl^ _0); + + ~TypedefNameDecl(); + + property CppSharp::Parser::AST::QualifiedType^ QualifiedType + { + CppSharp::Parser::AST::QualifiedType^ get(); + void set(CppSharp::Parser::AST::QualifiedType^); + } + + static operator CppSharp::Parser::AST::TypedefNameDecl^(CppSharp::Parser::AST::DeclarationKind kind); + }; + + public ref class TypedefDecl : CppSharp::Parser::AST::TypedefNameDecl + { + public: + + TypedefDecl(::CppSharp::CppParser::AST::TypedefDecl* native); + static TypedefDecl^ __CreateInstance(::System::IntPtr native); + TypedefDecl(); + + TypedefDecl(CppSharp::Parser::AST::TypedefDecl^ _0); + + ~TypedefDecl(); + }; + + public ref class TypeAlias : CppSharp::Parser::AST::TypedefNameDecl + { + public: + + TypeAlias(::CppSharp::CppParser::AST::TypeAlias* native); + static TypeAlias^ __CreateInstance(::System::IntPtr native); + TypeAlias(); + + TypeAlias(CppSharp::Parser::AST::TypeAlias^ _0); + + ~TypeAlias(); + + property CppSharp::Parser::AST::TypeAliasTemplate^ DescribedAliasTemplate + { + CppSharp::Parser::AST::TypeAliasTemplate^ get(); + void set(CppSharp::Parser::AST::TypeAliasTemplate^); + } + }; + + public ref class Friend : CppSharp::Parser::AST::Declaration + { + public: + + Friend(::CppSharp::CppParser::AST::Friend* native); + static Friend^ __CreateInstance(::System::IntPtr native); + Friend(); + + Friend(CppSharp::Parser::AST::Friend^ _0); + + ~Friend(); + + property CppSharp::Parser::AST::Declaration^ Declaration + { + CppSharp::Parser::AST::Declaration^ get(); + void set(CppSharp::Parser::AST::Declaration^); + } + }; + + public ref class StatementObsolete : ICppInstance + { + public: + + property ::CppSharp::CppParser::AST::StatementObsolete* NativePtr; + property System::IntPtr __Instance + { + virtual System::IntPtr get(); + virtual void set(System::IntPtr instance); + } + + StatementObsolete(::CppSharp::CppParser::AST::StatementObsolete* native); + static StatementObsolete^ __CreateInstance(::System::IntPtr native); + StatementObsolete(System::String^ str, CppSharp::Parser::AST::StatementClassObsolete Class, CppSharp::Parser::AST::Declaration^ decl); + + StatementObsolete(CppSharp::Parser::AST::StatementObsolete^ _0); + + ~StatementObsolete(); + + property CppSharp::Parser::AST::StatementClassObsolete Class + { + CppSharp::Parser::AST::StatementClassObsolete get(); + void set(CppSharp::Parser::AST::StatementClassObsolete); + } + + property CppSharp::Parser::AST::Declaration^ Decl + { + CppSharp::Parser::AST::Declaration^ get(); + void set(CppSharp::Parser::AST::Declaration^); + } + + property System::String^ String + { + System::String^ get(); + void set(System::String^); + } + + protected: + bool __ownsNativeInstance; + }; + + public ref class ExpressionObsolete : CppSharp::Parser::AST::StatementObsolete + { + public: + + ExpressionObsolete(::CppSharp::CppParser::AST::ExpressionObsolete* native); + static ExpressionObsolete^ __CreateInstance(::System::IntPtr native); + ExpressionObsolete(System::String^ str, CppSharp::Parser::AST::StatementClassObsolete Class, CppSharp::Parser::AST::Declaration^ decl); + + ExpressionObsolete(CppSharp::Parser::AST::ExpressionObsolete^ _0); + + ~ExpressionObsolete(); + }; + + public ref class BinaryOperatorObsolete : CppSharp::Parser::AST::ExpressionObsolete + { + public: + + BinaryOperatorObsolete(::CppSharp::CppParser::AST::BinaryOperatorObsolete* native); + static BinaryOperatorObsolete^ __CreateInstance(::System::IntPtr native); + BinaryOperatorObsolete(System::String^ str, CppSharp::Parser::AST::ExpressionObsolete^ lhs, CppSharp::Parser::AST::ExpressionObsolete^ rhs, System::String^ opcodeStr); + + BinaryOperatorObsolete(CppSharp::Parser::AST::BinaryOperatorObsolete^ _0); + + ~BinaryOperatorObsolete(); + + property CppSharp::Parser::AST::ExpressionObsolete^ LHS + { + CppSharp::Parser::AST::ExpressionObsolete^ get(); + void set(CppSharp::Parser::AST::ExpressionObsolete^); + } + + property CppSharp::Parser::AST::ExpressionObsolete^ RHS + { + CppSharp::Parser::AST::ExpressionObsolete^ get(); + void set(CppSharp::Parser::AST::ExpressionObsolete^); + } + + property System::String^ OpcodeStr + { + System::String^ get(); + void set(System::String^); + } + }; + + public ref class CallExprObsolete : CppSharp::Parser::AST::ExpressionObsolete + { + public: + + CallExprObsolete(::CppSharp::CppParser::AST::CallExprObsolete* native); + static CallExprObsolete^ __CreateInstance(::System::IntPtr native); + CallExprObsolete(System::String^ str, CppSharp::Parser::AST::Declaration^ decl); + + CallExprObsolete(CppSharp::Parser::AST::CallExprObsolete^ _0); + + ~CallExprObsolete(); + + property System::Collections::Generic::List^ Arguments + { + System::Collections::Generic::List^ get(); + void set(System::Collections::Generic::List^); + } + + property unsigned int ArgumentsCount + { + unsigned int get(); + } + + CppSharp::Parser::AST::ExpressionObsolete^ GetArguments(unsigned int i); + + void AddArguments(CppSharp::Parser::AST::ExpressionObsolete^ s); + + void ClearArguments(); + }; + + public ref class CXXConstructExprObsolete : CppSharp::Parser::AST::ExpressionObsolete + { + public: + + CXXConstructExprObsolete(::CppSharp::CppParser::AST::CXXConstructExprObsolete* native); + static CXXConstructExprObsolete^ __CreateInstance(::System::IntPtr native); + CXXConstructExprObsolete(System::String^ str, CppSharp::Parser::AST::Declaration^ decl); + + CXXConstructExprObsolete(CppSharp::Parser::AST::CXXConstructExprObsolete^ _0); + + ~CXXConstructExprObsolete(); + + property System::Collections::Generic::List^ Arguments + { + System::Collections::Generic::List^ get(); + void set(System::Collections::Generic::List^); + } + + property unsigned int ArgumentsCount + { + unsigned int get(); + } + + CppSharp::Parser::AST::ExpressionObsolete^ GetArguments(unsigned int i); + + void AddArguments(CppSharp::Parser::AST::ExpressionObsolete^ s); + + void ClearArguments(); + }; + + public ref class Parameter : CppSharp::Parser::AST::Declaration + { + public: + + Parameter(::CppSharp::CppParser::AST::Parameter* native); + static Parameter^ __CreateInstance(::System::IntPtr native); + Parameter(); + + Parameter(CppSharp::Parser::AST::Parameter^ _0); + + ~Parameter(); + + property CppSharp::Parser::AST::QualifiedType^ QualifiedType + { + CppSharp::Parser::AST::QualifiedType^ get(); + void set(CppSharp::Parser::AST::QualifiedType^); + } + + property bool IsIndirect + { + bool get(); + void set(bool); + } + + property bool HasDefaultValue + { + bool get(); + void set(bool); + } + + property unsigned int Index + { + unsigned int get(); + void set(unsigned int); + } + + property CppSharp::Parser::AST::ExpressionObsolete^ DefaultArgument + { + CppSharp::Parser::AST::ExpressionObsolete^ get(); + void set(CppSharp::Parser::AST::ExpressionObsolete^); + } + }; + + public ref class Function : CppSharp::Parser::AST::DeclarationContext + { + public: + + Function(::CppSharp::CppParser::AST::Function* native); + static Function^ __CreateInstance(::System::IntPtr native); + Function(); + + Function(CppSharp::Parser::AST::Function^ _0); + + ~Function(); + + property CppSharp::Parser::AST::QualifiedType^ ReturnType + { + CppSharp::Parser::AST::QualifiedType^ get(); + void set(CppSharp::Parser::AST::QualifiedType^); + } + + property bool IsReturnIndirect + { + bool get(); + void set(bool); + } + + property bool HasThisReturn + { + bool get(); + void set(bool); + } + + property bool IsConstExpr + { + 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 bool IsDeleted + { + bool get(); + void set(bool); + } + + property bool IsDefaulted + { + bool get(); + void set(bool); + } + + property CppSharp::Parser::AST::FriendKind FriendKind + { + CppSharp::Parser::AST::FriendKind get(); + void set(CppSharp::Parser::AST::FriendKind); + } + + property CppSharp::Parser::AST::CXXOperatorKind OperatorKind + { + CppSharp::Parser::AST::CXXOperatorKind get(); + void set(CppSharp::Parser::AST::CXXOperatorKind); + } + + property System::String^ Mangled + { + System::String^ get(); + void set(System::String^); + } + + property System::String^ Signature + { + System::String^ get(); + void set(System::String^); + } + + property System::String^ Body + { + System::String^ get(); + void set(System::String^); + } + + property CppSharp::Parser::AST::CallingConvention CallingConvention + { + CppSharp::Parser::AST::CallingConvention get(); + void set(CppSharp::Parser::AST::CallingConvention); + } + + property System::Collections::Generic::List^ Parameters + { + System::Collections::Generic::List^ get(); + void set(System::Collections::Generic::List^); + } + + property CppSharp::Parser::AST::FunctionTemplateSpecialization^ SpecializationInfo + { + CppSharp::Parser::AST::FunctionTemplateSpecialization^ get(); + void set(CppSharp::Parser::AST::FunctionTemplateSpecialization^); + } + + property CppSharp::Parser::AST::Function^ InstantiatedFrom + { + CppSharp::Parser::AST::Function^ get(); + void set(CppSharp::Parser::AST::Function^); + } + + property CppSharp::Parser::AST::QualifiedType^ QualifiedType + { + CppSharp::Parser::AST::QualifiedType^ get(); + void set(CppSharp::Parser::AST::QualifiedType^); + } + + property unsigned int ParametersCount + { + unsigned int get(); + } + + CppSharp::Parser::AST::Parameter^ GetParameters(unsigned int i); + + void AddParameters(CppSharp::Parser::AST::Parameter^ s); + + void ClearParameters(); + }; + + public ref class Method : CppSharp::Parser::AST::Function + { + public: + + Method(::CppSharp::CppParser::AST::Method* native); + static Method^ __CreateInstance(::System::IntPtr native); + Method(); + + Method(CppSharp::Parser::AST::Method^ _0); + + ~Method(); + + 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 IsExplicit + { + bool get(); + void set(bool); + } + + property CppSharp::Parser::AST::CXXMethodKind MethodKind + { + CppSharp::Parser::AST::CXXMethodKind get(); + void set(CppSharp::Parser::AST::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); + } + + property CppSharp::Parser::AST::QualifiedType^ ConversionType + { + CppSharp::Parser::AST::QualifiedType^ get(); + void set(CppSharp::Parser::AST::QualifiedType^); + } + + property CppSharp::Parser::AST::RefQualifierKind RefQualifier + { + CppSharp::Parser::AST::RefQualifierKind get(); + void set(CppSharp::Parser::AST::RefQualifierKind); + } + + property System::Collections::Generic::List^ OverriddenMethods + { + System::Collections::Generic::List^ get(); + void set(System::Collections::Generic::List^); + } + + property unsigned int OverriddenMethodsCount + { + unsigned int get(); + } + + CppSharp::Parser::AST::Method^ GetOverriddenMethods(unsigned int i); + + void AddOverriddenMethods(CppSharp::Parser::AST::Method^ s); + + void ClearOverriddenMethods(); + }; + + public ref class Enumeration : CppSharp::Parser::AST::DeclarationContext + { + public: + + [System::Flags] + enum struct EnumModifiers + { + Anonymous = 1, + Scoped = 2, + Flags = 4 + }; + + ref class Item : CppSharp::Parser::AST::Declaration + { + public: + + Item(::CppSharp::CppParser::AST::Enumeration::Item* native); + static Item^ __CreateInstance(::System::IntPtr native); + Item(); + + Item(CppSharp::Parser::AST::Enumeration::Item^ _0); + + ~Item(); + + property System::String^ Expression + { + System::String^ get(); + void set(System::String^); + } + + property unsigned long long Value + { + unsigned long long get(); + void set(unsigned long long); + } + }; + + Enumeration(::CppSharp::CppParser::AST::Enumeration* native); + static Enumeration^ __CreateInstance(::System::IntPtr native); + Enumeration(); + + Enumeration(CppSharp::Parser::AST::Enumeration^ _0); + + ~Enumeration(); + + property CppSharp::Parser::AST::Enumeration::EnumModifiers Modifiers + { + CppSharp::Parser::AST::Enumeration::EnumModifiers get(); + void set(CppSharp::Parser::AST::Enumeration::EnumModifiers); + } + + property CppSharp::Parser::AST::Type^ Type + { + CppSharp::Parser::AST::Type^ get(); + void set(CppSharp::Parser::AST::Type^); + } + + property CppSharp::Parser::AST::BuiltinType^ BuiltinType + { + CppSharp::Parser::AST::BuiltinType^ get(); + void set(CppSharp::Parser::AST::BuiltinType^); + } + + property System::Collections::Generic::List^ Items + { + System::Collections::Generic::List^ get(); + void set(System::Collections::Generic::List^); + } + + property unsigned int ItemsCount + { + unsigned int get(); + } + + CppSharp::Parser::AST::Enumeration::Item^ GetItems(unsigned int i); + + void AddItems(CppSharp::Parser::AST::Enumeration::Item^ s); + + void ClearItems(); + + CppSharp::Parser::AST::Enumeration::Item^ FindItemByName(System::String^ Name); + }; + + public ref class Variable : CppSharp::Parser::AST::Declaration + { + public: + + Variable(::CppSharp::CppParser::AST::Variable* native); + static Variable^ __CreateInstance(::System::IntPtr native); + Variable(); + + Variable(CppSharp::Parser::AST::Variable^ _0); + + ~Variable(); + + property System::String^ Mangled + { + System::String^ get(); + void set(System::String^); + } + + property CppSharp::Parser::AST::QualifiedType^ QualifiedType + { + CppSharp::Parser::AST::QualifiedType^ get(); + void set(CppSharp::Parser::AST::QualifiedType^); + } + }; + + public ref class BaseClassSpecifier : ICppInstance + { + public: + + property ::CppSharp::CppParser::AST::BaseClassSpecifier* NativePtr; + property System::IntPtr __Instance + { + virtual System::IntPtr get(); + virtual void set(System::IntPtr instance); + } + + BaseClassSpecifier(::CppSharp::CppParser::AST::BaseClassSpecifier* native); + static BaseClassSpecifier^ __CreateInstance(::System::IntPtr native); + BaseClassSpecifier(); + + BaseClassSpecifier(CppSharp::Parser::AST::BaseClassSpecifier^ _0); + + ~BaseClassSpecifier(); + + property CppSharp::Parser::AST::AccessSpecifier Access + { + CppSharp::Parser::AST::AccessSpecifier get(); + void set(CppSharp::Parser::AST::AccessSpecifier); + } + + property bool IsVirtual + { + bool get(); + void set(bool); + } + + property CppSharp::Parser::AST::Type^ Type + { + CppSharp::Parser::AST::Type^ get(); + void set(CppSharp::Parser::AST::Type^); + } + + property int Offset + { + int get(); + void set(int); + } + + protected: + bool __ownsNativeInstance; + }; + + public ref class Field : CppSharp::Parser::AST::Declaration + { + public: + + Field(::CppSharp::CppParser::AST::Field* native); + static Field^ __CreateInstance(::System::IntPtr native); + Field(); + + Field(CppSharp::Parser::AST::Field^ _0); + + ~Field(); + + property CppSharp::Parser::AST::QualifiedType^ QualifiedType + { + CppSharp::Parser::AST::QualifiedType^ get(); + void set(CppSharp::Parser::AST::QualifiedType^); + } + + property CppSharp::Parser::AST::Class^ Class + { + CppSharp::Parser::AST::Class^ get(); + void set(CppSharp::Parser::AST::Class^); + } + + property bool IsBitField + { + bool get(); + void set(bool); + } + + property unsigned int BitWidth + { + unsigned int get(); + void set(unsigned int); + } + }; + + public ref class AccessSpecifierDecl : CppSharp::Parser::AST::Declaration + { + public: + + AccessSpecifierDecl(::CppSharp::CppParser::AST::AccessSpecifierDecl* native); + static AccessSpecifierDecl^ __CreateInstance(::System::IntPtr native); + AccessSpecifierDecl(); + + AccessSpecifierDecl(CppSharp::Parser::AST::AccessSpecifierDecl^ _0); + + ~AccessSpecifierDecl(); + }; + + public ref class VTableComponent : ICppInstance + { + public: + + property ::CppSharp::CppParser::AST::VTableComponent* NativePtr; + property System::IntPtr __Instance + { + virtual System::IntPtr get(); + virtual void set(System::IntPtr instance); + } + + VTableComponent(::CppSharp::CppParser::AST::VTableComponent* native); + static VTableComponent^ __CreateInstance(::System::IntPtr native); + VTableComponent(); + + VTableComponent(CppSharp::Parser::AST::VTableComponent^ _0); + + ~VTableComponent(); + + property CppSharp::Parser::AST::VTableComponentKind Kind + { + CppSharp::Parser::AST::VTableComponentKind get(); + void set(CppSharp::Parser::AST::VTableComponentKind); + } + + property unsigned int Offset + { + unsigned int get(); + void set(unsigned int); + } + + property CppSharp::Parser::AST::Declaration^ Declaration + { + CppSharp::Parser::AST::Declaration^ get(); + void set(CppSharp::Parser::AST::Declaration^); + } + + protected: + bool __ownsNativeInstance; + }; + + public ref class VTableLayout : ICppInstance + { + public: + + property ::CppSharp::CppParser::AST::VTableLayout* NativePtr; + property System::IntPtr __Instance + { + virtual System::IntPtr get(); + virtual void set(System::IntPtr instance); + } + + VTableLayout(::CppSharp::CppParser::AST::VTableLayout* native); + static VTableLayout^ __CreateInstance(::System::IntPtr native); + VTableLayout(); + + VTableLayout(CppSharp::Parser::AST::VTableLayout^ _0); + + ~VTableLayout(); + + property System::Collections::Generic::List^ Components + { + System::Collections::Generic::List^ get(); + void set(System::Collections::Generic::List^); + } + + property unsigned int ComponentsCount + { + unsigned int get(); + } + + CppSharp::Parser::AST::VTableComponent^ GetComponents(unsigned int i); + + void AddComponents(CppSharp::Parser::AST::VTableComponent^ s); + + void ClearComponents(); + + protected: + bool __ownsNativeInstance; + }; + + public ref class VFTableInfo : ICppInstance + { + public: + + property ::CppSharp::CppParser::AST::VFTableInfo* NativePtr; + property System::IntPtr __Instance + { + virtual System::IntPtr get(); + virtual void set(System::IntPtr instance); + } + + VFTableInfo(::CppSharp::CppParser::AST::VFTableInfo* native); + static VFTableInfo^ __CreateInstance(::System::IntPtr native); + VFTableInfo(); + + VFTableInfo(CppSharp::Parser::AST::VFTableInfo^ _0); + + ~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::AST::VTableLayout^ Layout + { + CppSharp::Parser::AST::VTableLayout^ get(); + void set(CppSharp::Parser::AST::VTableLayout^); + } + + protected: + bool __ownsNativeInstance; + }; + + public ref class LayoutField : ICppInstance + { + public: + + property ::CppSharp::CppParser::AST::LayoutField* NativePtr; + property System::IntPtr __Instance + { + virtual System::IntPtr get(); + virtual void set(System::IntPtr instance); + } + + LayoutField(::CppSharp::CppParser::AST::LayoutField* native); + static LayoutField^ __CreateInstance(::System::IntPtr native); + LayoutField(); + + LayoutField(CppSharp::Parser::AST::LayoutField^ other); + + ~LayoutField(); + + property unsigned int Offset + { + unsigned int get(); + void set(unsigned int); + } + + property System::String^ Name + { + System::String^ get(); + void set(System::String^); + } + + property CppSharp::Parser::AST::QualifiedType^ QualifiedType + { + CppSharp::Parser::AST::QualifiedType^ get(); + void set(CppSharp::Parser::AST::QualifiedType^); + } + + property ::System::IntPtr FieldPtr + { + ::System::IntPtr get(); + void set(::System::IntPtr); + } + + protected: + bool __ownsNativeInstance; + }; + + public ref class LayoutBase : ICppInstance + { + public: + + property ::CppSharp::CppParser::AST::LayoutBase* NativePtr; + property System::IntPtr __Instance + { + virtual System::IntPtr get(); + virtual void set(System::IntPtr instance); + } + + LayoutBase(::CppSharp::CppParser::AST::LayoutBase* native); + static LayoutBase^ __CreateInstance(::System::IntPtr native); + LayoutBase(); + + LayoutBase(CppSharp::Parser::AST::LayoutBase^ other); + + ~LayoutBase(); + + property unsigned int Offset + { + unsigned int get(); + void set(unsigned int); + } + + property CppSharp::Parser::AST::Class^ Class + { + CppSharp::Parser::AST::Class^ get(); + void set(CppSharp::Parser::AST::Class^); + } + + protected: + bool __ownsNativeInstance; + }; + + public ref class ClassLayout : ICppInstance + { + public: + + property ::CppSharp::CppParser::AST::ClassLayout* NativePtr; + property System::IntPtr __Instance + { + virtual System::IntPtr get(); + virtual void set(System::IntPtr instance); + } + + ClassLayout(::CppSharp::CppParser::AST::ClassLayout* native); + static ClassLayout^ __CreateInstance(::System::IntPtr native); + ClassLayout(); + + ClassLayout(CppSharp::Parser::AST::ClassLayout^ _0); + + ~ClassLayout(); + + property CppSharp::Parser::AST::CppAbi ABI + { + CppSharp::Parser::AST::CppAbi get(); + void set(CppSharp::Parser::AST::CppAbi); + } + + property System::Collections::Generic::List^ VFTables + { + System::Collections::Generic::List^ get(); + void set(System::Collections::Generic::List^); + } + + property CppSharp::Parser::AST::VTableLayout^ Layout + { + CppSharp::Parser::AST::VTableLayout^ get(); + void set(CppSharp::Parser::AST::VTableLayout^); + } + + property bool HasOwnVFPtr + { + bool get(); + void set(bool); + } + + property long VBPtrOffset + { + long get(); + void set(long); + } + + property int Alignment + { + int get(); + void set(int); + } + + property int Size + { + int get(); + void set(int); + } + + property int DataSize + { + int get(); + void set(int); + } + + property System::Collections::Generic::List^ Fields + { + System::Collections::Generic::List^ get(); + void set(System::Collections::Generic::List^); + } + + property System::Collections::Generic::List^ Bases + { + System::Collections::Generic::List^ get(); + void set(System::Collections::Generic::List^); + } + + property unsigned int VFTablesCount + { + unsigned int get(); + } + + property unsigned int FieldsCount + { + unsigned int get(); + } + + property unsigned int BasesCount + { + unsigned int get(); + } + + CppSharp::Parser::AST::VFTableInfo^ GetVFTables(unsigned int i); + + void AddVFTables(CppSharp::Parser::AST::VFTableInfo^ s); + + void ClearVFTables(); + + CppSharp::Parser::AST::LayoutField^ GetFields(unsigned int i); + + void AddFields(CppSharp::Parser::AST::LayoutField^ s); + + void ClearFields(); + + CppSharp::Parser::AST::LayoutBase^ GetBases(unsigned int i); + + void AddBases(CppSharp::Parser::AST::LayoutBase^ s); + + void ClearBases(); + + protected: + bool __ownsNativeInstance; + }; + + public ref class Class : CppSharp::Parser::AST::DeclarationContext + { + public: + + Class(::CppSharp::CppParser::AST::Class* native); + static Class^ __CreateInstance(::System::IntPtr native); + Class(); + + Class(CppSharp::Parser::AST::Class^ _0); + + ~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 bool HasNonTrivialDestructor + { + bool get(); + void set(bool); + } + + property bool IsExternCContext + { + bool get(); + void set(bool); + } + + property bool IsInjected + { + bool get(); + void set(bool); + } + + property CppSharp::Parser::AST::ClassLayout^ Layout + { + CppSharp::Parser::AST::ClassLayout^ get(); + void set(CppSharp::Parser::AST::ClassLayout^); + } + + property unsigned int BasesCount + { + unsigned int get(); + } + + property unsigned int FieldsCount + { + unsigned int get(); + } + + property unsigned int MethodsCount + { + unsigned int get(); + } + + property unsigned int SpecifiersCount + { + unsigned int get(); + } + + CppSharp::Parser::AST::BaseClassSpecifier^ GetBases(unsigned int i); + + void AddBases(CppSharp::Parser::AST::BaseClassSpecifier^ s); + + void ClearBases(); + + CppSharp::Parser::AST::Field^ GetFields(unsigned int i); + + void AddFields(CppSharp::Parser::AST::Field^ s); + + void ClearFields(); + + CppSharp::Parser::AST::Method^ GetMethods(unsigned int i); + + void AddMethods(CppSharp::Parser::AST::Method^ s); + + void ClearMethods(); + + CppSharp::Parser::AST::AccessSpecifierDecl^ GetSpecifiers(unsigned int i); + + void AddSpecifiers(CppSharp::Parser::AST::AccessSpecifierDecl^ s); + + void ClearSpecifiers(); + }; + + public ref class Template : CppSharp::Parser::AST::Declaration + { + public: + + Template(::CppSharp::CppParser::AST::Template* native); + static Template^ __CreateInstance(::System::IntPtr native); + Template(CppSharp::Parser::AST::DeclarationKind kind); + + Template(); + + Template(CppSharp::Parser::AST::Template^ _0); + + ~Template(); + + property CppSharp::Parser::AST::Declaration^ TemplatedDecl + { + CppSharp::Parser::AST::Declaration^ get(); + void set(CppSharp::Parser::AST::Declaration^); + } + + property System::Collections::Generic::List^ Parameters + { + System::Collections::Generic::List^ get(); + void set(System::Collections::Generic::List^); + } + + property unsigned int ParametersCount + { + unsigned int get(); + } + + CppSharp::Parser::AST::Declaration^ GetParameters(unsigned int i); + + void AddParameters(CppSharp::Parser::AST::Declaration^ s); + + void ClearParameters(); + + static operator CppSharp::Parser::AST::Template^(CppSharp::Parser::AST::DeclarationKind kind); + }; + + public ref class TypeAliasTemplate : CppSharp::Parser::AST::Template + { + public: + + TypeAliasTemplate(::CppSharp::CppParser::AST::TypeAliasTemplate* native); + static TypeAliasTemplate^ __CreateInstance(::System::IntPtr native); + TypeAliasTemplate(); + + TypeAliasTemplate(CppSharp::Parser::AST::TypeAliasTemplate^ _0); + + ~TypeAliasTemplate(); + }; + + public ref class TemplateParameter : CppSharp::Parser::AST::Declaration + { + public: + + TemplateParameter(::CppSharp::CppParser::AST::TemplateParameter* native); + static TemplateParameter^ __CreateInstance(::System::IntPtr native); + TemplateParameter(CppSharp::Parser::AST::DeclarationKind kind); + + TemplateParameter(CppSharp::Parser::AST::TemplateParameter^ _0); + + ~TemplateParameter(); + + property unsigned int Depth + { + unsigned int get(); + void set(unsigned int); + } + + property unsigned int Index + { + unsigned int get(); + void set(unsigned int); + } + + property bool IsParameterPack + { + bool get(); + void set(bool); + } + + static operator CppSharp::Parser::AST::TemplateParameter^(CppSharp::Parser::AST::DeclarationKind kind); + }; + + public ref class TemplateTemplateParameter : CppSharp::Parser::AST::Template + { + public: + + TemplateTemplateParameter(::CppSharp::CppParser::AST::TemplateTemplateParameter* native); + static TemplateTemplateParameter^ __CreateInstance(::System::IntPtr native); + TemplateTemplateParameter(); + + TemplateTemplateParameter(CppSharp::Parser::AST::TemplateTemplateParameter^ _0); + + ~TemplateTemplateParameter(); + + property bool IsParameterPack + { + bool get(); + void set(bool); + } + + property bool IsPackExpansion + { + bool get(); + void set(bool); + } + + property bool IsExpandedParameterPack + { + bool get(); + void set(bool); + } + }; + + public ref class TypeTemplateParameter : CppSharp::Parser::AST::TemplateParameter + { + public: + + TypeTemplateParameter(::CppSharp::CppParser::AST::TypeTemplateParameter* native); + static TypeTemplateParameter^ __CreateInstance(::System::IntPtr native); + TypeTemplateParameter(); + + TypeTemplateParameter(CppSharp::Parser::AST::TypeTemplateParameter^ _0); + + ~TypeTemplateParameter(); + + property CppSharp::Parser::AST::QualifiedType^ DefaultArgument + { + CppSharp::Parser::AST::QualifiedType^ get(); + void set(CppSharp::Parser::AST::QualifiedType^); + } + }; + + public ref class NonTypeTemplateParameter : CppSharp::Parser::AST::TemplateParameter + { + public: + + NonTypeTemplateParameter(::CppSharp::CppParser::AST::NonTypeTemplateParameter* native); + static NonTypeTemplateParameter^ __CreateInstance(::System::IntPtr native); + NonTypeTemplateParameter(); + + NonTypeTemplateParameter(CppSharp::Parser::AST::NonTypeTemplateParameter^ _0); + + ~NonTypeTemplateParameter(); + + property CppSharp::Parser::AST::ExpressionObsolete^ DefaultArgument + { + CppSharp::Parser::AST::ExpressionObsolete^ get(); + void set(CppSharp::Parser::AST::ExpressionObsolete^); + } + + property unsigned int Position + { + unsigned int get(); + void set(unsigned int); + } + + property bool IsPackExpansion + { + bool get(); + void set(bool); + } + + property bool IsExpandedParameterPack + { + bool get(); + void set(bool); + } + }; + + public ref class ClassTemplate : CppSharp::Parser::AST::Template + { + public: + + ClassTemplate(::CppSharp::CppParser::AST::ClassTemplate* native); + static ClassTemplate^ __CreateInstance(::System::IntPtr native); + ClassTemplate(); + + ClassTemplate(CppSharp::Parser::AST::ClassTemplate^ _0); + + ~ClassTemplate(); + + property System::Collections::Generic::List^ Specializations + { + System::Collections::Generic::List^ get(); + void set(System::Collections::Generic::List^); + } + + property unsigned int SpecializationsCount + { + unsigned int get(); + } + + CppSharp::Parser::AST::ClassTemplateSpecialization^ GetSpecializations(unsigned int i); + + void AddSpecializations(CppSharp::Parser::AST::ClassTemplateSpecialization^ s); + + void ClearSpecializations(); + + CppSharp::Parser::AST::ClassTemplateSpecialization^ FindSpecialization(System::String^ usr); + + CppSharp::Parser::AST::ClassTemplatePartialSpecialization^ FindPartialSpecialization(System::String^ usr); + }; + + public ref class ClassTemplateSpecialization : CppSharp::Parser::AST::Class + { + public: + + ClassTemplateSpecialization(::CppSharp::CppParser::AST::ClassTemplateSpecialization* native); + static ClassTemplateSpecialization^ __CreateInstance(::System::IntPtr native); + ClassTemplateSpecialization(); + + ClassTemplateSpecialization(CppSharp::Parser::AST::ClassTemplateSpecialization^ _0); + + ~ClassTemplateSpecialization(); + + property CppSharp::Parser::AST::ClassTemplate^ TemplatedDecl + { + CppSharp::Parser::AST::ClassTemplate^ get(); + void set(CppSharp::Parser::AST::ClassTemplate^); + } + + property System::Collections::Generic::List^ Arguments + { + System::Collections::Generic::List^ get(); + void set(System::Collections::Generic::List^); + } + + property CppSharp::Parser::AST::TemplateSpecializationKind SpecializationKind + { + CppSharp::Parser::AST::TemplateSpecializationKind get(); + void set(CppSharp::Parser::AST::TemplateSpecializationKind); + } + + property unsigned int ArgumentsCount + { + unsigned int get(); + } + + CppSharp::Parser::AST::TemplateArgument^ GetArguments(unsigned int i); + + void AddArguments(CppSharp::Parser::AST::TemplateArgument^ s); + + void ClearArguments(); + }; + + public ref class ClassTemplatePartialSpecialization : CppSharp::Parser::AST::ClassTemplateSpecialization + { + public: + + ClassTemplatePartialSpecialization(::CppSharp::CppParser::AST::ClassTemplatePartialSpecialization* native); + static ClassTemplatePartialSpecialization^ __CreateInstance(::System::IntPtr native); + ClassTemplatePartialSpecialization(); + + ClassTemplatePartialSpecialization(CppSharp::Parser::AST::ClassTemplatePartialSpecialization^ _0); + + ~ClassTemplatePartialSpecialization(); + }; + + public ref class FunctionTemplate : CppSharp::Parser::AST::Template + { + public: + + FunctionTemplate(::CppSharp::CppParser::AST::FunctionTemplate* native); + static FunctionTemplate^ __CreateInstance(::System::IntPtr native); + FunctionTemplate(); + + FunctionTemplate(CppSharp::Parser::AST::FunctionTemplate^ _0); + + ~FunctionTemplate(); + + property System::Collections::Generic::List^ Specializations + { + System::Collections::Generic::List^ get(); + void set(System::Collections::Generic::List^); + } + + property unsigned int SpecializationsCount + { + unsigned int get(); + } + + CppSharp::Parser::AST::FunctionTemplateSpecialization^ GetSpecializations(unsigned int i); + + void AddSpecializations(CppSharp::Parser::AST::FunctionTemplateSpecialization^ s); + + void ClearSpecializations(); + + CppSharp::Parser::AST::FunctionTemplateSpecialization^ FindSpecialization(System::String^ usr); + }; + + public ref class FunctionTemplateSpecialization : ICppInstance + { + public: + + property ::CppSharp::CppParser::AST::FunctionTemplateSpecialization* NativePtr; + property System::IntPtr __Instance + { + virtual System::IntPtr get(); + virtual void set(System::IntPtr instance); + } + + FunctionTemplateSpecialization(::CppSharp::CppParser::AST::FunctionTemplateSpecialization* native); + static FunctionTemplateSpecialization^ __CreateInstance(::System::IntPtr native); + FunctionTemplateSpecialization(); + + FunctionTemplateSpecialization(CppSharp::Parser::AST::FunctionTemplateSpecialization^ _0); + + ~FunctionTemplateSpecialization(); + + property CppSharp::Parser::AST::FunctionTemplate^ Template + { + CppSharp::Parser::AST::FunctionTemplate^ get(); + void set(CppSharp::Parser::AST::FunctionTemplate^); + } + + property System::Collections::Generic::List^ Arguments + { + System::Collections::Generic::List^ get(); + void set(System::Collections::Generic::List^); + } + + property CppSharp::Parser::AST::Function^ SpecializedFunction + { + CppSharp::Parser::AST::Function^ get(); + void set(CppSharp::Parser::AST::Function^); + } + + property CppSharp::Parser::AST::TemplateSpecializationKind SpecializationKind + { + CppSharp::Parser::AST::TemplateSpecializationKind get(); + void set(CppSharp::Parser::AST::TemplateSpecializationKind); + } + + property unsigned int ArgumentsCount + { + unsigned int get(); + } + + CppSharp::Parser::AST::TemplateArgument^ GetArguments(unsigned int i); + + void AddArguments(CppSharp::Parser::AST::TemplateArgument^ s); + + void ClearArguments(); + + protected: + bool __ownsNativeInstance; + }; + + public ref class VarTemplate : CppSharp::Parser::AST::Template + { + public: + + VarTemplate(::CppSharp::CppParser::AST::VarTemplate* native); + static VarTemplate^ __CreateInstance(::System::IntPtr native); + VarTemplate(); + + VarTemplate(CppSharp::Parser::AST::VarTemplate^ _0); + + ~VarTemplate(); + + property System::Collections::Generic::List^ Specializations + { + System::Collections::Generic::List^ get(); + void set(System::Collections::Generic::List^); + } + + property unsigned int SpecializationsCount + { + unsigned int get(); + } + + CppSharp::Parser::AST::VarTemplateSpecialization^ GetSpecializations(unsigned int i); + + void AddSpecializations(CppSharp::Parser::AST::VarTemplateSpecialization^ s); + + void ClearSpecializations(); + + CppSharp::Parser::AST::VarTemplateSpecialization^ FindSpecialization(System::String^ usr); + + CppSharp::Parser::AST::VarTemplatePartialSpecialization^ FindPartialSpecialization(System::String^ usr); + }; + + public ref class VarTemplateSpecialization : CppSharp::Parser::AST::Variable + { + public: + + VarTemplateSpecialization(::CppSharp::CppParser::AST::VarTemplateSpecialization* native); + static VarTemplateSpecialization^ __CreateInstance(::System::IntPtr native); + VarTemplateSpecialization(); + + VarTemplateSpecialization(CppSharp::Parser::AST::VarTemplateSpecialization^ _0); + + ~VarTemplateSpecialization(); + + property CppSharp::Parser::AST::VarTemplate^ TemplatedDecl + { + CppSharp::Parser::AST::VarTemplate^ get(); + void set(CppSharp::Parser::AST::VarTemplate^); + } + + property System::Collections::Generic::List^ Arguments + { + System::Collections::Generic::List^ get(); + void set(System::Collections::Generic::List^); + } + + property CppSharp::Parser::AST::TemplateSpecializationKind SpecializationKind + { + CppSharp::Parser::AST::TemplateSpecializationKind get(); + void set(CppSharp::Parser::AST::TemplateSpecializationKind); + } + + property unsigned int ArgumentsCount + { + unsigned int get(); + } + + CppSharp::Parser::AST::TemplateArgument^ GetArguments(unsigned int i); + + void AddArguments(CppSharp::Parser::AST::TemplateArgument^ s); + + void ClearArguments(); + }; + + public ref class VarTemplatePartialSpecialization : CppSharp::Parser::AST::VarTemplateSpecialization + { + public: + + VarTemplatePartialSpecialization(::CppSharp::CppParser::AST::VarTemplatePartialSpecialization* native); + static VarTemplatePartialSpecialization^ __CreateInstance(::System::IntPtr native); + VarTemplatePartialSpecialization(); + + VarTemplatePartialSpecialization(CppSharp::Parser::AST::VarTemplatePartialSpecialization^ _0); + + ~VarTemplatePartialSpecialization(); + }; + + public ref class Namespace : CppSharp::Parser::AST::DeclarationContext + { + public: + + Namespace(::CppSharp::CppParser::AST::Namespace* native); + static Namespace^ __CreateInstance(::System::IntPtr native); + Namespace(); + + Namespace(CppSharp::Parser::AST::Namespace^ _0); + + ~Namespace(); + + property bool IsInline + { + bool get(); + void set(bool); + } + }; + + public ref class PreprocessedEntity : ICppInstance + { + public: + + property ::CppSharp::CppParser::AST::PreprocessedEntity* NativePtr; + property System::IntPtr __Instance + { + virtual System::IntPtr get(); + virtual void set(System::IntPtr instance); + } + + PreprocessedEntity(::CppSharp::CppParser::AST::PreprocessedEntity* native); + static PreprocessedEntity^ __CreateInstance(::System::IntPtr native); + PreprocessedEntity(); + + PreprocessedEntity(CppSharp::Parser::AST::PreprocessedEntity^ _0); + + ~PreprocessedEntity(); + + property CppSharp::Parser::AST::MacroLocation MacroLocation + { + CppSharp::Parser::AST::MacroLocation get(); + void set(CppSharp::Parser::AST::MacroLocation); + } + + property ::System::IntPtr OriginalPtr + { + ::System::IntPtr get(); + void set(::System::IntPtr); + } + + property CppSharp::Parser::AST::DeclarationKind Kind + { + CppSharp::Parser::AST::DeclarationKind get(); + void set(CppSharp::Parser::AST::DeclarationKind); + } + + protected: + bool __ownsNativeInstance; + }; + + public ref class MacroDefinition : CppSharp::Parser::AST::PreprocessedEntity + { + public: + + MacroDefinition(::CppSharp::CppParser::AST::MacroDefinition* native); + static MacroDefinition^ __CreateInstance(::System::IntPtr native); + MacroDefinition(); + + MacroDefinition(CppSharp::Parser::AST::MacroDefinition^ _0); + + ~MacroDefinition(); + + property System::String^ Name + { + System::String^ get(); + void set(System::String^); + } + + property System::String^ Expression + { + System::String^ get(); + void set(System::String^); + } + + property int LineNumberStart + { + int get(); + void set(int); + } + + property int LineNumberEnd + { + int get(); + void set(int); + } + }; + + public ref class MacroExpansion : CppSharp::Parser::AST::PreprocessedEntity + { + public: + + MacroExpansion(::CppSharp::CppParser::AST::MacroExpansion* native); + static MacroExpansion^ __CreateInstance(::System::IntPtr native); + MacroExpansion(); + + MacroExpansion(CppSharp::Parser::AST::MacroExpansion^ _0); + + ~MacroExpansion(); + + property System::String^ Name + { + System::String^ get(); + void set(System::String^); + } + + property System::String^ Text + { + System::String^ get(); + void set(System::String^); + } + + property CppSharp::Parser::AST::MacroDefinition^ Definition + { + CppSharp::Parser::AST::MacroDefinition^ get(); + void set(CppSharp::Parser::AST::MacroDefinition^); + } + }; + + public ref class TranslationUnit : CppSharp::Parser::AST::Namespace + { + public: + + TranslationUnit(::CppSharp::CppParser::AST::TranslationUnit* native); + static TranslationUnit^ __CreateInstance(::System::IntPtr native); + TranslationUnit(); + + TranslationUnit(CppSharp::Parser::AST::TranslationUnit^ _0); + + ~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^ Macros + { + System::Collections::Generic::List^ get(); + void set(System::Collections::Generic::List^); + } + + property unsigned int MacrosCount + { + unsigned int get(); + } + + CppSharp::Parser::AST::MacroDefinition^ GetMacros(unsigned int i); + + void AddMacros(CppSharp::Parser::AST::MacroDefinition^ s); + + void ClearMacros(); + }; + + public ref class ASTContext : ICppInstance + { + public: + + property ::CppSharp::CppParser::AST::ASTContext* NativePtr; + property System::IntPtr __Instance + { + virtual System::IntPtr get(); + virtual void set(System::IntPtr instance); + } + + ASTContext(::CppSharp::CppParser::AST::ASTContext* native); + static ASTContext^ __CreateInstance(::System::IntPtr native); + ASTContext(); + + ASTContext(CppSharp::Parser::AST::ASTContext^ _0); + + ~ASTContext(); + + property System::Collections::Generic::List^ TranslationUnits + { + System::Collections::Generic::List^ get(); + void set(System::Collections::Generic::List^); + } + + property unsigned int TranslationUnitsCount + { + unsigned int get(); + } + + CppSharp::Parser::AST::TranslationUnit^ FindOrCreateModule(System::String^ File); + + CppSharp::Parser::AST::TranslationUnit^ GetTranslationUnits(unsigned int i); + + void AddTranslationUnits(CppSharp::Parser::AST::TranslationUnit^ s); + + void ClearTranslationUnits(); + + protected: + bool __ownsNativeInstance; + }; + } + } +} diff --git a/src/CppParser/Bindings/CLI/Sources.cpp b/src/CppParser/Bindings/CLI/Sources.cpp index 61bfd0da..c1875985 100644 --- a/src/CppParser/Bindings/CLI/Sources.cpp +++ b/src/CppParser/Bindings/CLI/Sources.cpp @@ -41,3 +41,68 @@ void CppSharp::Parser::SourceLocation::ID::set(unsigned int value) __ID = value; } +CppSharp::Parser::SourceRange::SourceRange(::CppSharp::CppParser::SourceRange* native) + : __ownsNativeInstance(false) +{ + NativePtr = native; +} + +CppSharp::Parser::SourceRange^ CppSharp::Parser::SourceRange::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::SourceRange((::CppSharp::CppParser::SourceRange*) native.ToPointer()); +} + +CppSharp::Parser::SourceRange::~SourceRange() +{ + delete NativePtr; +} + +CppSharp::Parser::SourceRange::SourceRange() +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::SourceRange(); +} + +CppSharp::Parser::SourceRange::SourceRange(CppSharp::Parser::SourceRange^ _0) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::SourceRange*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::SourceRange(__arg0); +} + +System::IntPtr CppSharp::Parser::SourceRange::__Instance::get() +{ + return System::IntPtr(NativePtr); +} + +void CppSharp::Parser::SourceRange::__Instance::set(System::IntPtr object) +{ + NativePtr = (::CppSharp::CppParser::SourceRange*)object.ToPointer(); +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::SourceRange::BeginLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::SourceRange*)NativePtr)->beginLoc); +} + +void CppSharp::Parser::SourceRange::BeginLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::SourceRange*)NativePtr)->beginLoc = _marshal0; +} + +CppSharp::Parser::SourceLocation CppSharp::Parser::SourceRange::EndLoc::get() +{ + return CppSharp::Parser::SourceLocation((::CppSharp::CppParser::SourceLocation*)&((::CppSharp::CppParser::SourceRange*)NativePtr)->endLoc); +} + +void CppSharp::Parser::SourceRange::EndLoc::set(CppSharp::Parser::SourceLocation value) +{ + auto _marshal0 = ::CppSharp::CppParser::SourceLocation(); + _marshal0.ID = value.ID; + ((::CppSharp::CppParser::SourceRange*)NativePtr)->endLoc = _marshal0; +} + diff --git a/src/CppParser/Bindings/CLI/Sources.h b/src/CppParser/Bindings/CLI/Sources.h index 9dd351dd..8d646534 100644 --- a/src/CppParser/Bindings/CLI/Sources.h +++ b/src/CppParser/Bindings/CLI/Sources.h @@ -13,6 +13,7 @@ namespace CppSharp { namespace Parser { + ref class SourceRange; value struct SourceLocation; } } @@ -40,5 +41,40 @@ namespace CppSharp private: unsigned int __ID; }; + + public ref class SourceRange : ICppInstance + { + public: + + property ::CppSharp::CppParser::SourceRange* NativePtr; + property System::IntPtr __Instance + { + virtual System::IntPtr get(); + virtual void set(System::IntPtr instance); + } + + SourceRange(::CppSharp::CppParser::SourceRange* native); + static SourceRange^ __CreateInstance(::System::IntPtr native); + SourceRange(); + + SourceRange(CppSharp::Parser::SourceRange^ _0); + + ~SourceRange(); + + property CppSharp::Parser::SourceLocation BeginLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + property CppSharp::Parser::SourceLocation EndLoc + { + CppSharp::Parser::SourceLocation get(); + void set(CppSharp::Parser::SourceLocation); + } + + protected: + bool __ownsNativeInstance; + }; } } diff --git a/src/CppParser/Bindings/CLI/Types.cpp b/src/CppParser/Bindings/CLI/Types.cpp new file mode 100644 index 00000000..a68e8835 --- /dev/null +++ b/src/CppParser/Bindings/CLI/Types.cpp @@ -0,0 +1,1379 @@ +// ---------------------------------------------------------------------------- +// +// This is autogenerated code by CppSharp. +// Do not edit this file or all your changes will be lost after re-generation. +// +// ---------------------------------------------------------------------------- +#include "Types.h" +#include "Decl.h" + +using namespace System; +using namespace System::Runtime::InteropServices; + +CppSharp::Parser::AST::Type::Type(::CppSharp::CppParser::AST::Type* native) + : __ownsNativeInstance(false) +{ + NativePtr = native; +} + +CppSharp::Parser::AST::Type^ CppSharp::Parser::AST::Type::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*) native.ToPointer()); +} + +CppSharp::Parser::AST::Type::~Type() +{ + delete NativePtr; +} + +CppSharp::Parser::AST::Type::Type(CppSharp::Parser::AST::TypeKind kind) +{ + __ownsNativeInstance = true; + auto __arg0 = (::CppSharp::CppParser::AST::TypeKind)kind; + NativePtr = new ::CppSharp::CppParser::AST::Type(__arg0); +} + +CppSharp::Parser::AST::Type::Type(CppSharp::Parser::AST::Type^ _0) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::Type*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::Type(__arg0); +} + +CppSharp::Parser::AST::Type::operator CppSharp::Parser::AST::Type^(CppSharp::Parser::AST::TypeKind kind) +{ + auto __arg0 = (::CppSharp::CppParser::AST::TypeKind)kind; + auto __ret = (::CppSharp::CppParser::AST::Type) __arg0; + auto ____ret = new ::CppSharp::CppParser::AST::Type(__ret); + return (____ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)____ret); +} + +System::IntPtr CppSharp::Parser::AST::Type::__Instance::get() +{ + return System::IntPtr(NativePtr); +} + +void CppSharp::Parser::AST::Type::__Instance::set(System::IntPtr object) +{ + NativePtr = (::CppSharp::CppParser::AST::Type*)object.ToPointer(); +} + +CppSharp::Parser::AST::TypeKind CppSharp::Parser::AST::Type::Kind::get() +{ + return (CppSharp::Parser::AST::TypeKind)((::CppSharp::CppParser::AST::Type*)NativePtr)->kind; +} + +void CppSharp::Parser::AST::Type::Kind::set(CppSharp::Parser::AST::TypeKind value) +{ + ((::CppSharp::CppParser::AST::Type*)NativePtr)->kind = (::CppSharp::CppParser::AST::TypeKind)value; +} + +bool CppSharp::Parser::AST::Type::IsDependent::get() +{ + return ((::CppSharp::CppParser::AST::Type*)NativePtr)->isDependent; +} + +void CppSharp::Parser::AST::Type::IsDependent::set(bool value) +{ + ((::CppSharp::CppParser::AST::Type*)NativePtr)->isDependent = value; +} + +CppSharp::Parser::AST::TypeQualifiers::TypeQualifiers(::CppSharp::CppParser::AST::TypeQualifiers* native) + : __ownsNativeInstance(false) +{ + NativePtr = native; +} + +CppSharp::Parser::AST::TypeQualifiers^ CppSharp::Parser::AST::TypeQualifiers::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::TypeQualifiers((::CppSharp::CppParser::AST::TypeQualifiers*) native.ToPointer()); +} + +CppSharp::Parser::AST::TypeQualifiers::~TypeQualifiers() +{ + delete NativePtr; +} + +CppSharp::Parser::AST::TypeQualifiers::TypeQualifiers(CppSharp::Parser::AST::TypeQualifiers^ _0) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::TypeQualifiers*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::TypeQualifiers(__arg0); +} + +CppSharp::Parser::AST::TypeQualifiers::TypeQualifiers() +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::TypeQualifiers(); +} + +System::IntPtr CppSharp::Parser::AST::TypeQualifiers::__Instance::get() +{ + return System::IntPtr(NativePtr); +} + +void CppSharp::Parser::AST::TypeQualifiers::__Instance::set(System::IntPtr object) +{ + NativePtr = (::CppSharp::CppParser::AST::TypeQualifiers*)object.ToPointer(); +} + +bool CppSharp::Parser::AST::TypeQualifiers::IsConst::get() +{ + return ((::CppSharp::CppParser::AST::TypeQualifiers*)NativePtr)->isConst; +} + +void CppSharp::Parser::AST::TypeQualifiers::IsConst::set(bool value) +{ + ((::CppSharp::CppParser::AST::TypeQualifiers*)NativePtr)->isConst = value; +} + +bool CppSharp::Parser::AST::TypeQualifiers::IsVolatile::get() +{ + return ((::CppSharp::CppParser::AST::TypeQualifiers*)NativePtr)->isVolatile; +} + +void CppSharp::Parser::AST::TypeQualifiers::IsVolatile::set(bool value) +{ + ((::CppSharp::CppParser::AST::TypeQualifiers*)NativePtr)->isVolatile = value; +} + +bool CppSharp::Parser::AST::TypeQualifiers::IsRestrict::get() +{ + return ((::CppSharp::CppParser::AST::TypeQualifiers*)NativePtr)->isRestrict; +} + +void CppSharp::Parser::AST::TypeQualifiers::IsRestrict::set(bool value) +{ + ((::CppSharp::CppParser::AST::TypeQualifiers*)NativePtr)->isRestrict = value; +} + +CppSharp::Parser::AST::QualifiedType::QualifiedType(::CppSharp::CppParser::AST::QualifiedType* native) + : __ownsNativeInstance(false) +{ + NativePtr = native; +} + +CppSharp::Parser::AST::QualifiedType^ CppSharp::Parser::AST::QualifiedType::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::QualifiedType((::CppSharp::CppParser::AST::QualifiedType*) native.ToPointer()); +} + +CppSharp::Parser::AST::QualifiedType::~QualifiedType() +{ + delete NativePtr; +} + +CppSharp::Parser::AST::QualifiedType::QualifiedType() +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::QualifiedType(); +} + +CppSharp::Parser::AST::QualifiedType::QualifiedType(CppSharp::Parser::AST::QualifiedType^ _0) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::QualifiedType*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::QualifiedType(__arg0); +} + +System::IntPtr CppSharp::Parser::AST::QualifiedType::__Instance::get() +{ + return System::IntPtr(NativePtr); +} + +void CppSharp::Parser::AST::QualifiedType::__Instance::set(System::IntPtr object) +{ + NativePtr = (::CppSharp::CppParser::AST::QualifiedType*)object.ToPointer(); +} + +CppSharp::Parser::AST::Type^ CppSharp::Parser::AST::QualifiedType::Type::get() +{ + return (((::CppSharp::CppParser::AST::QualifiedType*)NativePtr)->type == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)((::CppSharp::CppParser::AST::QualifiedType*)NativePtr)->type); +} + +void CppSharp::Parser::AST::QualifiedType::Type::set(CppSharp::Parser::AST::Type^ value) +{ + ((::CppSharp::CppParser::AST::QualifiedType*)NativePtr)->type = (::CppSharp::CppParser::AST::Type*)value->NativePtr; +} + +CppSharp::Parser::AST::TypeQualifiers^ CppSharp::Parser::AST::QualifiedType::Qualifiers::get() +{ + return (&((::CppSharp::CppParser::AST::QualifiedType*)NativePtr)->qualifiers == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::TypeQualifiers((::CppSharp::CppParser::AST::TypeQualifiers*)&((::CppSharp::CppParser::AST::QualifiedType*)NativePtr)->qualifiers); +} + +void CppSharp::Parser::AST::QualifiedType::Qualifiers::set(CppSharp::Parser::AST::TypeQualifiers^ value) +{ + ((::CppSharp::CppParser::AST::QualifiedType*)NativePtr)->qualifiers = *(::CppSharp::CppParser::AST::TypeQualifiers*)value->NativePtr; +} + +CppSharp::Parser::AST::TagType::TagType(::CppSharp::CppParser::AST::TagType* native) + : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)native) +{ +} + +CppSharp::Parser::AST::TagType^ CppSharp::Parser::AST::TagType::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::TagType((::CppSharp::CppParser::AST::TagType*) native.ToPointer()); +} + +CppSharp::Parser::AST::TagType::~TagType() +{ +} + +CppSharp::Parser::AST::TagType::TagType() + : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::TagType(); +} + +CppSharp::Parser::AST::TagType::TagType(CppSharp::Parser::AST::TagType^ _0) + : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::TagType*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::TagType(__arg0); +} + +CppSharp::Parser::AST::Declaration^ CppSharp::Parser::AST::TagType::Declaration::get() +{ + return (((::CppSharp::CppParser::AST::TagType*)NativePtr)->declaration == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)((::CppSharp::CppParser::AST::TagType*)NativePtr)->declaration); +} + +void CppSharp::Parser::AST::TagType::Declaration::set(CppSharp::Parser::AST::Declaration^ value) +{ + ((::CppSharp::CppParser::AST::TagType*)NativePtr)->declaration = (::CppSharp::CppParser::AST::Declaration*)value->NativePtr; +} + +CppSharp::Parser::AST::ArrayType::ArrayType(::CppSharp::CppParser::AST::ArrayType* native) + : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)native) +{ +} + +CppSharp::Parser::AST::ArrayType^ CppSharp::Parser::AST::ArrayType::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::ArrayType((::CppSharp::CppParser::AST::ArrayType*) native.ToPointer()); +} + +CppSharp::Parser::AST::ArrayType::~ArrayType() +{ +} + +CppSharp::Parser::AST::ArrayType::ArrayType() + : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::ArrayType(); +} + +CppSharp::Parser::AST::ArrayType::ArrayType(CppSharp::Parser::AST::ArrayType^ _0) + : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::ArrayType*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::ArrayType(__arg0); +} + +CppSharp::Parser::AST::QualifiedType^ CppSharp::Parser::AST::ArrayType::QualifiedType::get() +{ + return (&((::CppSharp::CppParser::AST::ArrayType*)NativePtr)->qualifiedType == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::QualifiedType((::CppSharp::CppParser::AST::QualifiedType*)&((::CppSharp::CppParser::AST::ArrayType*)NativePtr)->qualifiedType); +} + +void CppSharp::Parser::AST::ArrayType::QualifiedType::set(CppSharp::Parser::AST::QualifiedType^ value) +{ + ((::CppSharp::CppParser::AST::ArrayType*)NativePtr)->qualifiedType = *(::CppSharp::CppParser::AST::QualifiedType*)value->NativePtr; +} + +CppSharp::Parser::AST::ArrayType::ArraySize CppSharp::Parser::AST::ArrayType::SizeType::get() +{ + return (CppSharp::Parser::AST::ArrayType::ArraySize)((::CppSharp::CppParser::AST::ArrayType*)NativePtr)->sizeType; +} + +void CppSharp::Parser::AST::ArrayType::SizeType::set(CppSharp::Parser::AST::ArrayType::ArraySize value) +{ + ((::CppSharp::CppParser::AST::ArrayType*)NativePtr)->sizeType = (::CppSharp::CppParser::AST::ArrayType::ArraySize)value; +} + +long CppSharp::Parser::AST::ArrayType::Size::get() +{ + return ((::CppSharp::CppParser::AST::ArrayType*)NativePtr)->size; +} + +void CppSharp::Parser::AST::ArrayType::Size::set(long value) +{ + ((::CppSharp::CppParser::AST::ArrayType*)NativePtr)->size = value; +} + +long CppSharp::Parser::AST::ArrayType::ElementSize::get() +{ + return ((::CppSharp::CppParser::AST::ArrayType*)NativePtr)->elementSize; +} + +void CppSharp::Parser::AST::ArrayType::ElementSize::set(long value) +{ + ((::CppSharp::CppParser::AST::ArrayType*)NativePtr)->elementSize = value; +} + +CppSharp::Parser::AST::FunctionType::FunctionType(::CppSharp::CppParser::AST::FunctionType* native) + : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)native) +{ +} + +CppSharp::Parser::AST::FunctionType^ CppSharp::Parser::AST::FunctionType::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::FunctionType((::CppSharp::CppParser::AST::FunctionType*) native.ToPointer()); +} + +CppSharp::Parser::AST::FunctionType::~FunctionType() +{ + if (NativePtr) + { + auto __nativePtr = NativePtr; + NativePtr = 0; + delete (::CppSharp::CppParser::AST::FunctionType*) __nativePtr; + } +} + +CppSharp::Parser::AST::FunctionType::FunctionType() + : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::FunctionType(); +} + +CppSharp::Parser::AST::Parameter^ CppSharp::Parser::AST::FunctionType::GetParameters(unsigned int i) +{ + auto __ret = ((::CppSharp::CppParser::AST::FunctionType*)NativePtr)->getParameters(i); + if (__ret == nullptr) return nullptr; + return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Parameter((::CppSharp::CppParser::AST::Parameter*)__ret); +} + +void CppSharp::Parser::AST::FunctionType::AddParameters(CppSharp::Parser::AST::Parameter^ s) +{ + if (ReferenceEquals(s, nullptr)) + throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + auto __arg0 = (::CppSharp::CppParser::AST::Parameter*)s->NativePtr; + ((::CppSharp::CppParser::AST::FunctionType*)NativePtr)->addParameters(__arg0); +} + +void CppSharp::Parser::AST::FunctionType::ClearParameters() +{ + ((::CppSharp::CppParser::AST::FunctionType*)NativePtr)->clearParameters(); +} + +CppSharp::Parser::AST::FunctionType::FunctionType(CppSharp::Parser::AST::FunctionType^ _0) + : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::FunctionType*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::FunctionType(__arg0); +} + +CppSharp::Parser::AST::QualifiedType^ CppSharp::Parser::AST::FunctionType::ReturnType::get() +{ + return (&((::CppSharp::CppParser::AST::FunctionType*)NativePtr)->returnType == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::QualifiedType((::CppSharp::CppParser::AST::QualifiedType*)&((::CppSharp::CppParser::AST::FunctionType*)NativePtr)->returnType); +} + +void CppSharp::Parser::AST::FunctionType::ReturnType::set(CppSharp::Parser::AST::QualifiedType^ value) +{ + ((::CppSharp::CppParser::AST::FunctionType*)NativePtr)->returnType = *(::CppSharp::CppParser::AST::QualifiedType*)value->NativePtr; +} + +CppSharp::Parser::AST::CallingConvention CppSharp::Parser::AST::FunctionType::CallingConvention::get() +{ + return (CppSharp::Parser::AST::CallingConvention)((::CppSharp::CppParser::AST::FunctionType*)NativePtr)->callingConvention; +} + +void CppSharp::Parser::AST::FunctionType::CallingConvention::set(CppSharp::Parser::AST::CallingConvention value) +{ + ((::CppSharp::CppParser::AST::FunctionType*)NativePtr)->callingConvention = (::CppSharp::CppParser::AST::CallingConvention)value; +} + +CppSharp::Parser::AST::ExceptionSpecType CppSharp::Parser::AST::FunctionType::ExceptionSpecType::get() +{ + return (CppSharp::Parser::AST::ExceptionSpecType)((::CppSharp::CppParser::AST::FunctionType*)NativePtr)->exceptionSpecType; +} + +void CppSharp::Parser::AST::FunctionType::ExceptionSpecType::set(CppSharp::Parser::AST::ExceptionSpecType value) +{ + ((::CppSharp::CppParser::AST::FunctionType*)NativePtr)->exceptionSpecType = (::CppSharp::CppParser::AST::ExceptionSpecType)value; +} + +System::Collections::Generic::List^ CppSharp::Parser::AST::FunctionType::Parameters::get() +{ + auto _tmp__Parameters = gcnew System::Collections::Generic::List(); + for(auto _element : ((::CppSharp::CppParser::AST::FunctionType*)NativePtr)->Parameters) + { + auto _marshalElement = (_element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Parameter((::CppSharp::CppParser::AST::Parameter*)_element); + _tmp__Parameters->Add(_marshalElement); + } + return _tmp__Parameters; +} + +void CppSharp::Parser::AST::FunctionType::Parameters::set(System::Collections::Generic::List^ value) +{ + auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::Parameter*>(); + for each(CppSharp::Parser::AST::Parameter^ _element in value) + { + auto _marshalElement = (::CppSharp::CppParser::AST::Parameter*)_element->NativePtr; + _tmpvalue.push_back(_marshalElement); + } + ((::CppSharp::CppParser::AST::FunctionType*)NativePtr)->Parameters = _tmpvalue; +} + +unsigned int CppSharp::Parser::AST::FunctionType::ParametersCount::get() +{ + auto __ret = ((::CppSharp::CppParser::AST::FunctionType*)NativePtr)->getParametersCount(); + return __ret; +} + +CppSharp::Parser::AST::PointerType::PointerType(::CppSharp::CppParser::AST::PointerType* native) + : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)native) +{ +} + +CppSharp::Parser::AST::PointerType^ CppSharp::Parser::AST::PointerType::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::PointerType((::CppSharp::CppParser::AST::PointerType*) native.ToPointer()); +} + +CppSharp::Parser::AST::PointerType::~PointerType() +{ +} + +CppSharp::Parser::AST::PointerType::PointerType() + : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::PointerType(); +} + +CppSharp::Parser::AST::PointerType::PointerType(CppSharp::Parser::AST::PointerType^ _0) + : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::PointerType*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::PointerType(__arg0); +} + +CppSharp::Parser::AST::QualifiedType^ CppSharp::Parser::AST::PointerType::QualifiedPointee::get() +{ + return (&((::CppSharp::CppParser::AST::PointerType*)NativePtr)->qualifiedPointee == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::QualifiedType((::CppSharp::CppParser::AST::QualifiedType*)&((::CppSharp::CppParser::AST::PointerType*)NativePtr)->qualifiedPointee); +} + +void CppSharp::Parser::AST::PointerType::QualifiedPointee::set(CppSharp::Parser::AST::QualifiedType^ value) +{ + ((::CppSharp::CppParser::AST::PointerType*)NativePtr)->qualifiedPointee = *(::CppSharp::CppParser::AST::QualifiedType*)value->NativePtr; +} + +CppSharp::Parser::AST::PointerType::TypeModifier CppSharp::Parser::AST::PointerType::Modifier::get() +{ + return (CppSharp::Parser::AST::PointerType::TypeModifier)((::CppSharp::CppParser::AST::PointerType*)NativePtr)->modifier; +} + +void CppSharp::Parser::AST::PointerType::Modifier::set(CppSharp::Parser::AST::PointerType::TypeModifier value) +{ + ((::CppSharp::CppParser::AST::PointerType*)NativePtr)->modifier = (::CppSharp::CppParser::AST::PointerType::TypeModifier)value; +} + +CppSharp::Parser::AST::MemberPointerType::MemberPointerType(::CppSharp::CppParser::AST::MemberPointerType* native) + : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)native) +{ +} + +CppSharp::Parser::AST::MemberPointerType^ CppSharp::Parser::AST::MemberPointerType::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::MemberPointerType((::CppSharp::CppParser::AST::MemberPointerType*) native.ToPointer()); +} + +CppSharp::Parser::AST::MemberPointerType::~MemberPointerType() +{ +} + +CppSharp::Parser::AST::MemberPointerType::MemberPointerType() + : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::MemberPointerType(); +} + +CppSharp::Parser::AST::MemberPointerType::MemberPointerType(CppSharp::Parser::AST::MemberPointerType^ _0) + : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::MemberPointerType*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::MemberPointerType(__arg0); +} + +CppSharp::Parser::AST::QualifiedType^ CppSharp::Parser::AST::MemberPointerType::Pointee::get() +{ + return (&((::CppSharp::CppParser::AST::MemberPointerType*)NativePtr)->pointee == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::QualifiedType((::CppSharp::CppParser::AST::QualifiedType*)&((::CppSharp::CppParser::AST::MemberPointerType*)NativePtr)->pointee); +} + +void CppSharp::Parser::AST::MemberPointerType::Pointee::set(CppSharp::Parser::AST::QualifiedType^ value) +{ + ((::CppSharp::CppParser::AST::MemberPointerType*)NativePtr)->pointee = *(::CppSharp::CppParser::AST::QualifiedType*)value->NativePtr; +} + +CppSharp::Parser::AST::TypedefType::TypedefType(::CppSharp::CppParser::AST::TypedefType* native) + : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)native) +{ +} + +CppSharp::Parser::AST::TypedefType^ CppSharp::Parser::AST::TypedefType::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::TypedefType((::CppSharp::CppParser::AST::TypedefType*) native.ToPointer()); +} + +CppSharp::Parser::AST::TypedefType::~TypedefType() +{ +} + +CppSharp::Parser::AST::TypedefType::TypedefType() + : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::TypedefType(); +} + +CppSharp::Parser::AST::TypedefType::TypedefType(CppSharp::Parser::AST::TypedefType^ _0) + : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::TypedefType*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::TypedefType(__arg0); +} + +CppSharp::Parser::AST::TypedefNameDecl^ CppSharp::Parser::AST::TypedefType::Declaration::get() +{ + return (((::CppSharp::CppParser::AST::TypedefType*)NativePtr)->declaration == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::TypedefNameDecl((::CppSharp::CppParser::AST::TypedefNameDecl*)((::CppSharp::CppParser::AST::TypedefType*)NativePtr)->declaration); +} + +void CppSharp::Parser::AST::TypedefType::Declaration::set(CppSharp::Parser::AST::TypedefNameDecl^ value) +{ + ((::CppSharp::CppParser::AST::TypedefType*)NativePtr)->declaration = (::CppSharp::CppParser::AST::TypedefNameDecl*)value->NativePtr; +} + +CppSharp::Parser::AST::AttributedType::AttributedType(::CppSharp::CppParser::AST::AttributedType* native) + : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)native) +{ +} + +CppSharp::Parser::AST::AttributedType^ CppSharp::Parser::AST::AttributedType::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::AttributedType((::CppSharp::CppParser::AST::AttributedType*) native.ToPointer()); +} + +CppSharp::Parser::AST::AttributedType::~AttributedType() +{ +} + +CppSharp::Parser::AST::AttributedType::AttributedType() + : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::AttributedType(); +} + +CppSharp::Parser::AST::AttributedType::AttributedType(CppSharp::Parser::AST::AttributedType^ _0) + : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::AttributedType*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::AttributedType(__arg0); +} + +CppSharp::Parser::AST::QualifiedType^ CppSharp::Parser::AST::AttributedType::Modified::get() +{ + return (&((::CppSharp::CppParser::AST::AttributedType*)NativePtr)->modified == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::QualifiedType((::CppSharp::CppParser::AST::QualifiedType*)&((::CppSharp::CppParser::AST::AttributedType*)NativePtr)->modified); +} + +void CppSharp::Parser::AST::AttributedType::Modified::set(CppSharp::Parser::AST::QualifiedType^ value) +{ + ((::CppSharp::CppParser::AST::AttributedType*)NativePtr)->modified = *(::CppSharp::CppParser::AST::QualifiedType*)value->NativePtr; +} + +CppSharp::Parser::AST::QualifiedType^ CppSharp::Parser::AST::AttributedType::Equivalent::get() +{ + return (&((::CppSharp::CppParser::AST::AttributedType*)NativePtr)->equivalent == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::QualifiedType((::CppSharp::CppParser::AST::QualifiedType*)&((::CppSharp::CppParser::AST::AttributedType*)NativePtr)->equivalent); +} + +void CppSharp::Parser::AST::AttributedType::Equivalent::set(CppSharp::Parser::AST::QualifiedType^ value) +{ + ((::CppSharp::CppParser::AST::AttributedType*)NativePtr)->equivalent = *(::CppSharp::CppParser::AST::QualifiedType*)value->NativePtr; +} + +CppSharp::Parser::AST::DecayedType::DecayedType(::CppSharp::CppParser::AST::DecayedType* native) + : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)native) +{ +} + +CppSharp::Parser::AST::DecayedType^ CppSharp::Parser::AST::DecayedType::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::DecayedType((::CppSharp::CppParser::AST::DecayedType*) native.ToPointer()); +} + +CppSharp::Parser::AST::DecayedType::~DecayedType() +{ +} + +CppSharp::Parser::AST::DecayedType::DecayedType() + : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::DecayedType(); +} + +CppSharp::Parser::AST::DecayedType::DecayedType(CppSharp::Parser::AST::DecayedType^ _0) + : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::DecayedType*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::DecayedType(__arg0); +} + +CppSharp::Parser::AST::QualifiedType^ CppSharp::Parser::AST::DecayedType::Decayed::get() +{ + return (&((::CppSharp::CppParser::AST::DecayedType*)NativePtr)->decayed == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::QualifiedType((::CppSharp::CppParser::AST::QualifiedType*)&((::CppSharp::CppParser::AST::DecayedType*)NativePtr)->decayed); +} + +void CppSharp::Parser::AST::DecayedType::Decayed::set(CppSharp::Parser::AST::QualifiedType^ value) +{ + ((::CppSharp::CppParser::AST::DecayedType*)NativePtr)->decayed = *(::CppSharp::CppParser::AST::QualifiedType*)value->NativePtr; +} + +CppSharp::Parser::AST::QualifiedType^ CppSharp::Parser::AST::DecayedType::Original::get() +{ + return (&((::CppSharp::CppParser::AST::DecayedType*)NativePtr)->original == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::QualifiedType((::CppSharp::CppParser::AST::QualifiedType*)&((::CppSharp::CppParser::AST::DecayedType*)NativePtr)->original); +} + +void CppSharp::Parser::AST::DecayedType::Original::set(CppSharp::Parser::AST::QualifiedType^ value) +{ + ((::CppSharp::CppParser::AST::DecayedType*)NativePtr)->original = *(::CppSharp::CppParser::AST::QualifiedType*)value->NativePtr; +} + +CppSharp::Parser::AST::QualifiedType^ CppSharp::Parser::AST::DecayedType::Pointee::get() +{ + return (&((::CppSharp::CppParser::AST::DecayedType*)NativePtr)->pointee == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::QualifiedType((::CppSharp::CppParser::AST::QualifiedType*)&((::CppSharp::CppParser::AST::DecayedType*)NativePtr)->pointee); +} + +void CppSharp::Parser::AST::DecayedType::Pointee::set(CppSharp::Parser::AST::QualifiedType^ value) +{ + ((::CppSharp::CppParser::AST::DecayedType*)NativePtr)->pointee = *(::CppSharp::CppParser::AST::QualifiedType*)value->NativePtr; +} + +CppSharp::Parser::AST::TemplateArgument::TemplateArgument(::CppSharp::CppParser::AST::TemplateArgument* native) + : __ownsNativeInstance(false) +{ + NativePtr = native; +} + +CppSharp::Parser::AST::TemplateArgument^ CppSharp::Parser::AST::TemplateArgument::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::TemplateArgument((::CppSharp::CppParser::AST::TemplateArgument*) native.ToPointer()); +} + +CppSharp::Parser::AST::TemplateArgument::~TemplateArgument() +{ + delete NativePtr; +} + +CppSharp::Parser::AST::TemplateArgument::TemplateArgument() +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::TemplateArgument(); +} + +CppSharp::Parser::AST::TemplateArgument::TemplateArgument(CppSharp::Parser::AST::TemplateArgument^ _0) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::TemplateArgument*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::TemplateArgument(__arg0); +} + +System::IntPtr CppSharp::Parser::AST::TemplateArgument::__Instance::get() +{ + return System::IntPtr(NativePtr); +} + +void CppSharp::Parser::AST::TemplateArgument::__Instance::set(System::IntPtr object) +{ + NativePtr = (::CppSharp::CppParser::AST::TemplateArgument*)object.ToPointer(); +} + +CppSharp::Parser::AST::TemplateArgument::ArgumentKind CppSharp::Parser::AST::TemplateArgument::Kind::get() +{ + return (CppSharp::Parser::AST::TemplateArgument::ArgumentKind)((::CppSharp::CppParser::AST::TemplateArgument*)NativePtr)->kind; +} + +void CppSharp::Parser::AST::TemplateArgument::Kind::set(CppSharp::Parser::AST::TemplateArgument::ArgumentKind value) +{ + ((::CppSharp::CppParser::AST::TemplateArgument*)NativePtr)->kind = (::CppSharp::CppParser::AST::TemplateArgument::ArgumentKind)value; +} + +CppSharp::Parser::AST::QualifiedType^ CppSharp::Parser::AST::TemplateArgument::Type::get() +{ + return (&((::CppSharp::CppParser::AST::TemplateArgument*)NativePtr)->type == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::QualifiedType((::CppSharp::CppParser::AST::QualifiedType*)&((::CppSharp::CppParser::AST::TemplateArgument*)NativePtr)->type); +} + +void CppSharp::Parser::AST::TemplateArgument::Type::set(CppSharp::Parser::AST::QualifiedType^ value) +{ + ((::CppSharp::CppParser::AST::TemplateArgument*)NativePtr)->type = *(::CppSharp::CppParser::AST::QualifiedType*)value->NativePtr; +} + +CppSharp::Parser::AST::Declaration^ CppSharp::Parser::AST::TemplateArgument::Declaration::get() +{ + return (((::CppSharp::CppParser::AST::TemplateArgument*)NativePtr)->declaration == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Declaration((::CppSharp::CppParser::AST::Declaration*)((::CppSharp::CppParser::AST::TemplateArgument*)NativePtr)->declaration); +} + +void CppSharp::Parser::AST::TemplateArgument::Declaration::set(CppSharp::Parser::AST::Declaration^ value) +{ + ((::CppSharp::CppParser::AST::TemplateArgument*)NativePtr)->declaration = (::CppSharp::CppParser::AST::Declaration*)value->NativePtr; +} + +long CppSharp::Parser::AST::TemplateArgument::Integral::get() +{ + return ((::CppSharp::CppParser::AST::TemplateArgument*)NativePtr)->integral; +} + +void CppSharp::Parser::AST::TemplateArgument::Integral::set(long value) +{ + ((::CppSharp::CppParser::AST::TemplateArgument*)NativePtr)->integral = value; +} + +CppSharp::Parser::AST::TemplateSpecializationType::TemplateSpecializationType(::CppSharp::CppParser::AST::TemplateSpecializationType* native) + : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)native) +{ +} + +CppSharp::Parser::AST::TemplateSpecializationType^ CppSharp::Parser::AST::TemplateSpecializationType::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::TemplateSpecializationType((::CppSharp::CppParser::AST::TemplateSpecializationType*) native.ToPointer()); +} + +CppSharp::Parser::AST::TemplateSpecializationType::~TemplateSpecializationType() +{ + if (NativePtr) + { + auto __nativePtr = NativePtr; + NativePtr = 0; + delete (::CppSharp::CppParser::AST::TemplateSpecializationType*) __nativePtr; + } +} + +CppSharp::Parser::AST::TemplateSpecializationType::TemplateSpecializationType() + : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::TemplateSpecializationType(); +} + +CppSharp::Parser::AST::TemplateSpecializationType::TemplateSpecializationType(CppSharp::Parser::AST::TemplateSpecializationType^ _0) + : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::TemplateSpecializationType*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::TemplateSpecializationType(__arg0); +} + +CppSharp::Parser::AST::TemplateArgument^ CppSharp::Parser::AST::TemplateSpecializationType::GetArguments(unsigned int i) +{ + auto __ret = ((::CppSharp::CppParser::AST::TemplateSpecializationType*)NativePtr)->getArguments(i); + auto ____ret = new ::CppSharp::CppParser::AST::TemplateArgument(__ret); + return (____ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::TemplateArgument((::CppSharp::CppParser::AST::TemplateArgument*)____ret); +} + +void CppSharp::Parser::AST::TemplateSpecializationType::AddArguments(CppSharp::Parser::AST::TemplateArgument^ s) +{ + if (ReferenceEquals(s, nullptr)) + throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::TemplateArgument*)s->NativePtr; + ((::CppSharp::CppParser::AST::TemplateSpecializationType*)NativePtr)->addArguments(__arg0); +} + +void CppSharp::Parser::AST::TemplateSpecializationType::ClearArguments() +{ + ((::CppSharp::CppParser::AST::TemplateSpecializationType*)NativePtr)->clearArguments(); +} + +System::Collections::Generic::List^ CppSharp::Parser::AST::TemplateSpecializationType::Arguments::get() +{ + auto _tmp__Arguments = gcnew System::Collections::Generic::List(); + for(auto _element : ((::CppSharp::CppParser::AST::TemplateSpecializationType*)NativePtr)->Arguments) + { + auto ___element = new ::CppSharp::CppParser::AST::TemplateArgument(_element); + auto _marshalElement = (___element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::TemplateArgument((::CppSharp::CppParser::AST::TemplateArgument*)___element); + _tmp__Arguments->Add(_marshalElement); + } + return _tmp__Arguments; +} + +void CppSharp::Parser::AST::TemplateSpecializationType::Arguments::set(System::Collections::Generic::List^ value) +{ + auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::TemplateArgument>(); + for each(CppSharp::Parser::AST::TemplateArgument^ _element in value) + { + auto _marshalElement = *(::CppSharp::CppParser::AST::TemplateArgument*)_element->NativePtr; + _tmpvalue.push_back(_marshalElement); + } + ((::CppSharp::CppParser::AST::TemplateSpecializationType*)NativePtr)->Arguments = _tmpvalue; +} + +CppSharp::Parser::AST::Template^ CppSharp::Parser::AST::TemplateSpecializationType::Template::get() +{ + return (((::CppSharp::CppParser::AST::TemplateSpecializationType*)NativePtr)->_template == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Template((::CppSharp::CppParser::AST::Template*)((::CppSharp::CppParser::AST::TemplateSpecializationType*)NativePtr)->_template); +} + +void CppSharp::Parser::AST::TemplateSpecializationType::Template::set(CppSharp::Parser::AST::Template^ value) +{ + ((::CppSharp::CppParser::AST::TemplateSpecializationType*)NativePtr)->_template = (::CppSharp::CppParser::AST::Template*)value->NativePtr; +} + +CppSharp::Parser::AST::QualifiedType^ CppSharp::Parser::AST::TemplateSpecializationType::Desugared::get() +{ + return (&((::CppSharp::CppParser::AST::TemplateSpecializationType*)NativePtr)->desugared == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::QualifiedType((::CppSharp::CppParser::AST::QualifiedType*)&((::CppSharp::CppParser::AST::TemplateSpecializationType*)NativePtr)->desugared); +} + +void CppSharp::Parser::AST::TemplateSpecializationType::Desugared::set(CppSharp::Parser::AST::QualifiedType^ value) +{ + ((::CppSharp::CppParser::AST::TemplateSpecializationType*)NativePtr)->desugared = *(::CppSharp::CppParser::AST::QualifiedType*)value->NativePtr; +} + +unsigned int CppSharp::Parser::AST::TemplateSpecializationType::ArgumentsCount::get() +{ + auto __ret = ((::CppSharp::CppParser::AST::TemplateSpecializationType*)NativePtr)->getArgumentsCount(); + return __ret; +} + +CppSharp::Parser::AST::DependentTemplateSpecializationType::DependentTemplateSpecializationType(::CppSharp::CppParser::AST::DependentTemplateSpecializationType* native) + : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)native) +{ +} + +CppSharp::Parser::AST::DependentTemplateSpecializationType^ CppSharp::Parser::AST::DependentTemplateSpecializationType::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::DependentTemplateSpecializationType((::CppSharp::CppParser::AST::DependentTemplateSpecializationType*) native.ToPointer()); +} + +CppSharp::Parser::AST::DependentTemplateSpecializationType::~DependentTemplateSpecializationType() +{ + if (NativePtr) + { + auto __nativePtr = NativePtr; + NativePtr = 0; + delete (::CppSharp::CppParser::AST::DependentTemplateSpecializationType*) __nativePtr; + } +} + +CppSharp::Parser::AST::DependentTemplateSpecializationType::DependentTemplateSpecializationType() + : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::DependentTemplateSpecializationType(); +} + +CppSharp::Parser::AST::DependentTemplateSpecializationType::DependentTemplateSpecializationType(CppSharp::Parser::AST::DependentTemplateSpecializationType^ _0) + : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::DependentTemplateSpecializationType*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::DependentTemplateSpecializationType(__arg0); +} + +CppSharp::Parser::AST::TemplateArgument^ CppSharp::Parser::AST::DependentTemplateSpecializationType::GetArguments(unsigned int i) +{ + auto __ret = ((::CppSharp::CppParser::AST::DependentTemplateSpecializationType*)NativePtr)->getArguments(i); + auto ____ret = new ::CppSharp::CppParser::AST::TemplateArgument(__ret); + return (____ret == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::TemplateArgument((::CppSharp::CppParser::AST::TemplateArgument*)____ret); +} + +void CppSharp::Parser::AST::DependentTemplateSpecializationType::AddArguments(CppSharp::Parser::AST::TemplateArgument^ s) +{ + if (ReferenceEquals(s, nullptr)) + throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::TemplateArgument*)s->NativePtr; + ((::CppSharp::CppParser::AST::DependentTemplateSpecializationType*)NativePtr)->addArguments(__arg0); +} + +void CppSharp::Parser::AST::DependentTemplateSpecializationType::ClearArguments() +{ + ((::CppSharp::CppParser::AST::DependentTemplateSpecializationType*)NativePtr)->clearArguments(); +} + +System::Collections::Generic::List^ CppSharp::Parser::AST::DependentTemplateSpecializationType::Arguments::get() +{ + auto _tmp__Arguments = gcnew System::Collections::Generic::List(); + for(auto _element : ((::CppSharp::CppParser::AST::DependentTemplateSpecializationType*)NativePtr)->Arguments) + { + auto ___element = new ::CppSharp::CppParser::AST::TemplateArgument(_element); + auto _marshalElement = (___element == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::TemplateArgument((::CppSharp::CppParser::AST::TemplateArgument*)___element); + _tmp__Arguments->Add(_marshalElement); + } + return _tmp__Arguments; +} + +void CppSharp::Parser::AST::DependentTemplateSpecializationType::Arguments::set(System::Collections::Generic::List^ value) +{ + auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::TemplateArgument>(); + for each(CppSharp::Parser::AST::TemplateArgument^ _element in value) + { + auto _marshalElement = *(::CppSharp::CppParser::AST::TemplateArgument*)_element->NativePtr; + _tmpvalue.push_back(_marshalElement); + } + ((::CppSharp::CppParser::AST::DependentTemplateSpecializationType*)NativePtr)->Arguments = _tmpvalue; +} + +CppSharp::Parser::AST::QualifiedType^ CppSharp::Parser::AST::DependentTemplateSpecializationType::Desugared::get() +{ + return (&((::CppSharp::CppParser::AST::DependentTemplateSpecializationType*)NativePtr)->desugared == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::QualifiedType((::CppSharp::CppParser::AST::QualifiedType*)&((::CppSharp::CppParser::AST::DependentTemplateSpecializationType*)NativePtr)->desugared); +} + +void CppSharp::Parser::AST::DependentTemplateSpecializationType::Desugared::set(CppSharp::Parser::AST::QualifiedType^ value) +{ + ((::CppSharp::CppParser::AST::DependentTemplateSpecializationType*)NativePtr)->desugared = *(::CppSharp::CppParser::AST::QualifiedType*)value->NativePtr; +} + +unsigned int CppSharp::Parser::AST::DependentTemplateSpecializationType::ArgumentsCount::get() +{ + auto __ret = ((::CppSharp::CppParser::AST::DependentTemplateSpecializationType*)NativePtr)->getArgumentsCount(); + return __ret; +} + +CppSharp::Parser::AST::TemplateParameterType::TemplateParameterType(::CppSharp::CppParser::AST::TemplateParameterType* native) + : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)native) +{ +} + +CppSharp::Parser::AST::TemplateParameterType^ CppSharp::Parser::AST::TemplateParameterType::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::TemplateParameterType((::CppSharp::CppParser::AST::TemplateParameterType*) native.ToPointer()); +} + +CppSharp::Parser::AST::TemplateParameterType::~TemplateParameterType() +{ + if (NativePtr) + { + auto __nativePtr = NativePtr; + NativePtr = 0; + delete (::CppSharp::CppParser::AST::TemplateParameterType*) __nativePtr; + } +} + +CppSharp::Parser::AST::TemplateParameterType::TemplateParameterType() + : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::TemplateParameterType(); +} + +CppSharp::Parser::AST::TemplateParameterType::TemplateParameterType(CppSharp::Parser::AST::TemplateParameterType^ _0) + : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::TemplateParameterType*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::TemplateParameterType(__arg0); +} + +CppSharp::Parser::AST::TypeTemplateParameter^ CppSharp::Parser::AST::TemplateParameterType::Parameter::get() +{ + return (((::CppSharp::CppParser::AST::TemplateParameterType*)NativePtr)->parameter == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::TypeTemplateParameter((::CppSharp::CppParser::AST::TypeTemplateParameter*)((::CppSharp::CppParser::AST::TemplateParameterType*)NativePtr)->parameter); +} + +void CppSharp::Parser::AST::TemplateParameterType::Parameter::set(CppSharp::Parser::AST::TypeTemplateParameter^ value) +{ + ((::CppSharp::CppParser::AST::TemplateParameterType*)NativePtr)->parameter = (::CppSharp::CppParser::AST::TypeTemplateParameter*)value->NativePtr; +} + +unsigned int CppSharp::Parser::AST::TemplateParameterType::Depth::get() +{ + return ((::CppSharp::CppParser::AST::TemplateParameterType*)NativePtr)->depth; +} + +void CppSharp::Parser::AST::TemplateParameterType::Depth::set(unsigned int value) +{ + ((::CppSharp::CppParser::AST::TemplateParameterType*)NativePtr)->depth = value; +} + +unsigned int CppSharp::Parser::AST::TemplateParameterType::Index::get() +{ + return ((::CppSharp::CppParser::AST::TemplateParameterType*)NativePtr)->index; +} + +void CppSharp::Parser::AST::TemplateParameterType::Index::set(unsigned int value) +{ + ((::CppSharp::CppParser::AST::TemplateParameterType*)NativePtr)->index = value; +} + +bool CppSharp::Parser::AST::TemplateParameterType::IsParameterPack::get() +{ + return ((::CppSharp::CppParser::AST::TemplateParameterType*)NativePtr)->isParameterPack; +} + +void CppSharp::Parser::AST::TemplateParameterType::IsParameterPack::set(bool value) +{ + ((::CppSharp::CppParser::AST::TemplateParameterType*)NativePtr)->isParameterPack = value; +} + +CppSharp::Parser::AST::TemplateParameterSubstitutionType::TemplateParameterSubstitutionType(::CppSharp::CppParser::AST::TemplateParameterSubstitutionType* native) + : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)native) +{ +} + +CppSharp::Parser::AST::TemplateParameterSubstitutionType^ CppSharp::Parser::AST::TemplateParameterSubstitutionType::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::TemplateParameterSubstitutionType((::CppSharp::CppParser::AST::TemplateParameterSubstitutionType*) native.ToPointer()); +} + +CppSharp::Parser::AST::TemplateParameterSubstitutionType::~TemplateParameterSubstitutionType() +{ +} + +CppSharp::Parser::AST::TemplateParameterSubstitutionType::TemplateParameterSubstitutionType() + : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::TemplateParameterSubstitutionType(); +} + +CppSharp::Parser::AST::TemplateParameterSubstitutionType::TemplateParameterSubstitutionType(CppSharp::Parser::AST::TemplateParameterSubstitutionType^ _0) + : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::TemplateParameterSubstitutionType*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::TemplateParameterSubstitutionType(__arg0); +} + +CppSharp::Parser::AST::QualifiedType^ CppSharp::Parser::AST::TemplateParameterSubstitutionType::Replacement::get() +{ + return (&((::CppSharp::CppParser::AST::TemplateParameterSubstitutionType*)NativePtr)->replacement == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::QualifiedType((::CppSharp::CppParser::AST::QualifiedType*)&((::CppSharp::CppParser::AST::TemplateParameterSubstitutionType*)NativePtr)->replacement); +} + +void CppSharp::Parser::AST::TemplateParameterSubstitutionType::Replacement::set(CppSharp::Parser::AST::QualifiedType^ value) +{ + ((::CppSharp::CppParser::AST::TemplateParameterSubstitutionType*)NativePtr)->replacement = *(::CppSharp::CppParser::AST::QualifiedType*)value->NativePtr; +} + +CppSharp::Parser::AST::TemplateParameterType^ CppSharp::Parser::AST::TemplateParameterSubstitutionType::ReplacedParameter::get() +{ + return (((::CppSharp::CppParser::AST::TemplateParameterSubstitutionType*)NativePtr)->replacedParameter == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::TemplateParameterType((::CppSharp::CppParser::AST::TemplateParameterType*)((::CppSharp::CppParser::AST::TemplateParameterSubstitutionType*)NativePtr)->replacedParameter); +} + +void CppSharp::Parser::AST::TemplateParameterSubstitutionType::ReplacedParameter::set(CppSharp::Parser::AST::TemplateParameterType^ value) +{ + ((::CppSharp::CppParser::AST::TemplateParameterSubstitutionType*)NativePtr)->replacedParameter = (::CppSharp::CppParser::AST::TemplateParameterType*)value->NativePtr; +} + +CppSharp::Parser::AST::InjectedClassNameType::InjectedClassNameType(::CppSharp::CppParser::AST::InjectedClassNameType* native) + : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)native) +{ +} + +CppSharp::Parser::AST::InjectedClassNameType^ CppSharp::Parser::AST::InjectedClassNameType::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::InjectedClassNameType((::CppSharp::CppParser::AST::InjectedClassNameType*) native.ToPointer()); +} + +CppSharp::Parser::AST::InjectedClassNameType::~InjectedClassNameType() +{ +} + +CppSharp::Parser::AST::InjectedClassNameType::InjectedClassNameType() + : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::InjectedClassNameType(); +} + +CppSharp::Parser::AST::InjectedClassNameType::InjectedClassNameType(CppSharp::Parser::AST::InjectedClassNameType^ _0) + : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::InjectedClassNameType*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::InjectedClassNameType(__arg0); +} + +CppSharp::Parser::AST::QualifiedType^ CppSharp::Parser::AST::InjectedClassNameType::InjectedSpecializationType::get() +{ + return (&((::CppSharp::CppParser::AST::InjectedClassNameType*)NativePtr)->injectedSpecializationType == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::QualifiedType((::CppSharp::CppParser::AST::QualifiedType*)&((::CppSharp::CppParser::AST::InjectedClassNameType*)NativePtr)->injectedSpecializationType); +} + +void CppSharp::Parser::AST::InjectedClassNameType::InjectedSpecializationType::set(CppSharp::Parser::AST::QualifiedType^ value) +{ + ((::CppSharp::CppParser::AST::InjectedClassNameType*)NativePtr)->injectedSpecializationType = *(::CppSharp::CppParser::AST::QualifiedType*)value->NativePtr; +} + +CppSharp::Parser::AST::Class^ CppSharp::Parser::AST::InjectedClassNameType::Class::get() +{ + return (((::CppSharp::CppParser::AST::InjectedClassNameType*)NativePtr)->_class == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Class((::CppSharp::CppParser::AST::Class*)((::CppSharp::CppParser::AST::InjectedClassNameType*)NativePtr)->_class); +} + +void CppSharp::Parser::AST::InjectedClassNameType::Class::set(CppSharp::Parser::AST::Class^ value) +{ + ((::CppSharp::CppParser::AST::InjectedClassNameType*)NativePtr)->_class = (::CppSharp::CppParser::AST::Class*)value->NativePtr; +} + +CppSharp::Parser::AST::DependentNameType::DependentNameType(::CppSharp::CppParser::AST::DependentNameType* native) + : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)native) +{ +} + +CppSharp::Parser::AST::DependentNameType^ CppSharp::Parser::AST::DependentNameType::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::DependentNameType((::CppSharp::CppParser::AST::DependentNameType*) native.ToPointer()); +} + +CppSharp::Parser::AST::DependentNameType::~DependentNameType() +{ + if (NativePtr) + { + auto __nativePtr = NativePtr; + NativePtr = 0; + delete (::CppSharp::CppParser::AST::DependentNameType*) __nativePtr; + } +} + +CppSharp::Parser::AST::DependentNameType::DependentNameType() + : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::DependentNameType(); +} + +CppSharp::Parser::AST::DependentNameType::DependentNameType(CppSharp::Parser::AST::DependentNameType^ _0) + : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::DependentNameType*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::DependentNameType(__arg0); +} + +CppSharp::Parser::AST::QualifiedType^ CppSharp::Parser::AST::DependentNameType::Qualifier::get() +{ + return (&((::CppSharp::CppParser::AST::DependentNameType*)NativePtr)->qualifier == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::QualifiedType((::CppSharp::CppParser::AST::QualifiedType*)&((::CppSharp::CppParser::AST::DependentNameType*)NativePtr)->qualifier); +} + +void CppSharp::Parser::AST::DependentNameType::Qualifier::set(CppSharp::Parser::AST::QualifiedType^ value) +{ + ((::CppSharp::CppParser::AST::DependentNameType*)NativePtr)->qualifier = *(::CppSharp::CppParser::AST::QualifiedType*)value->NativePtr; +} + +System::String^ CppSharp::Parser::AST::DependentNameType::Identifier::get() +{ + return clix::marshalString(((::CppSharp::CppParser::AST::DependentNameType*)NativePtr)->identifier); +} + +void CppSharp::Parser::AST::DependentNameType::Identifier::set(System::String^ value) +{ + ((::CppSharp::CppParser::AST::DependentNameType*)NativePtr)->identifier = clix::marshalString(value); +} + +CppSharp::Parser::AST::PackExpansionType::PackExpansionType(::CppSharp::CppParser::AST::PackExpansionType* native) + : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)native) +{ +} + +CppSharp::Parser::AST::PackExpansionType^ CppSharp::Parser::AST::PackExpansionType::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::PackExpansionType((::CppSharp::CppParser::AST::PackExpansionType*) native.ToPointer()); +} + +CppSharp::Parser::AST::PackExpansionType::~PackExpansionType() +{ +} + +CppSharp::Parser::AST::PackExpansionType::PackExpansionType() + : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::PackExpansionType(); +} + +CppSharp::Parser::AST::PackExpansionType::PackExpansionType(CppSharp::Parser::AST::PackExpansionType^ _0) + : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::PackExpansionType*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::PackExpansionType(__arg0); +} + +CppSharp::Parser::AST::UnaryTransformType::UnaryTransformType(::CppSharp::CppParser::AST::UnaryTransformType* native) + : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)native) +{ +} + +CppSharp::Parser::AST::UnaryTransformType^ CppSharp::Parser::AST::UnaryTransformType::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::UnaryTransformType((::CppSharp::CppParser::AST::UnaryTransformType*) native.ToPointer()); +} + +CppSharp::Parser::AST::UnaryTransformType::~UnaryTransformType() +{ +} + +CppSharp::Parser::AST::UnaryTransformType::UnaryTransformType() + : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::UnaryTransformType(); +} + +CppSharp::Parser::AST::UnaryTransformType::UnaryTransformType(CppSharp::Parser::AST::UnaryTransformType^ _0) + : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::UnaryTransformType*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::UnaryTransformType(__arg0); +} + +CppSharp::Parser::AST::QualifiedType^ CppSharp::Parser::AST::UnaryTransformType::Desugared::get() +{ + return (&((::CppSharp::CppParser::AST::UnaryTransformType*)NativePtr)->desugared == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::QualifiedType((::CppSharp::CppParser::AST::QualifiedType*)&((::CppSharp::CppParser::AST::UnaryTransformType*)NativePtr)->desugared); +} + +void CppSharp::Parser::AST::UnaryTransformType::Desugared::set(CppSharp::Parser::AST::QualifiedType^ value) +{ + ((::CppSharp::CppParser::AST::UnaryTransformType*)NativePtr)->desugared = *(::CppSharp::CppParser::AST::QualifiedType*)value->NativePtr; +} + +CppSharp::Parser::AST::QualifiedType^ CppSharp::Parser::AST::UnaryTransformType::BaseType::get() +{ + return (&((::CppSharp::CppParser::AST::UnaryTransformType*)NativePtr)->baseType == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::QualifiedType((::CppSharp::CppParser::AST::QualifiedType*)&((::CppSharp::CppParser::AST::UnaryTransformType*)NativePtr)->baseType); +} + +void CppSharp::Parser::AST::UnaryTransformType::BaseType::set(CppSharp::Parser::AST::QualifiedType^ value) +{ + ((::CppSharp::CppParser::AST::UnaryTransformType*)NativePtr)->baseType = *(::CppSharp::CppParser::AST::QualifiedType*)value->NativePtr; +} + +CppSharp::Parser::AST::VectorType::VectorType(::CppSharp::CppParser::AST::VectorType* native) + : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)native) +{ +} + +CppSharp::Parser::AST::VectorType^ CppSharp::Parser::AST::VectorType::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::VectorType((::CppSharp::CppParser::AST::VectorType*) native.ToPointer()); +} + +CppSharp::Parser::AST::VectorType::~VectorType() +{ +} + +CppSharp::Parser::AST::VectorType::VectorType() + : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::VectorType(); +} + +CppSharp::Parser::AST::VectorType::VectorType(CppSharp::Parser::AST::VectorType^ _0) + : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::VectorType*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::VectorType(__arg0); +} + +CppSharp::Parser::AST::QualifiedType^ CppSharp::Parser::AST::VectorType::ElementType::get() +{ + return (&((::CppSharp::CppParser::AST::VectorType*)NativePtr)->elementType == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::QualifiedType((::CppSharp::CppParser::AST::QualifiedType*)&((::CppSharp::CppParser::AST::VectorType*)NativePtr)->elementType); +} + +void CppSharp::Parser::AST::VectorType::ElementType::set(CppSharp::Parser::AST::QualifiedType^ value) +{ + ((::CppSharp::CppParser::AST::VectorType*)NativePtr)->elementType = *(::CppSharp::CppParser::AST::QualifiedType*)value->NativePtr; +} + +unsigned int CppSharp::Parser::AST::VectorType::NumElements::get() +{ + return ((::CppSharp::CppParser::AST::VectorType*)NativePtr)->numElements; +} + +void CppSharp::Parser::AST::VectorType::NumElements::set(unsigned int value) +{ + ((::CppSharp::CppParser::AST::VectorType*)NativePtr)->numElements = value; +} + +CppSharp::Parser::AST::BuiltinType::BuiltinType(::CppSharp::CppParser::AST::BuiltinType* native) + : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)native) +{ +} + +CppSharp::Parser::AST::BuiltinType^ CppSharp::Parser::AST::BuiltinType::__CreateInstance(::System::IntPtr native) +{ + return gcnew ::CppSharp::Parser::AST::BuiltinType((::CppSharp::CppParser::AST::BuiltinType*) native.ToPointer()); +} + +CppSharp::Parser::AST::BuiltinType::~BuiltinType() +{ +} + +CppSharp::Parser::AST::BuiltinType::BuiltinType() + : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)nullptr) +{ + __ownsNativeInstance = true; + NativePtr = new ::CppSharp::CppParser::AST::BuiltinType(); +} + +CppSharp::Parser::AST::BuiltinType::BuiltinType(CppSharp::Parser::AST::BuiltinType^ _0) + : CppSharp::Parser::AST::Type((::CppSharp::CppParser::AST::Type*)nullptr) +{ + __ownsNativeInstance = true; + if (ReferenceEquals(_0, nullptr)) + throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + auto &__arg0 = *(::CppSharp::CppParser::AST::BuiltinType*)_0->NativePtr; + NativePtr = new ::CppSharp::CppParser::AST::BuiltinType(__arg0); +} + +CppSharp::Parser::AST::PrimitiveType CppSharp::Parser::AST::BuiltinType::Type::get() +{ + return (CppSharp::Parser::AST::PrimitiveType)((::CppSharp::CppParser::AST::BuiltinType*)NativePtr)->type; +} + +void CppSharp::Parser::AST::BuiltinType::Type::set(CppSharp::Parser::AST::PrimitiveType value) +{ + ((::CppSharp::CppParser::AST::BuiltinType*)NativePtr)->type = (::CppSharp::CppParser::AST::PrimitiveType)value; +} + diff --git a/src/CppParser/Bindings/CLI/Types.h b/src/CppParser/Bindings/CLI/Types.h new file mode 100644 index 00000000..37b71c8e --- /dev/null +++ b/src/CppParser/Bindings/CLI/Types.h @@ -0,0 +1,820 @@ +// ---------------------------------------------------------------------------- +// +// This is autogenerated code by CppSharp. +// Do not edit this file or all your changes will be lost after re-generation. +// +// ---------------------------------------------------------------------------- +#pragma once + +#include "CppSharp.h" +#include + +namespace CppSharp +{ + namespace Parser + { + namespace AST + { + enum struct CallingConvention; + enum struct ExceptionSpecType; + enum struct PrimitiveType; + enum struct TypeKind; + ref class ArrayType; + ref class AttributedType; + ref class BuiltinType; + ref class Class; + ref class DecayedType; + ref class Declaration; + ref class DependentNameType; + ref class DependentTemplateSpecializationType; + ref class FunctionType; + ref class InjectedClassNameType; + ref class MemberPointerType; + ref class PackExpansionType; + ref class Parameter; + ref class PointerType; + ref class QualifiedType; + ref class TagType; + ref class Template; + ref class TemplateArgument; + ref class TemplateParameterSubstitutionType; + ref class TemplateParameterType; + ref class TemplateSpecializationType; + ref class Type; + ref class TypeQualifiers; + ref class TypeTemplateParameter; + ref class TypedefNameDecl; + ref class TypedefType; + ref class UnaryTransformType; + ref class VectorType; + } + } +} + +namespace CppSharp +{ + namespace Parser + { + namespace AST + { + public enum struct TypeKind + { + Tag = 0, + Array = 1, + Function = 2, + Pointer = 3, + MemberPointer = 4, + Typedef = 5, + Attributed = 6, + Decayed = 7, + TemplateSpecialization = 8, + DependentTemplateSpecialization = 9, + TemplateParameter = 10, + TemplateParameterSubstitution = 11, + InjectedClassName = 12, + DependentName = 13, + PackExpansion = 14, + Builtin = 15, + UnaryTransform = 16, + Vector = 17 + }; + + public enum struct CallingConvention + { + Default = 0, + C = 1, + StdCall = 2, + ThisCall = 3, + FastCall = 4, + Unknown = 5 + }; + + public enum struct PrimitiveType + { + Null = 0, + Void = 1, + Bool = 2, + WideChar = 3, + Char = 4, + SChar = 5, + UChar = 6, + Char16 = 7, + Char32 = 8, + Short = 9, + UShort = 10, + Int = 11, + UInt = 12, + Long = 13, + ULong = 14, + LongLong = 15, + ULongLong = 16, + Int128 = 17, + UInt128 = 18, + Half = 19, + Float = 20, + Double = 21, + LongDouble = 22, + Float128 = 23, + IntPtr = 24 + }; + + public enum struct ExceptionSpecType + { + None = 0, + DynamicNone = 1, + Dynamic = 2, + MSAny = 3, + BasicNoexcept = 4, + DependentNoexcept = 5, + NoexceptFalse = 6, + NoexceptTrue = 7, + Unevaluated = 8, + Uninstantiated = 9, + Unparsed = 10 + }; + + public ref class Type : ICppInstance + { + public: + + property ::CppSharp::CppParser::AST::Type* NativePtr; + property System::IntPtr __Instance + { + virtual System::IntPtr get(); + virtual void set(System::IntPtr instance); + } + + Type(::CppSharp::CppParser::AST::Type* native); + static Type^ __CreateInstance(::System::IntPtr native); + Type(CppSharp::Parser::AST::TypeKind kind); + + Type(CppSharp::Parser::AST::Type^ _0); + + ~Type(); + + property CppSharp::Parser::AST::TypeKind Kind + { + CppSharp::Parser::AST::TypeKind get(); + void set(CppSharp::Parser::AST::TypeKind); + } + + property bool IsDependent + { + bool get(); + void set(bool); + } + + static operator CppSharp::Parser::AST::Type^(CppSharp::Parser::AST::TypeKind kind); + + protected: + bool __ownsNativeInstance; + }; + + public ref class TypeQualifiers : ICppInstance + { + public: + + property ::CppSharp::CppParser::AST::TypeQualifiers* NativePtr; + property System::IntPtr __Instance + { + virtual System::IntPtr get(); + virtual void set(System::IntPtr instance); + } + + TypeQualifiers(::CppSharp::CppParser::AST::TypeQualifiers* native); + static TypeQualifiers^ __CreateInstance(::System::IntPtr native); + TypeQualifiers(CppSharp::Parser::AST::TypeQualifiers^ _0); + + TypeQualifiers(); + + ~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); + } + + protected: + bool __ownsNativeInstance; + }; + + public ref class QualifiedType : ICppInstance + { + public: + + property ::CppSharp::CppParser::AST::QualifiedType* NativePtr; + property System::IntPtr __Instance + { + virtual System::IntPtr get(); + virtual void set(System::IntPtr instance); + } + + QualifiedType(::CppSharp::CppParser::AST::QualifiedType* native); + static QualifiedType^ __CreateInstance(::System::IntPtr native); + QualifiedType(); + + QualifiedType(CppSharp::Parser::AST::QualifiedType^ _0); + + ~QualifiedType(); + + property CppSharp::Parser::AST::Type^ Type + { + CppSharp::Parser::AST::Type^ get(); + void set(CppSharp::Parser::AST::Type^); + } + + property CppSharp::Parser::AST::TypeQualifiers^ Qualifiers + { + CppSharp::Parser::AST::TypeQualifiers^ get(); + void set(CppSharp::Parser::AST::TypeQualifiers^); + } + + protected: + bool __ownsNativeInstance; + }; + + public ref class TagType : CppSharp::Parser::AST::Type + { + public: + + TagType(::CppSharp::CppParser::AST::TagType* native); + static TagType^ __CreateInstance(::System::IntPtr native); + TagType(); + + TagType(CppSharp::Parser::AST::TagType^ _0); + + ~TagType(); + + property CppSharp::Parser::AST::Declaration^ Declaration + { + CppSharp::Parser::AST::Declaration^ get(); + void set(CppSharp::Parser::AST::Declaration^); + } + }; + + public ref class ArrayType : CppSharp::Parser::AST::Type + { + public: + + enum struct ArraySize + { + Constant = 0, + Variable = 1, + Dependent = 2, + Incomplete = 3 + }; + + ArrayType(::CppSharp::CppParser::AST::ArrayType* native); + static ArrayType^ __CreateInstance(::System::IntPtr native); + ArrayType(); + + ArrayType(CppSharp::Parser::AST::ArrayType^ _0); + + ~ArrayType(); + + property CppSharp::Parser::AST::QualifiedType^ QualifiedType + { + CppSharp::Parser::AST::QualifiedType^ get(); + void set(CppSharp::Parser::AST::QualifiedType^); + } + + property CppSharp::Parser::AST::ArrayType::ArraySize SizeType + { + CppSharp::Parser::AST::ArrayType::ArraySize get(); + void set(CppSharp::Parser::AST::ArrayType::ArraySize); + } + + property long Size + { + long get(); + void set(long); + } + + property long ElementSize + { + long get(); + void set(long); + } + }; + + public ref class FunctionType : CppSharp::Parser::AST::Type + { + public: + + FunctionType(::CppSharp::CppParser::AST::FunctionType* native); + static FunctionType^ __CreateInstance(::System::IntPtr native); + FunctionType(); + + FunctionType(CppSharp::Parser::AST::FunctionType^ _0); + + ~FunctionType(); + + property CppSharp::Parser::AST::QualifiedType^ ReturnType + { + CppSharp::Parser::AST::QualifiedType^ get(); + void set(CppSharp::Parser::AST::QualifiedType^); + } + + property CppSharp::Parser::AST::CallingConvention CallingConvention + { + CppSharp::Parser::AST::CallingConvention get(); + void set(CppSharp::Parser::AST::CallingConvention); + } + + property CppSharp::Parser::AST::ExceptionSpecType ExceptionSpecType + { + CppSharp::Parser::AST::ExceptionSpecType get(); + void set(CppSharp::Parser::AST::ExceptionSpecType); + } + + property System::Collections::Generic::List^ Parameters + { + System::Collections::Generic::List^ get(); + void set(System::Collections::Generic::List^); + } + + property unsigned int ParametersCount + { + unsigned int get(); + } + + CppSharp::Parser::AST::Parameter^ GetParameters(unsigned int i); + + void AddParameters(CppSharp::Parser::AST::Parameter^ s); + + void ClearParameters(); + }; + + public ref class PointerType : CppSharp::Parser::AST::Type + { + public: + + enum struct TypeModifier + { + Value = 0, + Pointer = 1, + LVReference = 2, + RVReference = 3 + }; + + PointerType(::CppSharp::CppParser::AST::PointerType* native); + static PointerType^ __CreateInstance(::System::IntPtr native); + PointerType(); + + PointerType(CppSharp::Parser::AST::PointerType^ _0); + + ~PointerType(); + + property CppSharp::Parser::AST::QualifiedType^ QualifiedPointee + { + CppSharp::Parser::AST::QualifiedType^ get(); + void set(CppSharp::Parser::AST::QualifiedType^); + } + + property CppSharp::Parser::AST::PointerType::TypeModifier Modifier + { + CppSharp::Parser::AST::PointerType::TypeModifier get(); + void set(CppSharp::Parser::AST::PointerType::TypeModifier); + } + }; + + public ref class MemberPointerType : CppSharp::Parser::AST::Type + { + public: + + MemberPointerType(::CppSharp::CppParser::AST::MemberPointerType* native); + static MemberPointerType^ __CreateInstance(::System::IntPtr native); + MemberPointerType(); + + MemberPointerType(CppSharp::Parser::AST::MemberPointerType^ _0); + + ~MemberPointerType(); + + property CppSharp::Parser::AST::QualifiedType^ Pointee + { + CppSharp::Parser::AST::QualifiedType^ get(); + void set(CppSharp::Parser::AST::QualifiedType^); + } + }; + + public ref class TypedefType : CppSharp::Parser::AST::Type + { + public: + + TypedefType(::CppSharp::CppParser::AST::TypedefType* native); + static TypedefType^ __CreateInstance(::System::IntPtr native); + TypedefType(); + + TypedefType(CppSharp::Parser::AST::TypedefType^ _0); + + ~TypedefType(); + + property CppSharp::Parser::AST::TypedefNameDecl^ Declaration + { + CppSharp::Parser::AST::TypedefNameDecl^ get(); + void set(CppSharp::Parser::AST::TypedefNameDecl^); + } + }; + + public ref class AttributedType : CppSharp::Parser::AST::Type + { + public: + + AttributedType(::CppSharp::CppParser::AST::AttributedType* native); + static AttributedType^ __CreateInstance(::System::IntPtr native); + AttributedType(); + + AttributedType(CppSharp::Parser::AST::AttributedType^ _0); + + ~AttributedType(); + + property CppSharp::Parser::AST::QualifiedType^ Modified + { + CppSharp::Parser::AST::QualifiedType^ get(); + void set(CppSharp::Parser::AST::QualifiedType^); + } + + property CppSharp::Parser::AST::QualifiedType^ Equivalent + { + CppSharp::Parser::AST::QualifiedType^ get(); + void set(CppSharp::Parser::AST::QualifiedType^); + } + }; + + public ref class DecayedType : CppSharp::Parser::AST::Type + { + public: + + DecayedType(::CppSharp::CppParser::AST::DecayedType* native); + static DecayedType^ __CreateInstance(::System::IntPtr native); + DecayedType(); + + DecayedType(CppSharp::Parser::AST::DecayedType^ _0); + + ~DecayedType(); + + property CppSharp::Parser::AST::QualifiedType^ Decayed + { + CppSharp::Parser::AST::QualifiedType^ get(); + void set(CppSharp::Parser::AST::QualifiedType^); + } + + property CppSharp::Parser::AST::QualifiedType^ Original + { + CppSharp::Parser::AST::QualifiedType^ get(); + void set(CppSharp::Parser::AST::QualifiedType^); + } + + property CppSharp::Parser::AST::QualifiedType^ Pointee + { + CppSharp::Parser::AST::QualifiedType^ get(); + void set(CppSharp::Parser::AST::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::AST::TemplateArgument* NativePtr; + property System::IntPtr __Instance + { + virtual System::IntPtr get(); + virtual void set(System::IntPtr instance); + } + + TemplateArgument(::CppSharp::CppParser::AST::TemplateArgument* native); + static TemplateArgument^ __CreateInstance(::System::IntPtr native); + TemplateArgument(); + + TemplateArgument(CppSharp::Parser::AST::TemplateArgument^ _0); + + ~TemplateArgument(); + + property CppSharp::Parser::AST::TemplateArgument::ArgumentKind Kind + { + CppSharp::Parser::AST::TemplateArgument::ArgumentKind get(); + void set(CppSharp::Parser::AST::TemplateArgument::ArgumentKind); + } + + property CppSharp::Parser::AST::QualifiedType^ Type + { + CppSharp::Parser::AST::QualifiedType^ get(); + void set(CppSharp::Parser::AST::QualifiedType^); + } + + property CppSharp::Parser::AST::Declaration^ Declaration + { + CppSharp::Parser::AST::Declaration^ get(); + void set(CppSharp::Parser::AST::Declaration^); + } + + property long Integral + { + long get(); + void set(long); + } + + protected: + bool __ownsNativeInstance; + }; + + public ref class TemplateSpecializationType : CppSharp::Parser::AST::Type + { + public: + + TemplateSpecializationType(::CppSharp::CppParser::AST::TemplateSpecializationType* native); + static TemplateSpecializationType^ __CreateInstance(::System::IntPtr native); + TemplateSpecializationType(); + + TemplateSpecializationType(CppSharp::Parser::AST::TemplateSpecializationType^ _0); + + ~TemplateSpecializationType(); + + property System::Collections::Generic::List^ Arguments + { + System::Collections::Generic::List^ get(); + void set(System::Collections::Generic::List^); + } + + property CppSharp::Parser::AST::Template^ Template + { + CppSharp::Parser::AST::Template^ get(); + void set(CppSharp::Parser::AST::Template^); + } + + property CppSharp::Parser::AST::QualifiedType^ Desugared + { + CppSharp::Parser::AST::QualifiedType^ get(); + void set(CppSharp::Parser::AST::QualifiedType^); + } + + property unsigned int ArgumentsCount + { + unsigned int get(); + } + + CppSharp::Parser::AST::TemplateArgument^ GetArguments(unsigned int i); + + void AddArguments(CppSharp::Parser::AST::TemplateArgument^ s); + + void ClearArguments(); + }; + + public ref class DependentTemplateSpecializationType : CppSharp::Parser::AST::Type + { + public: + + DependentTemplateSpecializationType(::CppSharp::CppParser::AST::DependentTemplateSpecializationType* native); + static DependentTemplateSpecializationType^ __CreateInstance(::System::IntPtr native); + DependentTemplateSpecializationType(); + + DependentTemplateSpecializationType(CppSharp::Parser::AST::DependentTemplateSpecializationType^ _0); + + ~DependentTemplateSpecializationType(); + + property System::Collections::Generic::List^ Arguments + { + System::Collections::Generic::List^ get(); + void set(System::Collections::Generic::List^); + } + + property CppSharp::Parser::AST::QualifiedType^ Desugared + { + CppSharp::Parser::AST::QualifiedType^ get(); + void set(CppSharp::Parser::AST::QualifiedType^); + } + + property unsigned int ArgumentsCount + { + unsigned int get(); + } + + CppSharp::Parser::AST::TemplateArgument^ GetArguments(unsigned int i); + + void AddArguments(CppSharp::Parser::AST::TemplateArgument^ s); + + void ClearArguments(); + }; + + public ref class TemplateParameterType : CppSharp::Parser::AST::Type + { + public: + + TemplateParameterType(::CppSharp::CppParser::AST::TemplateParameterType* native); + static TemplateParameterType^ __CreateInstance(::System::IntPtr native); + TemplateParameterType(); + + TemplateParameterType(CppSharp::Parser::AST::TemplateParameterType^ _0); + + ~TemplateParameterType(); + + property CppSharp::Parser::AST::TypeTemplateParameter^ Parameter + { + CppSharp::Parser::AST::TypeTemplateParameter^ get(); + void set(CppSharp::Parser::AST::TypeTemplateParameter^); + } + + property unsigned int Depth + { + unsigned int get(); + void set(unsigned int); + } + + property unsigned int Index + { + unsigned int get(); + void set(unsigned int); + } + + property bool IsParameterPack + { + bool get(); + void set(bool); + } + }; + + public ref class TemplateParameterSubstitutionType : CppSharp::Parser::AST::Type + { + public: + + TemplateParameterSubstitutionType(::CppSharp::CppParser::AST::TemplateParameterSubstitutionType* native); + static TemplateParameterSubstitutionType^ __CreateInstance(::System::IntPtr native); + TemplateParameterSubstitutionType(); + + TemplateParameterSubstitutionType(CppSharp::Parser::AST::TemplateParameterSubstitutionType^ _0); + + ~TemplateParameterSubstitutionType(); + + property CppSharp::Parser::AST::QualifiedType^ Replacement + { + CppSharp::Parser::AST::QualifiedType^ get(); + void set(CppSharp::Parser::AST::QualifiedType^); + } + + property CppSharp::Parser::AST::TemplateParameterType^ ReplacedParameter + { + CppSharp::Parser::AST::TemplateParameterType^ get(); + void set(CppSharp::Parser::AST::TemplateParameterType^); + } + }; + + public ref class InjectedClassNameType : CppSharp::Parser::AST::Type + { + public: + + InjectedClassNameType(::CppSharp::CppParser::AST::InjectedClassNameType* native); + static InjectedClassNameType^ __CreateInstance(::System::IntPtr native); + InjectedClassNameType(); + + InjectedClassNameType(CppSharp::Parser::AST::InjectedClassNameType^ _0); + + ~InjectedClassNameType(); + + property CppSharp::Parser::AST::QualifiedType^ InjectedSpecializationType + { + CppSharp::Parser::AST::QualifiedType^ get(); + void set(CppSharp::Parser::AST::QualifiedType^); + } + + property CppSharp::Parser::AST::Class^ Class + { + CppSharp::Parser::AST::Class^ get(); + void set(CppSharp::Parser::AST::Class^); + } + }; + + public ref class DependentNameType : CppSharp::Parser::AST::Type + { + public: + + DependentNameType(::CppSharp::CppParser::AST::DependentNameType* native); + static DependentNameType^ __CreateInstance(::System::IntPtr native); + DependentNameType(); + + DependentNameType(CppSharp::Parser::AST::DependentNameType^ _0); + + ~DependentNameType(); + + property CppSharp::Parser::AST::QualifiedType^ Qualifier + { + CppSharp::Parser::AST::QualifiedType^ get(); + void set(CppSharp::Parser::AST::QualifiedType^); + } + + property System::String^ Identifier + { + System::String^ get(); + void set(System::String^); + } + }; + + public ref class PackExpansionType : CppSharp::Parser::AST::Type + { + public: + + PackExpansionType(::CppSharp::CppParser::AST::PackExpansionType* native); + static PackExpansionType^ __CreateInstance(::System::IntPtr native); + PackExpansionType(); + + PackExpansionType(CppSharp::Parser::AST::PackExpansionType^ _0); + + ~PackExpansionType(); + }; + + public ref class UnaryTransformType : CppSharp::Parser::AST::Type + { + public: + + UnaryTransformType(::CppSharp::CppParser::AST::UnaryTransformType* native); + static UnaryTransformType^ __CreateInstance(::System::IntPtr native); + UnaryTransformType(); + + UnaryTransformType(CppSharp::Parser::AST::UnaryTransformType^ _0); + + ~UnaryTransformType(); + + property CppSharp::Parser::AST::QualifiedType^ Desugared + { + CppSharp::Parser::AST::QualifiedType^ get(); + void set(CppSharp::Parser::AST::QualifiedType^); + } + + property CppSharp::Parser::AST::QualifiedType^ BaseType + { + CppSharp::Parser::AST::QualifiedType^ get(); + void set(CppSharp::Parser::AST::QualifiedType^); + } + }; + + public ref class VectorType : CppSharp::Parser::AST::Type + { + public: + + VectorType(::CppSharp::CppParser::AST::VectorType* native); + static VectorType^ __CreateInstance(::System::IntPtr native); + VectorType(); + + VectorType(CppSharp::Parser::AST::VectorType^ _0); + + ~VectorType(); + + property CppSharp::Parser::AST::QualifiedType^ ElementType + { + CppSharp::Parser::AST::QualifiedType^ get(); + void set(CppSharp::Parser::AST::QualifiedType^); + } + + property unsigned int NumElements + { + unsigned int get(); + void set(unsigned int); + } + }; + + public ref class BuiltinType : CppSharp::Parser::AST::Type + { + public: + + BuiltinType(::CppSharp::CppParser::AST::BuiltinType* native); + static BuiltinType^ __CreateInstance(::System::IntPtr native); + BuiltinType(); + + BuiltinType(CppSharp::Parser::AST::BuiltinType^ _0); + + ~BuiltinType(); + + property CppSharp::Parser::AST::PrimitiveType Type + { + CppSharp::Parser::AST::PrimitiveType get(); + void set(CppSharp::Parser::AST::PrimitiveType); + } + }; + } + } +} diff --git a/src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/CppSharp.CppParser.cs b/src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/CppSharp.CppParser.cs index 410249bd..f6073f35 100644 --- a/src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/CppSharp.CppParser.cs +++ b/src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/CppSharp.CppParser.cs @@ -17,79 +17,6 @@ namespace CppSharp { namespace AST { - public enum TypeKind - { - Tag = 0, - Array = 1, - Function = 2, - Pointer = 3, - MemberPointer = 4, - Typedef = 5, - Attributed = 6, - Decayed = 7, - TemplateSpecialization = 8, - DependentTemplateSpecialization = 9, - TemplateParameter = 10, - TemplateParameterSubstitution = 11, - InjectedClassName = 12, - DependentName = 13, - PackExpansion = 14, - Builtin = 15, - UnaryTransform = 16, - Vector = 17 - } - - public enum DeclarationKind - { - DeclarationContext = 0, - Typedef = 1, - TypeAlias = 2, - Parameter = 3, - Function = 4, - Method = 5, - Enumeration = 6, - EnumerationItem = 7, - Variable = 8, - Field = 9, - AccessSpecifier = 10, - Class = 11, - Template = 12, - TypeAliasTemplate = 13, - ClassTemplate = 14, - ClassTemplateSpecialization = 15, - ClassTemplatePartialSpecialization = 16, - FunctionTemplate = 17, - Namespace = 18, - PreprocessedEntity = 19, - MacroDefinition = 20, - MacroExpansion = 21, - TranslationUnit = 22, - Friend = 23, - TemplateTemplateParm = 24, - TemplateTypeParm = 25, - NonTypeTemplateParm = 26, - VarTemplate = 27, - VarTemplateSpecialization = 28, - VarTemplatePartialSpecialization = 29 - } - - public enum AccessSpecifier - { - Private = 0, - Protected = 1, - Public = 2 - } - - public enum MacroLocation - { - Unknown = 0, - ClassHead = 1, - ClassBody = 2, - FunctionHead = 3, - FunctionParameters = 4, - FunctionBody = 5 - } - public enum RawCommentKind { Invalid = 0, @@ -121,176 +48,6 @@ namespace CppSharp VerbatimBlockLineComment = 14 } - public enum FriendKind - { - None = 0, - Declared = 1, - Undeclared = 2 - } - - public enum CXXOperatorKind - { - None = 0, - New = 1, - Delete = 2, - ArrayNew = 3, - ArrayDelete = 4, - Plus = 5, - Minus = 6, - Star = 7, - Slash = 8, - Percent = 9, - Caret = 10, - Amp = 11, - Pipe = 12, - Tilde = 13, - Exclaim = 14, - Equal = 15, - Less = 16, - Greater = 17, - PlusEqual = 18, - MinusEqual = 19, - StarEqual = 20, - SlashEqual = 21, - PercentEqual = 22, - CaretEqual = 23, - AmpEqual = 24, - PipeEqual = 25, - LessLess = 26, - GreaterGreater = 27, - LessLessEqual = 28, - GreaterGreaterEqual = 29, - EqualEqual = 30, - ExclaimEqual = 31, - LessEqual = 32, - GreaterEqual = 33, - Spaceship = 34, - AmpAmp = 35, - PipePipe = 36, - PlusPlus = 37, - MinusMinus = 38, - Comma = 39, - ArrowStar = 40, - Arrow = 41, - Call = 42, - Subscript = 43, - Conditional = 44, - Coawait = 45 - } - - public enum CallingConvention - { - Default = 0, - C = 1, - StdCall = 2, - ThisCall = 3, - FastCall = 4, - Unknown = 5 - } - - public enum StatementClass - { - Any = 0, - BinaryOperator = 1, - CallExprClass = 2, - DeclRefExprClass = 3, - CXXConstructExprClass = 4, - CXXOperatorCallExpr = 5, - ImplicitCastExpr = 6, - ExplicitCastExpr = 7 - } - - public enum TemplateSpecializationKind - { - Undeclared = 0, - ImplicitInstantiation = 1, - ExplicitSpecialization = 2, - ExplicitInstantiationDeclaration = 3, - ExplicitInstantiationDefinition = 4 - } - - public enum CXXMethodKind - { - Normal = 0, - Constructor = 1, - Destructor = 2, - Conversion = 3, - Operator = 4, - UsingDirective = 5 - } - - public enum RefQualifierKind - { - None = 0, - LValue = 1, - RValue = 2 - } - - public enum CppAbi - { - Itanium = 0, - Microsoft = 1, - ARM = 2, - iOS = 3, - iOS64 = 4 - } - - public enum VTableComponentKind - { - VCallOffset = 0, - VBaseOffset = 1, - OffsetToTop = 2, - RTTI = 3, - FunctionPointer = 4, - CompleteDtorPointer = 5, - DeletingDtorPointer = 6, - UnusedFunctionPointer = 7 - } - - public enum PrimitiveType - { - Null = 0, - Void = 1, - Bool = 2, - WideChar = 3, - Char = 4, - SChar = 5, - UChar = 6, - Char16 = 7, - Char32 = 8, - Short = 9, - UShort = 10, - Int = 11, - UInt = 12, - Long = 13, - ULong = 14, - LongLong = 15, - ULongLong = 16, - Int128 = 17, - UInt128 = 18, - Half = 19, - Float = 20, - Double = 21, - LongDouble = 22, - Float128 = 23, - IntPtr = 24 - } - - public enum ExceptionSpecType - { - None = 0, - DynamicNone = 1, - Dynamic = 2, - MSAny = 3, - BasicNoexcept = 4, - DependentNoexcept = 5, - NoexceptFalse = 6, - NoexceptTrue = 7, - Unevaluated = 8, - Uninstantiated = 9, - Unparsed = 10 - } - public enum ArchType { UnknownArch = 0, @@ -298,78 +55,129 @@ namespace CppSharp X86_64 = 2 } - public unsafe partial class Type : IDisposable + public unsafe partial class NativeLibrary : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C fileName; - [FieldOffset(4)] - internal byte isDependent; + [FieldOffset(12)] + internal global::CppSharp.Parser.AST.ArchType archType; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST4TypeC2ENS1_8TypeKindE")] - internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.TypeKind kind); + [FieldOffset(16)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S_allocator__S0_ Symbols; + + [FieldOffset(28)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S_allocator__S0_ Dependencies; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST4TypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibraryC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibraryC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibraryD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary10getSymbolsEj")] + internal static extern global::System.IntPtr GetSymbols(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary10addSymbolsEPKc")] + internal static extern void AddSymbols(global::System.IntPtr __instance, [MarshalAs(UnmanagedType.LPStr)] string s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary12clearSymbolsEv")] + internal static extern void ClearSymbols(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary15getDependenciesEj")] + internal static extern global::System.IntPtr GetDependencies(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary15addDependenciesEPKc")] + internal static extern void AddDependencies(global::System.IntPtr __instance, [MarshalAs(UnmanagedType.LPStr)] string s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary17clearDependenciesEv")] + internal static extern void ClearDependencies(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary15getSymbolsCountEv")] + internal static extern uint GetSymbolsCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary20getDependenciesCountEv")] + internal static extern uint GetDependenciesCount(global::System.IntPtr __instance); } public global::System.IntPtr __Instance { get; protected set; } protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); protected internal void*[] __OriginalVTables; protected bool __ownsNativeInstance; - internal static global::CppSharp.Parser.AST.Type __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.NativeLibrary __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Type(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.NativeLibrary(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Type __CreateInstance(global::CppSharp.Parser.AST.Type.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.NativeLibrary __CreateInstance(global::CppSharp.Parser.AST.NativeLibrary.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Type(native, skipVTables); + return new global::CppSharp.Parser.AST.NativeLibrary(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Type.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.NativeLibrary.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Type.__Internal)); - global::CppSharp.Parser.AST.Type.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); + global::CppSharp.Parser.AST.NativeLibrary.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Type(global::CppSharp.Parser.AST.Type.__Internal native, bool skipVTables = false) + private NativeLibrary(global::CppSharp.Parser.AST.NativeLibrary.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Type(void* native, bool skipVTables = false) + protected NativeLibrary(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public Type(global::CppSharp.Parser.AST.TypeKind kind) + public NativeLibrary() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Type.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), kind); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public Type(global::CppSharp.Parser.AST.Type _0) + public NativeLibrary(global::CppSharp.Parser.AST.NativeLibrary _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Type.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -387,117 +195,167 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Type __dummy; + global::CppSharp.Parser.AST.NativeLibrary __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - public static implicit operator global::CppSharp.Parser.AST.Type(global::CppSharp.Parser.AST.TypeKind kind) + public string GetSymbols(uint i) { - return new global::CppSharp.Parser.AST.Type(kind); + var __ret = __Internal.GetSymbols((__Instance + __PointerAdjustment), i); + return Marshal.PtrToStringAnsi(__ret); } - public global::CppSharp.Parser.AST.TypeKind Kind + public void AddSymbols(string s) + { + __Internal.AddSymbols((__Instance + __PointerAdjustment), s); + } + + public void ClearSymbols() + { + __Internal.ClearSymbols((__Instance + __PointerAdjustment)); + } + + public string GetDependencies(uint i) + { + var __ret = __Internal.GetDependencies((__Instance + __PointerAdjustment), i); + return Marshal.PtrToStringAnsi(__ret); + } + + public void AddDependencies(string s) + { + __Internal.AddDependencies((__Instance + __PointerAdjustment), s); + } + + public void ClearDependencies() + { + __Internal.ClearDependencies((__Instance + __PointerAdjustment)); + } + + public string FileName { get { - return ((global::CppSharp.Parser.AST.Type.__Internal*) __Instance)->kind; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.NativeLibrary.__Internal*) __Instance)->fileName)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.Type.__Internal*)__Instance)->kind = value; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.NativeLibrary.__Internal*)__Instance)->fileName), value); } } - public bool IsDependent + public global::CppSharp.Parser.AST.ArchType ArchType { get { - return ((global::CppSharp.Parser.AST.Type.__Internal*) __Instance)->isDependent != 0; + return ((global::CppSharp.Parser.AST.NativeLibrary.__Internal*) __Instance)->archType; } set { - ((global::CppSharp.Parser.AST.Type.__Internal*)__Instance)->isDependent = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.NativeLibrary.__Internal*)__Instance)->archType = value; + } + } + + public uint SymbolsCount + { + get + { + var __ret = __Internal.GetSymbolsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public uint DependenciesCount + { + get + { + var __ret = __Internal.GetDependenciesCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class TypeQualifiers : IDisposable + public unsafe partial class Comment : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 3)] + [StructLayout(LayoutKind.Explicit, Size = 4)] public partial struct __Internal { [FieldOffset(0)] - internal byte isConst; - - [FieldOffset(1)] - internal byte isVolatile; + internal global::CppSharp.Parser.AST.CommentKind kind; - [FieldOffset(2)] - internal byte isRestrict; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST7CommentC2ENS1_11CommentKindE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.CommentKind kind); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14TypeQualifiersC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST7CommentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); } public global::System.IntPtr __Instance { get; protected set; } protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); protected internal void*[] __OriginalVTables; protected bool __ownsNativeInstance; - internal static global::CppSharp.Parser.AST.TypeQualifiers __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Comment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypeQualifiers(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Comment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TypeQualifiers __CreateInstance(global::CppSharp.Parser.AST.TypeQualifiers.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Comment __CreateInstance(global::CppSharp.Parser.AST.Comment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypeQualifiers(native, skipVTables); + return new global::CppSharp.Parser.AST.Comment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypeQualifiers.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Comment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeQualifiers.__Internal)); - *(global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) ret = native; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); + *(global::CppSharp.Parser.AST.Comment.__Internal*) ret = native; return ret.ToPointer(); } - private TypeQualifiers(global::CppSharp.Parser.AST.TypeQualifiers.__Internal native, bool skipVTables = false) + private Comment(global::CppSharp.Parser.AST.Comment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TypeQualifiers(void* native, bool skipVTables = false) + protected Comment(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public TypeQualifiers(global::CppSharp.Parser.AST.TypeQualifiers _0) + public Comment(global::CppSharp.Parser.AST.CommentKind kind) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeQualifiers.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) _0.__Instance); + __Internal.ctor((__Instance + __PointerAdjustment), kind); } - public TypeQualifiers() + public Comment(global::CppSharp.Parser.AST.Comment _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeQualifiers.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.Comment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.Comment.__Internal*) _0.__Instance); } public void Dispose() @@ -509,228 +367,194 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.TypeQualifiers __dummy; + global::CppSharp.Parser.AST.Comment __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - public bool IsConst - { - get - { - return ((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) __Instance)->isConst != 0; - } - - set - { - ((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*)__Instance)->isConst = (byte) (value ? 1 : 0); - } - } - - public bool IsVolatile + public static implicit operator global::CppSharp.Parser.AST.Comment(global::CppSharp.Parser.AST.CommentKind kind) { - get - { - return ((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) __Instance)->isVolatile != 0; - } - - set - { - ((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*)__Instance)->isVolatile = (byte) (value ? 1 : 0); - } + return new global::CppSharp.Parser.AST.Comment(kind); } - public bool IsRestrict + public global::CppSharp.Parser.AST.CommentKind Kind { get { - return ((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) __Instance)->isRestrict != 0; + return ((global::CppSharp.Parser.AST.Comment.__Internal*) __Instance)->kind; } set { - ((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*)__Instance)->isRestrict = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Comment.__Internal*)__Instance)->kind = value; } } } - public unsafe partial class QualifiedType : IDisposable + public unsafe partial class BlockContentComment : global::CppSharp.Parser.AST.Comment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 8)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 4)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::System.IntPtr type; - - [FieldOffset(4)] - internal global::CppSharp.Parser.AST.TypeQualifiers.__Internal qualifiers; + internal global::CppSharp.Parser.AST.CommentKind kind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13QualifiedTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockContentCommentC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13QualifiedTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockContentCommentC2ENS1_11CommentKindE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.CommentKind Kind); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockContentCommentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); } - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.QualifiedType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.BlockContentComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.QualifiedType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.BlockContentComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.QualifiedType __CreateInstance(global::CppSharp.Parser.AST.QualifiedType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.BlockContentComment __CreateInstance(global::CppSharp.Parser.AST.BlockContentComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.QualifiedType(native, skipVTables); + return new global::CppSharp.Parser.AST.BlockContentComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.QualifiedType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.BlockContentComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.QualifiedType.__Internal)); - *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) ret = native; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); + *(global::CppSharp.Parser.AST.BlockContentComment.__Internal*) ret = native; return ret.ToPointer(); } - private QualifiedType(global::CppSharp.Parser.AST.QualifiedType.__Internal native, bool skipVTables = false) + private BlockContentComment(global::CppSharp.Parser.AST.BlockContentComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected QualifiedType(void* native, bool skipVTables = false) + protected BlockContentComment(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public QualifiedType() + public BlockContentComment() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.QualifiedType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public QualifiedType(global::CppSharp.Parser.AST.QualifiedType _0) + public BlockContentComment(global::CppSharp.Parser.AST.CommentKind Kind) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.QualifiedType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.QualifiedType.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.QualifiedType.__Internal*) _0.__Instance); - } - - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.QualifiedType __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + __Internal.ctor((__Instance + __PointerAdjustment), Kind); } - public global::CppSharp.Parser.AST.Type Type + public BlockContentComment(global::CppSharp.Parser.AST.BlockContentComment _0) + : this((void*) null) { - get - { - global::CppSharp.Parser.AST.Type __result0; - if (((global::CppSharp.Parser.AST.QualifiedType.__Internal*) __Instance)->type == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.QualifiedType.__Internal*) __Instance)->type)) - __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((global::CppSharp.Parser.AST.QualifiedType.__Internal*) __Instance)->type]; - else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((global::CppSharp.Parser.AST.QualifiedType.__Internal*) __Instance)->type); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.QualifiedType.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.BlockContentComment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BlockContentComment.__Internal*) _0.__Instance); } - public global::CppSharp.Parser.AST.TypeQualifiers Qualifiers + public static implicit operator global::CppSharp.Parser.AST.BlockContentComment(global::CppSharp.Parser.AST.CommentKind Kind) { - get - { - return global::CppSharp.Parser.AST.TypeQualifiers.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.QualifiedType.__Internal*) __Instance)->qualifiers)); - } - - set - { - ((global::CppSharp.Parser.AST.QualifiedType.__Internal*)__Instance)->qualifiers = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.TypeQualifiers.__Internal() : *(global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) value.__Instance; - } + return new global::CppSharp.Parser.AST.BlockContentComment(Kind); } } - public unsafe partial class TagType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class FullComment : global::CppSharp.Parser.AST.Comment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 12)] + [StructLayout(LayoutKind.Explicit, Size = 16)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(4)] - internal byte isDependent; - - [FieldOffset(8)] - internal global::System.IntPtr declaration; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BlockContentComment___N_std_N___1_S_allocator__S0_ Blocks; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST7TagTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11FullCommentC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST7TagTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST11FullCommentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11FullCommentD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11FullComment9getBlocksEj")] + internal static extern global::System.IntPtr GetBlocks(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11FullComment9addBlocksERPNS1_19BlockContentCommentE")] + internal static extern void AddBlocks(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11FullComment11clearBlocksEv")] + internal static extern void ClearBlocks(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11FullComment14getBlocksCountEv")] + internal static extern uint GetBlocksCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.TagType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.FullComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TagType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.FullComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TagType __CreateInstance(global::CppSharp.Parser.AST.TagType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.FullComment __CreateInstance(global::CppSharp.Parser.AST.FullComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TagType(native, skipVTables); + return new global::CppSharp.Parser.AST.FullComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TagType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.FullComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); - global::CppSharp.Parser.AST.TagType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); + global::CppSharp.Parser.AST.FullComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TagType(global::CppSharp.Parser.AST.TagType.__Internal native, bool skipVTables = false) + private FullComment(global::CppSharp.Parser.AST.FullComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TagType(void* native, bool skipVTables = false) + protected FullComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -739,19 +563,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TagType() + public FullComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TagType(global::CppSharp.Parser.AST.TagType _0) + public FullComment(global::CppSharp.Parser.AST.FullComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -760,92 +584,105 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.Declaration Declaration + public override void Dispose(bool disposing) { - get - { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration); - return __result0; - } + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Comment __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } - set + public global::CppSharp.Parser.AST.BlockContentComment GetBlocks(uint i) + { + var __ret = __Internal.GetBlocks((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.BlockContentComment __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.BlockContentComment.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.BlockContentComment) global::CppSharp.Parser.AST.BlockContentComment.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.BlockContentComment.__CreateInstance(__ret); + return __result0; + } + + public void AddBlocks(global::CppSharp.Parser.AST.BlockContentComment s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddBlocks((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearBlocks() + { + __Internal.ClearBlocks((__Instance + __PointerAdjustment)); + } + + public uint BlocksCount + { + get { - ((global::CppSharp.Parser.AST.TagType.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + var __ret = __Internal.GetBlocksCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class ArrayType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class InlineContentComment : global::CppSharp.Parser.AST.Comment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 28)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(4)] - internal byte isDependent; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - - [FieldOffset(16)] - internal global::CppSharp.Parser.AST.ArrayType.ArraySize sizeType; - - [FieldOffset(20)] - internal int size; - - [FieldOffset(24)] - internal int elementSize; + internal byte hasTrailingNewline; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9ArrayTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST20InlineContentCommentC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9ArrayTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST20InlineContentCommentC2ENS1_11CommentKindE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.CommentKind Kind); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20InlineContentCommentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); } - public enum ArraySize + internal static new global::CppSharp.Parser.AST.InlineContentComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - Constant = 0, - Variable = 1, - Dependent = 2, - Incomplete = 3 + return new global::CppSharp.Parser.AST.InlineContentComment(native.ToPointer(), skipVTables); } - internal static new global::CppSharp.Parser.AST.ArrayType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.InlineContentComment __CreateInstance(global::CppSharp.Parser.AST.InlineContentComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ArrayType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.InlineContentComment(native, skipVTables); } - internal static global::CppSharp.Parser.AST.ArrayType __CreateInstance(global::CppSharp.Parser.AST.ArrayType.__Internal native, bool skipVTables = false) + private static void* __CopyValue(global::CppSharp.Parser.AST.InlineContentComment.__Internal native) { - return new global::CppSharp.Parser.AST.ArrayType(native, skipVTables); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal)); + *(global::CppSharp.Parser.AST.InlineContentComment.__Internal*) ret = native; + return ret.ToPointer(); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ArrayType.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); - global::CppSharp.Parser.AST.ArrayType.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private ArrayType(global::CppSharp.Parser.AST.ArrayType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + private InlineContentComment(global::CppSharp.Parser.AST.InlineContentComment.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected ArrayType(void* native, bool skipVTables = false) + protected InlineContentComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -854,164 +691,127 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public ArrayType() + public InlineContentComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public ArrayType(global::CppSharp.Parser.AST.ArrayType _0) + public InlineContentComment(global::CppSharp.Parser.AST.CommentKind Kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } - - public global::CppSharp.Parser.AST.QualifiedType QualifiedType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->qualifiedType)); - } - - set - { - ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } + __Internal.ctor((__Instance + __PointerAdjustment), Kind); } - public global::CppSharp.Parser.AST.ArrayType.ArraySize SizeType + public InlineContentComment(global::CppSharp.Parser.AST.InlineContentComment _0) + : this((void*) null) { - get - { - return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->sizeType; - } - - set - { - ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->sizeType = value; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.InlineContentComment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.InlineContentComment.__Internal*) _0.__Instance); } - public int Size + public static implicit operator global::CppSharp.Parser.AST.InlineContentComment(global::CppSharp.Parser.AST.CommentKind Kind) { - get - { - return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->size; - } - - set - { - ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->size = value; - } + return new global::CppSharp.Parser.AST.InlineContentComment(Kind); } - public int ElementSize + public bool HasTrailingNewline { get { - return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->elementSize; + return ((global::CppSharp.Parser.AST.InlineContentComment.__Internal*) __Instance)->hasTrailingNewline != 0; } set { - ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->elementSize = value; + ((global::CppSharp.Parser.AST.InlineContentComment.__Internal*)__Instance)->hasTrailingNewline = (byte) (value ? 1 : 0); } } } - public unsafe partial class FunctionType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class ParagraphComment : global::CppSharp.Parser.AST.BlockContentComment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 36)] + [StructLayout(LayoutKind.Explicit, Size = 20)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(4)] - internal byte isDependent; + internal byte isWhitespace; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; - - [FieldOffset(16)] - internal global::CppSharp.Parser.AST.CallingConvention callingConvention; - - [FieldOffset(20)] - internal global::CppSharp.Parser.AST.ExceptionSpecType exceptionSpecType; - - [FieldOffset(24)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_N___1_S_allocator__S0_ Parameters; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_InlineContentComment___N_std_N___1_S_allocator__S0_ Content; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST16ParagraphCommentC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST16ParagraphCommentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionTypeD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST16ParagraphCommentD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType13getParametersEj")] - internal static extern global::System.IntPtr GetParameters(global::System.IntPtr __instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST16ParagraphComment10getContentEj")] + internal static extern global::System.IntPtr GetContent(global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType13addParametersERPNS1_9ParameterE")] - internal static extern void AddParameters(global::System.IntPtr __instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST16ParagraphComment10addContentERPNS1_20InlineContentCommentE")] + internal static extern void AddContent(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType15clearParametersEv")] - internal static extern void ClearParameters(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST16ParagraphComment12clearContentEv")] + internal static extern void ClearContent(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType18getParametersCountEv")] - internal static extern uint GetParametersCount(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST16ParagraphComment15getContentCountEv")] + internal static extern uint GetContentCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.FunctionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.ParagraphComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FunctionType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.ParagraphComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.FunctionType __CreateInstance(global::CppSharp.Parser.AST.FunctionType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.ParagraphComment __CreateInstance(global::CppSharp.Parser.AST.ParagraphComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FunctionType(native, skipVTables); + return new global::CppSharp.Parser.AST.ParagraphComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ParagraphComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); - global::CppSharp.Parser.AST.FunctionType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParagraphComment.__Internal)); + global::CppSharp.Parser.AST.ParagraphComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private FunctionType(global::CppSharp.Parser.AST.FunctionType.__Internal native, bool skipVTables = false) + private ParagraphComment(global::CppSharp.Parser.AST.ParagraphComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected FunctionType(void* native, bool skipVTables = false) + protected ParagraphComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -1020,19 +820,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public FunctionType() + public ParagraphComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParagraphComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public FunctionType(global::CppSharp.Parser.AST.FunctionType _0) + public ParagraphComment(global::CppSharp.Parser.AST.ParagraphComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParagraphComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -1045,7 +845,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Type __dummy; + global::CppSharp.Parser.AST.Comment __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -1054,246 +854,253 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.Parameter GetParameters(uint i) + public global::CppSharp.Parser.AST.InlineContentComment GetContent(uint i) { - var __ret = __Internal.GetParameters((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Parameter __result0; + var __ret = __Internal.GetContent((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.InlineContentComment __result0; if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Parameter.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Parameter) global::CppSharp.Parser.AST.Parameter.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Parameter.__CreateInstance(__ret); + else if (global::CppSharp.Parser.AST.InlineContentComment.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.InlineContentComment) global::CppSharp.Parser.AST.InlineContentComment.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.InlineContentComment.__CreateInstance(__ret); return __result0; } - public void AddParameters(global::CppSharp.Parser.AST.Parameter s) + public void AddContent(global::CppSharp.Parser.AST.InlineContentComment s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddParameters((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearParameters() - { - __Internal.ClearParameters((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.QualifiedType ReturnType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->returnType)); - } - - set - { - ((global::CppSharp.Parser.AST.FunctionType.__Internal*)__Instance)->returnType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } + __Internal.AddContent((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.CallingConvention CallingConvention + public void ClearContent() { - get - { - return ((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->callingConvention; - } - - set - { - ((global::CppSharp.Parser.AST.FunctionType.__Internal*)__Instance)->callingConvention = value; - } + __Internal.ClearContent((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.ExceptionSpecType ExceptionSpecType + public bool IsWhitespace { get { - return ((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->exceptionSpecType; + return ((global::CppSharp.Parser.AST.ParagraphComment.__Internal*) __Instance)->isWhitespace != 0; } set { - ((global::CppSharp.Parser.AST.FunctionType.__Internal*)__Instance)->exceptionSpecType = value; + ((global::CppSharp.Parser.AST.ParagraphComment.__Internal*)__Instance)->isWhitespace = (byte) (value ? 1 : 0); } } - public uint ParametersCount + public uint ContentCount { get { - var __ret = __Internal.GetParametersCount((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetContentCount((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class PointerType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class BlockCommandComment : global::CppSharp.Parser.AST.BlockContentComment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 20)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(4)] - internal byte isDependent; + internal uint commandId; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedPointee; + internal global::System.IntPtr paragraphComment; - [FieldOffset(16)] - internal global::CppSharp.Parser.AST.PointerType.TypeModifier modifier; + [FieldOffset(12)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_N___1_S_allocator__S0_ Arguments; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11PointerTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandCommentC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11PointerTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandCommentC2ENS1_11CommentKindE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.CommentKind Kind); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandCommentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - } - public enum TypeModifier - { - Value = 0, - Pointer = 1, - LVReference = 2, - RVReference = 3 - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandCommentD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); - internal static new global::CppSharp.Parser.AST.PointerType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.PointerType(native.ToPointer(), skipVTables); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandComment12getArgumentsEj")] + internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); - internal static global::CppSharp.Parser.AST.PointerType __CreateInstance(global::CppSharp.Parser.AST.PointerType.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.PointerType(native, skipVTables); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandComment12addArgumentsERNS2_8ArgumentE")] + internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); - private static void* __CopyValue(global::CppSharp.Parser.AST.PointerType.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); - global::CppSharp.Parser.AST.PointerType.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandComment14clearArgumentsEv")] + internal static extern void ClearArguments(global::System.IntPtr __instance); - private PointerType(global::CppSharp.Parser.AST.PointerType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandComment17getArgumentsCountEv")] + internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); } - protected PointerType(void* native, bool skipVTables = false) - : base((void*) null) + public unsafe partial class Argument : IDisposable { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [StructLayout(LayoutKind.Explicit, Size = 12)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C text; - public PointerType() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandComment8ArgumentC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); - public PointerType(global::CppSharp.Parser.AST.PointerType _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandComment8ArgumentC2ERKS3_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - public global::CppSharp.Parser.AST.QualifiedType QualifiedPointee - { - get + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandComment8ArgumentD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.BlockCommandComment.Argument __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->qualifiedPointee)); + return new global::CppSharp.Parser.AST.BlockCommandComment.Argument(native.ToPointer(), skipVTables); } - set + internal static global::CppSharp.Parser.AST.BlockCommandComment.Argument __CreateInstance(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal native, bool skipVTables = false) { - ((global::CppSharp.Parser.AST.PointerType.__Internal*)__Instance)->qualifiedPointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + return new global::CppSharp.Parser.AST.BlockCommandComment.Argument(native, skipVTables); } - } - public global::CppSharp.Parser.AST.PointerType.TypeModifier Modifier - { - get + private static void* __CopyValue(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal native) { - return ((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->modifier; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal)); + global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - set + private Argument(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - ((global::CppSharp.Parser.AST.PointerType.__Internal*)__Instance)->modifier = value; + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; } - } - } - public unsafe partial class MemberPointerType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 16)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + protected Argument(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(4)] - internal byte isDependent; + public Argument() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; + public Argument(global::CppSharp.Parser.AST.BlockCommandComment.Argument _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17MemberPointerTypeC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + public void Dispose() + { + Dispose(disposing: true); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17MemberPointerTypeC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.BlockCommandComment.Argument __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public string Text + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal*) __Instance)->text)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal*)__Instance)->text), value); + } + } } - internal static new global::CppSharp.Parser.AST.MemberPointerType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.BlockCommandComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.MemberPointerType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.BlockCommandComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.MemberPointerType __CreateInstance(global::CppSharp.Parser.AST.MemberPointerType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.BlockCommandComment __CreateInstance(global::CppSharp.Parser.AST.BlockCommandComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.MemberPointerType(native, skipVTables); + return new global::CppSharp.Parser.AST.BlockCommandComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.MemberPointerType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.BlockCommandComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); - global::CppSharp.Parser.AST.MemberPointerType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__Internal)); + global::CppSharp.Parser.AST.BlockCommandComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType.__Internal native, bool skipVTables = false) + private BlockCommandComment(global::CppSharp.Parser.AST.BlockCommandComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected MemberPointerType(void* native, bool skipVTables = false) + protected BlockCommandComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -1302,19 +1109,28 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public MemberPointerType() + public BlockCommandComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType _0) + public BlockCommandComment(global::CppSharp.Parser.AST.CommentKind Kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), Kind); + } + + public BlockCommandComment(global::CppSharp.Parser.AST.BlockCommandComment _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -1323,171 +1139,156 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Pointee + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Comment __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.BlockCommandComment.Argument GetArguments(uint i) + { + var __ret = new global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal(); + __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.BlockCommandComment.Argument.__CreateInstance(__ret); + } + + public void AddArguments(global::CppSharp.Parser.AST.BlockCommandComment.Argument s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearArguments() + { + __Internal.ClearArguments((__Instance + __PointerAdjustment)); + } + + public static implicit operator global::CppSharp.Parser.AST.BlockCommandComment(global::CppSharp.Parser.AST.CommentKind Kind) + { + return new global::CppSharp.Parser.AST.BlockCommandComment(Kind); + } + + public uint CommandId { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MemberPointerType.__Internal*) __Instance)->pointee)); + return ((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*) __Instance)->commandId; } set { - ((global::CppSharp.Parser.AST.MemberPointerType.__Internal*)__Instance)->pointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*)__Instance)->commandId = value; } } - } - public unsafe partial class TypedefType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 12)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - internal byte isDependent; - - [FieldOffset(8)] - internal global::System.IntPtr declaration; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefTypeC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefTypeC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - } - - internal static new global::CppSharp.Parser.AST.TypedefType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.TypedefType(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.TypedefType __CreateInstance(global::CppSharp.Parser.AST.TypedefType.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.TypedefType(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefType.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); - global::CppSharp.Parser.AST.TypedefType.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private TypedefType(global::CppSharp.Parser.AST.TypedefType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected TypedefType(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public TypedefType() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } - - public TypedefType(global::CppSharp.Parser.AST.TypedefType _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } - - public global::CppSharp.Parser.AST.TypedefNameDecl Declaration + public global::CppSharp.Parser.AST.ParagraphComment ParagraphComment { get { - global::CppSharp.Parser.AST.TypedefNameDecl __result0; - if (((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TypedefNameDecl.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration)) - __result0 = (global::CppSharp.Parser.AST.TypedefNameDecl) global::CppSharp.Parser.AST.TypedefNameDecl.NativeToManagedMap[((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration]; - else __result0 = global::CppSharp.Parser.AST.TypedefNameDecl.__CreateInstance(((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration); + global::CppSharp.Parser.AST.ParagraphComment __result0; + if (((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*) __Instance)->paragraphComment == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ParagraphComment.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*) __Instance)->paragraphComment)) + __result0 = (global::CppSharp.Parser.AST.ParagraphComment) global::CppSharp.Parser.AST.ParagraphComment.NativeToManagedMap[((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*) __Instance)->paragraphComment]; + else __result0 = global::CppSharp.Parser.AST.ParagraphComment.__CreateInstance(((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*) __Instance)->paragraphComment); return __result0; } set { - ((global::CppSharp.Parser.AST.TypedefType.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*)__Instance)->paragraphComment = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public uint ArgumentsCount + { + get + { + var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class AttributedType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class ParamCommandComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(4)] - internal byte isDependent; + internal uint commandId; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal modified; + internal global::System.IntPtr paragraphComment; - [FieldOffset(16)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal equivalent; + [FieldOffset(12)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_N___1_S_allocator__S0_ Arguments; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.ParamCommandComment.PassDirection direction; + + [FieldOffset(28)] + internal uint paramIndex; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14AttributedTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST19ParamCommandCommentC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14AttributedTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST19ParamCommandCommentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19ParamCommandCommentD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.AttributedType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public enum PassDirection : uint { - return new global::CppSharp.Parser.AST.AttributedType(native.ToPointer(), skipVTables); + In = 0, + Out = 1, + InOut = 2 } - internal static global::CppSharp.Parser.AST.AttributedType __CreateInstance(global::CppSharp.Parser.AST.AttributedType.__Internal native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.ParamCommandComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.AttributedType(native, skipVTables); + return new global::CppSharp.Parser.AST.ParamCommandComment(native.ToPointer(), skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.AttributedType.__Internal native) + internal static global::CppSharp.Parser.AST.ParamCommandComment __CreateInstance(global::CppSharp.Parser.AST.ParamCommandComment.__Internal native, bool skipVTables = false) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); - global::CppSharp.Parser.AST.AttributedType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return new global::CppSharp.Parser.AST.ParamCommandComment(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ParamCommandComment.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParamCommandComment.__Internal)); + global::CppSharp.Parser.AST.ParamCommandComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private AttributedType(global::CppSharp.Parser.AST.AttributedType.__Internal native, bool skipVTables = false) + private ParamCommandComment(global::CppSharp.Parser.AST.ParamCommandComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected AttributedType(void* native, bool skipVTables = false) + protected ParamCommandComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -1496,19 +1297,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public AttributedType() + public ParamCommandComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParamCommandComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public AttributedType(global::CppSharp.Parser.AST.AttributedType _0) + public ParamCommandComment(global::CppSharp.Parser.AST.ParamCommandComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParamCommandComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -1517,89 +1318,127 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Modified + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Comment __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.ParamCommandComment.PassDirection Direction { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.AttributedType.__Internal*) __Instance)->modified)); + return ((global::CppSharp.Parser.AST.ParamCommandComment.__Internal*) __Instance)->direction; } set { - ((global::CppSharp.Parser.AST.AttributedType.__Internal*)__Instance)->modified = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.ParamCommandComment.__Internal*)__Instance)->direction = value; } } - public global::CppSharp.Parser.AST.QualifiedType Equivalent + public uint ParamIndex { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.AttributedType.__Internal*) __Instance)->equivalent)); + return ((global::CppSharp.Parser.AST.ParamCommandComment.__Internal*) __Instance)->paramIndex; } set { - ((global::CppSharp.Parser.AST.AttributedType.__Internal*)__Instance)->equivalent = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.ParamCommandComment.__Internal*)__Instance)->paramIndex = value; } } } - public unsafe partial class DecayedType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class TParamCommandComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 36)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(4)] - internal byte isDependent; + internal uint commandId; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal decayed; + internal global::System.IntPtr paragraphComment; - [FieldOffset(16)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal original; + [FieldOffset(12)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_N___1_S_allocator__S0_ Arguments; [FieldOffset(24)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector__i___N_std_N___1_S_allocator__i Position; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11DecayedTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST20TParamCommandCommentC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11DecayedTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST20TParamCommandCommentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20TParamCommandCommentD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20TParamCommandComment11getPositionEj")] + internal static extern uint GetPosition(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20TParamCommandComment11addPositionERj")] + internal static extern void AddPosition(global::System.IntPtr __instance, uint* s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20TParamCommandComment13clearPositionEv")] + internal static extern void ClearPosition(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20TParamCommandComment16getPositionCountEv")] + internal static extern uint GetPositionCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.DecayedType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TParamCommandComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.DecayedType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TParamCommandComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.DecayedType __CreateInstance(global::CppSharp.Parser.AST.DecayedType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TParamCommandComment __CreateInstance(global::CppSharp.Parser.AST.TParamCommandComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.DecayedType(native, skipVTables); + return new global::CppSharp.Parser.AST.TParamCommandComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.DecayedType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TParamCommandComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); - global::CppSharp.Parser.AST.DecayedType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TParamCommandComment.__Internal)); + global::CppSharp.Parser.AST.TParamCommandComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private DecayedType(global::CppSharp.Parser.AST.DecayedType.__Internal native, bool skipVTables = false) + private TParamCommandComment(global::CppSharp.Parser.AST.TParamCommandComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected DecayedType(void* native, bool skipVTables = false) + protected TParamCommandComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -1608,19 +1447,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public DecayedType() + public TParamCommandComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TParamCommandComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public DecayedType(global::CppSharp.Parser.AST.DecayedType _0) + public TParamCommandComment(global::CppSharp.Parser.AST.TParamCommandComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TParamCommandComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -1629,296 +1468,241 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Decayed + public override void Dispose(bool disposing) { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->decayed)); - } - - set - { - ((global::CppSharp.Parser.AST.DecayedType.__Internal*)__Instance)->decayed = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Comment __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.QualifiedType Original + public uint GetPosition(uint i) { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->original)); - } + var __ret = __Internal.GetPosition((__Instance + __PointerAdjustment), i); + return __ret; + } - set + public void AddPosition(ref uint s) + { + fixed (uint* __s0 = &s) { - ((global::CppSharp.Parser.AST.DecayedType.__Internal*)__Instance)->original = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + var __arg0 = __s0; + __Internal.AddPosition((__Instance + __PointerAdjustment), __arg0); } } - public global::CppSharp.Parser.AST.QualifiedType Pointee + public void ClearPosition() { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->pointee)); - } + __Internal.ClearPosition((__Instance + __PointerAdjustment)); + } - set + public uint PositionCount + { + get { - ((global::CppSharp.Parser.AST.DecayedType.__Internal*)__Instance)->pointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + var __ret = __Internal.GetPositionCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class TemplateArgument : IDisposable + public unsafe partial class VerbatimBlockLineComment : global::CppSharp.Parser.AST.Comment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 20)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 16)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(4)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; - - [FieldOffset(12)] - internal global::System.IntPtr declaration; - - [FieldOffset(16)] - internal int integral; + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C text; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16TemplateArgumentC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST24VerbatimBlockLineCommentC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16TemplateArgumentC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST24VerbatimBlockLineCommentC2ERKS2_")] internal static extern void cctor(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 + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24VerbatimBlockLineCommentD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); } - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.TemplateArgument __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.VerbatimBlockLineComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateArgument(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.VerbatimBlockLineComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TemplateArgument __CreateInstance(global::CppSharp.Parser.AST.TemplateArgument.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VerbatimBlockLineComment __CreateInstance(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateArgument(native, skipVTables); + return new global::CppSharp.Parser.AST.VerbatimBlockLineComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateArgument.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); - *(global::CppSharp.Parser.AST.TemplateArgument.__Internal*) ret = native; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal)); + global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument.__Internal native, bool skipVTables = false) + private VerbatimBlockLineComment(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TemplateArgument(void* native, bool skipVTables = false) + protected VerbatimBlockLineComment(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public TemplateArgument() + public VerbatimBlockLineComment() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument _0) + public VerbatimBlockLineComment(global::CppSharp.Parser.AST.VerbatimBlockLineComment _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) _0.__Instance); - } - - public void Dispose() - { - Dispose(disposing: true); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.TemplateArgument __dummy; + global::CppSharp.Parser.AST.Comment __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind Kind - { - get - { - return ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->kind; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->kind = value; - } - } - - public global::CppSharp.Parser.AST.QualifiedType Type - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->type)); - } - - set - { - ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } - - public global::CppSharp.Parser.AST.Declaration Declaration - { - get - { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - - public int Integral + public string Text { get { - return ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->integral; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal*) __Instance)->text)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->integral = value; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal*)__Instance)->text), value); } } } - public unsafe partial class TemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class VerbatimBlockComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 36)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(4)] - internal byte isDependent; + internal uint commandId; [FieldOffset(8)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ Arguments; + internal global::System.IntPtr paragraphComment; - [FieldOffset(20)] - internal global::System.IntPtr _template; + [FieldOffset(12)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_N___1_S_allocator__S0_ Arguments; [FieldOffset(24)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_VerbatimBlockLineComment___N_std_N___1_S_allocator__S0_ Lines; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST20VerbatimBlockCommentC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST20VerbatimBlockCommentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST20VerbatimBlockCommentD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType12getArgumentsEj")] - internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST20VerbatimBlockComment8getLinesEj")] + internal static extern global::System.IntPtr GetLines(global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType12addArgumentsERNS1_16TemplateArgumentE")] - internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST20VerbatimBlockComment8addLinesERPNS1_24VerbatimBlockLineCommentE")] + internal static extern void AddLines(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType14clearArgumentsEv")] - internal static extern void ClearArguments(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST20VerbatimBlockComment10clearLinesEv")] + internal static extern void ClearLines(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType17getArgumentsCountEv")] - internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST20VerbatimBlockComment13getLinesCountEv")] + internal static extern uint GetLinesCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.TemplateSpecializationType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.VerbatimBlockComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateSpecializationType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.VerbatimBlockComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TemplateSpecializationType __CreateInstance(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VerbatimBlockComment __CreateInstance(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateSpecializationType(native, skipVTables); + return new global::CppSharp.Parser.AST.VerbatimBlockComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); - global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal)); + global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native, bool skipVTables = false) + private VerbatimBlockComment(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TemplateSpecializationType(void* native, bool skipVTables = false) + protected VerbatimBlockComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -1927,19 +1711,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TemplateSpecializationType() + public VerbatimBlockComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType _0) + public VerbatimBlockComment(global::CppSharp.Parser.AST.VerbatimBlockComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -1952,7 +1736,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Type __dummy; + global::CppSharp.Parser.AST.Comment __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -1961,145 +1745,101 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) + public global::CppSharp.Parser.AST.VerbatimBlockLineComment GetLines(uint i) { - var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); - __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); + var __ret = __Internal.GetLines((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.VerbatimBlockLineComment __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.VerbatimBlockLineComment.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.VerbatimBlockLineComment) global::CppSharp.Parser.AST.VerbatimBlockLineComment.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.VerbatimBlockLineComment.__CreateInstance(__ret); + return __result0; } - public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + public void AddLines(global::CppSharp.Parser.AST.VerbatimBlockLineComment s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearArguments() - { - __Internal.ClearArguments((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.Template Template - { - get - { - global::CppSharp.Parser.AST.Template __result0; - if (((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Template.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template)) - __result0 = (global::CppSharp.Parser.AST.Template) global::CppSharp.Parser.AST.Template.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template]; - else __result0 = global::CppSharp.Parser.AST.Template.__CreateInstance(((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*)__Instance)->_template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + __Internal.AddLines((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Desugared + public void ClearLines() { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->desugared)); - } - - set - { - ((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*)__Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } + __Internal.ClearLines((__Instance + __PointerAdjustment)); } - public uint ArgumentsCount + public uint LinesCount { get { - var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetLinesCount((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class DependentTemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class VerbatimLineComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 28)] + [StructLayout(LayoutKind.Explicit, Size = 36)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(4)] - internal byte isDependent; + internal uint commandId; [FieldOffset(8)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ Arguments; + internal global::System.IntPtr paragraphComment; - [FieldOffset(20)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; + [FieldOffset(12)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_N___1_S_allocator__S0_ Arguments; + + [FieldOffset(24)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C text; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST19VerbatimLineCommentC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST19VerbatimLineCommentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationTypeD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST19VerbatimLineCommentD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType12getArgumentsEj")] - internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType12addArgumentsERNS1_16TemplateArgumentE")] - internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType14clearArgumentsEv")] - internal static extern void ClearArguments(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType17getArgumentsCountEv")] - internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.DependentTemplateSpecializationType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.VerbatimLineComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.DependentTemplateSpecializationType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.VerbatimLineComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.DependentTemplateSpecializationType __CreateInstance(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VerbatimLineComment __CreateInstance(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.DependentTemplateSpecializationType(native, skipVTables); + return new global::CppSharp.Parser.AST.VerbatimLineComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); - global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal)); + global::CppSharp.Parser.AST.VerbatimLineComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native, bool skipVTables = false) + private VerbatimLineComment(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected DependentTemplateSpecializationType(void* native, bool skipVTables = false) + protected VerbatimLineComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2108,19 +1848,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public DependentTemplateSpecializationType() + public VerbatimLineComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType _0) + public VerbatimLineComment(global::CppSharp.Parser.AST.VerbatimLineComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -2133,7 +1873,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Type __dummy; + global::CppSharp.Parser.AST.Comment __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -2142,266 +1882,229 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) - { - var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); - __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); - } - - public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearArguments() - { - __Internal.ClearArguments((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.QualifiedType Desugared + public string Text { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal*) __Instance)->desugared)); + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VerbatimLineComment.__Internal*) __Instance)->text)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal*)__Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } - - public uint ArgumentsCount - { - get - { - var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); - return __ret; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VerbatimLineComment.__Internal*)__Instance)->text), value); } } } - public unsafe partial class TemplateParameterType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class InlineCommandComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 28)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(4)] - internal byte isDependent; + internal byte hasTrailingNewline; [FieldOffset(8)] - internal global::System.IntPtr parameter; + internal uint commandId; [FieldOffset(12)] - internal uint depth; + internal global::CppSharp.Parser.AST.InlineCommandComment.RenderKind commentRenderKind; [FieldOffset(16)] - internal uint index; - - [FieldOffset(20)] - internal byte isParameterPack; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_InlineCommandComment_S_Argument___N_std_N___1_S_allocator__S0_ Arguments; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandCommentC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandCommentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandCommentD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); - } - - internal static new global::CppSharp.Parser.AST.TemplateParameterType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.TemplateParameterType(native.ToPointer(), skipVTables); - } - internal static global::CppSharp.Parser.AST.TemplateParameterType __CreateInstance(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.TemplateParameterType(native, skipVTables); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandComment12getArgumentsEj")] + internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); - global::CppSharp.Parser.AST.TemplateParameterType.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandComment12addArgumentsERNS2_8ArgumentE")] + internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); - private TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandComment14clearArgumentsEv")] + internal static extern void ClearArguments(global::System.IntPtr __instance); - protected TemplateParameterType(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandComment17getArgumentsCountEv")] + internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); } - public TemplateParameterType() - : this((void*) null) + public enum RenderKind : uint { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + RenderNormal = 0, + RenderBold = 1, + RenderMonospaced = 2, + RenderEmphasized = 3 } - public TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType _0) - : this((void*) null) + public unsafe partial class Argument : IDisposable { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [StructLayout(LayoutKind.Explicit, Size = 12)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C text; - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Type __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandComment8ArgumentC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); - public global::CppSharp.Parser.AST.TypeTemplateParameter Parameter - { - get - { - global::CppSharp.Parser.AST.TypeTemplateParameter __result0; - if (((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TypeTemplateParameter.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter)) - __result0 = (global::CppSharp.Parser.AST.TypeTemplateParameter) global::CppSharp.Parser.AST.TypeTemplateParameter.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter]; - else __result0 = global::CppSharp.Parser.AST.TypeTemplateParameter.__CreateInstance(((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter); - return __result0; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandComment8ArgumentC2ERKS3_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandComment8ArgumentD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); } - set + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.InlineCommandComment.Argument __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->parameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + return new global::CppSharp.Parser.AST.InlineCommandComment.Argument(native.ToPointer(), skipVTables); } - } - public uint Depth - { - get + internal static global::CppSharp.Parser.AST.InlineCommandComment.Argument __CreateInstance(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal native, bool skipVTables = false) { - return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->depth; + return new global::CppSharp.Parser.AST.InlineCommandComment.Argument(native, skipVTables); } - set + private static void* __CopyValue(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal native) { - ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->depth = value; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal)); + global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - } - public uint Index - { - get + private Argument(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->index; + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; } - set + protected Argument(void* native, bool skipVTables = false) { - ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->index = value; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - } - public bool IsParameterPack - { - get + public Argument() { - return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->isParameterPack != 0; + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); } - set + public Argument(global::CppSharp.Parser.AST.InlineCommandComment.Argument _0) { - ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->isParameterPack = (byte) (value ? 1 : 0); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - } - } - - public unsafe partial class TemplateParameterSubstitutionType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 20)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - internal byte isDependent; - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal replacement; + public void Dispose() + { + Dispose(disposing: true); + } - [FieldOffset(16)] - internal global::System.IntPtr replacedParameter; + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.InlineCommandComment.Argument __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST33TemplateParameterSubstitutionTypeC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + public string Text + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal*) __Instance)->text)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST33TemplateParameterSubstitutionTypeC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal*)__Instance)->text), value); + } + } } - internal static new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.InlineCommandComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.InlineCommandComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TemplateParameterSubstitutionType __CreateInstance(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.InlineCommandComment __CreateInstance(global::CppSharp.Parser.AST.InlineCommandComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType(native, skipVTables); + return new global::CppSharp.Parser.AST.InlineCommandComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.InlineCommandComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); - global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.__Internal)); + global::CppSharp.Parser.AST.InlineCommandComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native, bool skipVTables = false) + private InlineCommandComment(global::CppSharp.Parser.AST.InlineCommandComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TemplateParameterSubstitutionType(void* native, bool skipVTables = false) + protected InlineCommandComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2410,19 +2113,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TemplateParameterSubstitutionType() + public InlineCommandComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType _0) + public InlineCommandComment(global::CppSharp.Parser.AST.InlineCommandComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -2431,91 +2134,127 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Replacement + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Comment __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.InlineCommandComment.Argument GetArguments(uint i) + { + var __ret = new global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal(); + __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.InlineCommandComment.Argument.__CreateInstance(__ret); + } + + public void AddArguments(global::CppSharp.Parser.AST.InlineCommandComment.Argument s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearArguments() + { + __Internal.ClearArguments((__Instance + __PointerAdjustment)); + } + + public uint CommandId { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacement)); + return ((global::CppSharp.Parser.AST.InlineCommandComment.__Internal*) __Instance)->commandId; } set { - ((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*)__Instance)->replacement = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.InlineCommandComment.__Internal*)__Instance)->commandId = value; } } - public global::CppSharp.Parser.AST.TemplateParameterType ReplacedParameter + public global::CppSharp.Parser.AST.InlineCommandComment.RenderKind CommentRenderKind { get { - global::CppSharp.Parser.AST.TemplateParameterType __result0; - if (((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TemplateParameterType.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter)) - __result0 = (global::CppSharp.Parser.AST.TemplateParameterType) global::CppSharp.Parser.AST.TemplateParameterType.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter]; - else __result0 = global::CppSharp.Parser.AST.TemplateParameterType.__CreateInstance(((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter); - return __result0; + return ((global::CppSharp.Parser.AST.InlineCommandComment.__Internal*) __Instance)->commentRenderKind; } set { - ((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*)__Instance)->replacedParameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.InlineCommandComment.__Internal*)__Instance)->commentRenderKind = value; + } + } + + public uint ArgumentsCount + { + get + { + var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class InjectedClassNameType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class HTMLTagComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 20)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(4)] - internal byte isDependent; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal injectedSpecializationType; - - [FieldOffset(16)] - internal global::System.IntPtr _class; + internal byte hasTrailingNewline; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21InjectedClassNameTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST14HTMLTagCommentC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21InjectedClassNameTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST14HTMLTagCommentC2ENS1_11CommentKindE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.CommentKind Kind); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14HTMLTagCommentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); } - internal static new global::CppSharp.Parser.AST.InjectedClassNameType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.HTMLTagComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.InjectedClassNameType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.HTMLTagComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.InjectedClassNameType __CreateInstance(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.HTMLTagComment __CreateInstance(global::CppSharp.Parser.AST.HTMLTagComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.InjectedClassNameType(native, skipVTables); + return new global::CppSharp.Parser.AST.HTMLTagComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.HTMLTagComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); - global::CppSharp.Parser.AST.InjectedClassNameType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal)); + *(global::CppSharp.Parser.AST.HTMLTagComment.__Internal*) ret = native; return ret.ToPointer(); } - private InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native, bool skipVTables = false) + private HTMLTagComment(global::CppSharp.Parser.AST.HTMLTagComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected InjectedClassNameType(void* native, bool skipVTables = false) + protected HTMLTagComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2524,236 +2263,253 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public InjectedClassNameType() + public HTMLTagComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType _0) + public HTMLTagComment(global::CppSharp.Parser.AST.CommentKind Kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + __Internal.ctor((__Instance + __PointerAdjustment), Kind); } - public global::CppSharp.Parser.AST.QualifiedType InjectedSpecializationType + public HTMLTagComment(global::CppSharp.Parser.AST.HTMLTagComment _0) + : this((void*) null) { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->injectedSpecializationType)); - } - - set - { - ((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*)__Instance)->injectedSpecializationType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.HTMLTagComment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.HTMLTagComment.__Internal*) _0.__Instance); } - public global::CppSharp.Parser.AST.Class Class + public static implicit operator global::CppSharp.Parser.AST.HTMLTagComment(global::CppSharp.Parser.AST.CommentKind Kind) { - get - { - global::CppSharp.Parser.AST.Class __result0; - if (((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class)) - __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class]; - else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*)__Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + return new global::CppSharp.Parser.AST.HTMLTagComment(Kind); } } - public unsafe partial class DependentNameType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class HTMLStartTagComment : global::CppSharp.Parser.AST.HTMLTagComment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 28)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(4)] - internal byte isDependent; + internal byte hasTrailingNewline; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifier; + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C tagName; - [FieldOffset(16)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C identifier; + [FieldOffset(20)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_HTMLStartTagComment_S_Attribute___N_std_N___1_S_allocator__S0_ Attributes; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17DependentNameTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagCommentC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17DependentNameTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagCommentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17DependentNameTypeD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagCommentD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); - } - internal static new global::CppSharp.Parser.AST.DependentNameType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.DependentNameType(native.ToPointer(), skipVTables); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagComment13getAttributesEj")] + internal static extern void GetAttributes(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); - internal static global::CppSharp.Parser.AST.DependentNameType __CreateInstance(global::CppSharp.Parser.AST.DependentNameType.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.DependentNameType(native, skipVTables); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagComment13addAttributesERNS2_9AttributeE")] + internal static extern void AddAttributes(global::System.IntPtr __instance, global::System.IntPtr s); - private static void* __CopyValue(global::CppSharp.Parser.AST.DependentNameType.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); - global::CppSharp.Parser.AST.DependentNameType.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagComment15clearAttributesEv")] + internal static extern void ClearAttributes(global::System.IntPtr __instance); - private DependentNameType(global::CppSharp.Parser.AST.DependentNameType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagComment18getAttributesCountEv")] + internal static extern uint GetAttributesCount(global::System.IntPtr __instance); } - protected DependentNameType(void* native, bool skipVTables = false) - : base((void*) null) + public unsafe partial class Attribute : IDisposable { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [StructLayout(LayoutKind.Explicit, Size = 24)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - public DependentNameType() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + [FieldOffset(12)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C value; - public DependentNameType(global::CppSharp.Parser.AST.DependentNameType _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagComment9AttributeC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Type __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagComment9AttributeC2ERKS3_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - public global::CppSharp.Parser.AST.QualifiedType Qualifier - { - get + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagComment9AttributeD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentNameType.__Internal*) __Instance)->qualifier)); + return new global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute(native.ToPointer(), skipVTables); } - set + internal static global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute __CreateInstance(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal native, bool skipVTables = false) { - ((global::CppSharp.Parser.AST.DependentNameType.__Internal*)__Instance)->qualifier = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + return new global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute(native, skipVTables); } - } - public string Identifier - { - get + private static void* __CopyValue(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal native) { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentNameType.__Internal*) __Instance)->identifier)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal)); + global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - set + private Attribute(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentNameType.__Internal*)__Instance)->identifier), value); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; } - } - } - public unsafe partial class PackExpansionType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 8)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + protected Attribute(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(4)] - internal byte isDependent; + public Attribute() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17PackExpansionTypeC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + public Attribute(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17PackExpansionTypeC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public string Name + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal*) __Instance)->name)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal*)__Instance)->name), value); + } + } + + public string Value + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal*) __Instance)->value)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal*)__Instance)->value), value); + } + } } - internal static new global::CppSharp.Parser.AST.PackExpansionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.HTMLStartTagComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.PackExpansionType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.HTMLStartTagComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.PackExpansionType __CreateInstance(global::CppSharp.Parser.AST.PackExpansionType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.HTMLStartTagComment __CreateInstance(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.PackExpansionType(native, skipVTables); + return new global::CppSharp.Parser.AST.HTMLStartTagComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.PackExpansionType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); - global::CppSharp.Parser.AST.PackExpansionType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal)); + global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private PackExpansionType(global::CppSharp.Parser.AST.PackExpansionType.__Internal native, bool skipVTables = false) + private HTMLStartTagComment(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected PackExpansionType(void* native, bool skipVTables = false) + protected HTMLStartTagComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2762,19 +2518,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public PackExpansionType() + public HTMLStartTagComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public PackExpansionType(global::CppSharp.Parser.AST.PackExpansionType _0) + public HTMLStartTagComment(global::CppSharp.Parser.AST.HTMLStartTagComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -2782,61 +2538,121 @@ namespace CppSharp var __arg0 = _0.__Instance; __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Comment __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute GetAttributes(uint i) + { + var __ret = new global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal(); + __Internal.GetAttributes(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__CreateInstance(__ret); + } + + public void AddAttributes(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddAttributes((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearAttributes() + { + __Internal.ClearAttributes((__Instance + __PointerAdjustment)); + } + + public string TagName + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal*) __Instance)->tagName)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal*)__Instance)->tagName), value); + } + } + + public uint AttributesCount + { + get + { + var __ret = __Internal.GetAttributesCount((__Instance + __PointerAdjustment)); + return __ret; + } + } } - public unsafe partial class UnaryTransformType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class HTMLEndTagComment : global::CppSharp.Parser.AST.HTMLTagComment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 20)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(4)] - internal byte isDependent; + internal byte hasTrailingNewline; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; - - [FieldOffset(16)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal baseType; + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C tagName; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18UnaryTransformTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST17HTMLEndTagCommentC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18UnaryTransformTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST17HTMLEndTagCommentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17HTMLEndTagCommentD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.UnaryTransformType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.HTMLEndTagComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.UnaryTransformType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.HTMLEndTagComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.UnaryTransformType __CreateInstance(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.HTMLEndTagComment __CreateInstance(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.UnaryTransformType(native, skipVTables); + return new global::CppSharp.Parser.AST.HTMLEndTagComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); - global::CppSharp.Parser.AST.UnaryTransformType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); + global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native, bool skipVTables = false) + private HTMLEndTagComment(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected UnaryTransformType(void* native, bool skipVTables = false) + protected HTMLEndTagComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2845,19 +2661,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public UnaryTransformType() + public HTMLEndTagComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType _0) + public HTMLEndTagComment(global::CppSharp.Parser.AST.HTMLEndTagComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -2866,86 +2682,91 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Desugared + public override void Dispose(bool disposing) { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*) __Instance)->desugared)); - } - - set - { - ((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*)__Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Comment __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.QualifiedType BaseType + public string TagName { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*) __Instance)->baseType)); + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal*) __Instance)->tagName)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*)__Instance)->baseType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal*)__Instance)->tagName), value); } } } - public unsafe partial class VectorType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class TextComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable { [StructLayout(LayoutKind.Explicit, Size = 20)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(4)] - internal byte isDependent; + internal byte hasTrailingNewline; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal elementType; - - [FieldOffset(16)] - internal uint numElements; + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C text; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10VectorTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11TextCommentC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10VectorTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST11TextCommentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11TextCommentD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.VectorType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TextComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VectorType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TextComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.VectorType __CreateInstance(global::CppSharp.Parser.AST.VectorType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TextComment __CreateInstance(global::CppSharp.Parser.AST.TextComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VectorType(native, skipVTables); + return new global::CppSharp.Parser.AST.TextComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.VectorType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TextComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); - global::CppSharp.Parser.AST.VectorType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); + global::CppSharp.Parser.AST.TextComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private VectorType(global::CppSharp.Parser.AST.VectorType.__Internal native, bool skipVTables = false) + private TextComment(global::CppSharp.Parser.AST.TextComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected VectorType(void* native, bool skipVTables = false) + protected TextComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2954,19 +2775,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public VectorType() + public TextComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public VectorType(global::CppSharp.Parser.AST.VectorType _0) + public TextComment(global::CppSharp.Parser.AST.TextComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -2975,204 +2796,125 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType ElementType + public override void Dispose(bool disposing) { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->elementType)); - } - - set - { - ((global::CppSharp.Parser.AST.VectorType.__Internal*)__Instance)->elementType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Comment __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } - public uint NumElements + public string Text { get { - return ((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->numElements; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TextComment.__Internal*) __Instance)->text)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.VectorType.__Internal*)__Instance)->numElements = value; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TextComment.__Internal*)__Instance)->text), value); } } } - public unsafe partial class BuiltinType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class RawComment : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 12)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 32)] + public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.RawCommentKind kind; [FieldOffset(4)] - internal byte isDependent; + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C text; - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.PrimitiveType type; + [FieldOffset(16)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C briefText; + + [FieldOffset(28)] + internal global::System.IntPtr fullCommentBlock; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11BuiltinTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST10RawCommentC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11BuiltinTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST10RawCommentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - } - - internal static new global::CppSharp.Parser.AST.BuiltinType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.BuiltinType(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.BuiltinType __CreateInstance(global::CppSharp.Parser.AST.BuiltinType.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.BuiltinType(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.BuiltinType.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); - global::CppSharp.Parser.AST.BuiltinType.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private BuiltinType(global::CppSharp.Parser.AST.BuiltinType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected BuiltinType(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public BuiltinType() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } - - public BuiltinType(global::CppSharp.Parser.AST.BuiltinType _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } - - public global::CppSharp.Parser.AST.PrimitiveType Type - { - get - { - return ((global::CppSharp.Parser.AST.BuiltinType.__Internal*) __Instance)->type; - } - - set - { - ((global::CppSharp.Parser.AST.BuiltinType.__Internal*)__Instance)->type = value; - } - } - } - - public unsafe partial class VTableComponent : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 12)] - public partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.VTableComponentKind kind; - - [FieldOffset(4)] - internal uint offset; - - [FieldOffset(8)] - internal global::System.IntPtr declaration; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15VTableComponentC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15VTableComponentC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST10RawCommentD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); } public global::System.IntPtr __Instance { get; protected set; } protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); protected internal void*[] __OriginalVTables; protected bool __ownsNativeInstance; - internal static global::CppSharp.Parser.AST.VTableComponent __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.RawComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VTableComponent(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.RawComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.VTableComponent __CreateInstance(global::CppSharp.Parser.AST.VTableComponent.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.RawComment __CreateInstance(global::CppSharp.Parser.AST.RawComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VTableComponent(native, skipVTables); + return new global::CppSharp.Parser.AST.RawComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.VTableComponent.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.RawComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); - *(global::CppSharp.Parser.AST.VTableComponent.__Internal*) ret = native; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); + global::CppSharp.Parser.AST.RawComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private VTableComponent(global::CppSharp.Parser.AST.VTableComponent.__Internal native, bool skipVTables = false) + private RawComment(global::CppSharp.Parser.AST.RawComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected VTableComponent(void* native, bool skipVTables = false) + protected RawComment(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public VTableComponent() + public RawComment() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public VTableComponent(global::CppSharp.Parser.AST.VTableComponent _0) + public RawComment(global::CppSharp.Parser.AST.RawComment _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.VTableComponent.__Internal*) _0.__Instance); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } public void Dispose() @@ -3184,291 +2926,449 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.VTableComponent __dummy; + global::CppSharp.Parser.AST.RawComment __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.VTableComponentKind Kind + public global::CppSharp.Parser.AST.RawCommentKind Kind { get { - return ((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->kind; + return ((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->kind; } set { - ((global::CppSharp.Parser.AST.VTableComponent.__Internal*)__Instance)->kind = value; + ((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->kind = value; } } - public uint Offset + public string Text { get { - return ((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->offset; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->text)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.VTableComponent.__Internal*)__Instance)->offset = value; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->text), value); } } - public global::CppSharp.Parser.AST.Declaration Declaration + public string BriefText { get { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration); + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->briefText)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->briefText), value); + } + } + + public global::CppSharp.Parser.AST.FullComment FullCommentBlock + { + get + { + global::CppSharp.Parser.AST.FullComment __result0; + if (((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.FullComment.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock)) + __result0 = (global::CppSharp.Parser.AST.FullComment) global::CppSharp.Parser.AST.FullComment.NativeToManagedMap[((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock]; + else __result0 = global::CppSharp.Parser.AST.FullComment.__CreateInstance(((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock); return __result0; } set { - ((global::CppSharp.Parser.AST.VTableComponent.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->fullCommentBlock = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } + } + } +} - public unsafe partial class VTableLayout : IDisposable +namespace CppSharp +{ + namespace Parser + { + public unsafe partial struct SourceLocation + { + [StructLayout(LayoutKind.Explicit, Size = 4)] + public partial struct __Internal { - [StructLayout(LayoutKind.Explicit, Size = 12)] - public partial struct __Internal - { - [FieldOffset(0)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_VTableComponent___N_std_N___1_S_allocator__S0_ Components; + [FieldOffset(0)] + internal uint ID; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayoutC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser14SourceLocationC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayoutC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayoutD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout13getComponentsEj")] - internal static extern void GetComponents(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser14SourceLocationC2Ej")] + internal static extern void ctor(global::System.IntPtr __instance, uint ID); - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout13addComponentsERNS1_15VTableComponentE")] - internal static extern void AddComponents(global::System.IntPtr __instance, global::System.IntPtr s); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser14SourceLocationC2ERKS1_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout15clearComponentsEv")] - internal static extern void ClearComponents(global::System.IntPtr __instance); + private SourceLocation.__Internal __instance; + internal SourceLocation.__Internal __Instance { get { return __instance; } } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout18getComponentsCountEv")] - internal static extern uint GetComponentsCount(global::System.IntPtr __instance); - } + internal static global::CppSharp.Parser.SourceLocation __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.SourceLocation(native.ToPointer(), skipVTables); + } - public global::System.IntPtr __Instance { get; protected set; } + internal static global::CppSharp.Parser.SourceLocation __CreateInstance(global::CppSharp.Parser.SourceLocation.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.SourceLocation(native, skipVTables); + } - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; + private SourceLocation(global::CppSharp.Parser.SourceLocation.__Internal native, bool skipVTables = false) + : this() + { + __instance = native; + } - protected bool __ownsNativeInstance; + private SourceLocation(void* native, bool skipVTables = false) : this() + { + __instance = *(global::CppSharp.Parser.SourceLocation.__Internal*) native; + } - internal static global::CppSharp.Parser.AST.VTableLayout __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public SourceLocation(uint ID) + : this() + { + fixed (__Internal* __instancePtr = &__instance) { - return new global::CppSharp.Parser.AST.VTableLayout(native.ToPointer(), skipVTables); + __Internal.ctor(new global::System.IntPtr(__instancePtr), ID); } + } - internal static global::CppSharp.Parser.AST.VTableLayout __CreateInstance(global::CppSharp.Parser.AST.VTableLayout.__Internal native, bool skipVTables = false) + public SourceLocation(global::CppSharp.Parser.SourceLocation _0) + : this() + { + var ____arg0 = _0.__Instance; + var __arg0 = new global::System.IntPtr(&____arg0); + fixed (__Internal* __instancePtr = &__instance) { - return new global::CppSharp.Parser.AST.VTableLayout(native, skipVTables); + __Internal.cctor(new global::System.IntPtr(__instancePtr), __arg0); } + } - private static void* __CopyValue(global::CppSharp.Parser.AST.VTableLayout.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); - global::CppSharp.Parser.AST.VTableLayout.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + public static implicit operator global::CppSharp.Parser.SourceLocation(uint ID) + { + return new global::CppSharp.Parser.SourceLocation(ID); + } - private VTableLayout(global::CppSharp.Parser.AST.VTableLayout.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + public uint ID + { + get { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + return __instance.ID; } - protected VTableLayout(void* native, bool skipVTables = false) + set { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); + __instance.ID = value; } + } + } - public VTableLayout() - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + public unsafe partial class SourceRange : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 8)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; - public VTableLayout(global::CppSharp.Parser.AST.VTableLayout _0) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; - public void Dispose() - { - Dispose(disposing: true); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser11SourceRangeC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.VTableLayout __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser11SourceRangeC2ERKS1_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } - public global::CppSharp.Parser.AST.VTableComponent GetComponents(uint i) - { - var __ret = new global::CppSharp.Parser.AST.VTableComponent.__Internal(); - __Internal.GetComponents(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.VTableComponent.__CreateInstance(__ret); - } + public global::System.IntPtr __Instance { get; protected set; } - public void AddComponents(global::CppSharp.Parser.AST.VTableComponent s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddComponents((__Instance + __PointerAdjustment), __arg0); - } + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; - public void ClearComponents() - { - __Internal.ClearComponents((__Instance + __PointerAdjustment)); - } + protected bool __ownsNativeInstance; - public uint ComponentsCount - { - get - { - var __ret = __Internal.GetComponentsCount((__Instance + __PointerAdjustment)); - return __ret; - } - } + internal static global::CppSharp.Parser.SourceRange __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.SourceRange(native.ToPointer(), skipVTables); } - public unsafe partial class VFTableInfo : IDisposable + internal static global::CppSharp.Parser.SourceRange __CreateInstance(global::CppSharp.Parser.SourceRange.__Internal native, bool skipVTables = false) { - [StructLayout(LayoutKind.Explicit, Size = 28)] - public partial struct __Internal - { - [FieldOffset(0)] - internal ulong VBTableIndex; - - [FieldOffset(8)] - internal uint VFPtrOffset; - - [FieldOffset(12)] - internal uint VFPtrFullOffset; + return new global::CppSharp.Parser.SourceRange(native, skipVTables); + } - [FieldOffset(16)] - internal global::CppSharp.Parser.AST.VTableLayout.__Internal layout; + private static void* __CopyValue(global::CppSharp.Parser.SourceRange.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.SourceRange.__Internal)); + *(global::CppSharp.Parser.SourceRange.__Internal*) ret = native; + return ret.ToPointer(); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VFTableInfoC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + private SourceRange(global::CppSharp.Parser.SourceRange.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VFTableInfoC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + protected SourceRange(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VFTableInfoD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); - } + public SourceRange() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.SourceRange.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - public global::System.IntPtr __Instance { get; protected set; } + public SourceRange(global::CppSharp.Parser.SourceRange _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.SourceRange.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.SourceRange.__Internal*) __Instance) = *((global::CppSharp.Parser.SourceRange.__Internal*) _0.__Instance); + } - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; + public void Dispose() + { + Dispose(disposing: true); + } - protected bool __ownsNativeInstance; + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.SourceRange __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } - internal static global::CppSharp.Parser.AST.VFTableInfo __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::CppSharp.Parser.SourceLocation BeginLoc + { + get { - return new global::CppSharp.Parser.AST.VFTableInfo(native.ToPointer(), skipVTables); + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.SourceRange.__Internal*) __Instance)->beginLoc); } - internal static global::CppSharp.Parser.AST.VFTableInfo __CreateInstance(global::CppSharp.Parser.AST.VFTableInfo.__Internal native, bool skipVTables = false) + set { - return new global::CppSharp.Parser.AST.VFTableInfo(native, skipVTables); + ((global::CppSharp.Parser.SourceRange.__Internal*)__Instance)->beginLoc = value.__Instance; } + } - private static void* __CopyValue(global::CppSharp.Parser.AST.VFTableInfo.__Internal native) + public global::CppSharp.Parser.SourceLocation EndLoc + { + get { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); - global::CppSharp.Parser.AST.VFTableInfo.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.SourceRange.__Internal*) __Instance)->endLoc); + } + + set + { + ((global::CppSharp.Parser.SourceRange.__Internal*)__Instance)->endLoc = value.__Instance; + } + } + } + } +} + +namespace CppSharp +{ + namespace Parser + { + namespace AST + { + public enum TypeKind + { + Tag = 0, + Array = 1, + Function = 2, + Pointer = 3, + MemberPointer = 4, + Typedef = 5, + Attributed = 6, + Decayed = 7, + TemplateSpecialization = 8, + DependentTemplateSpecialization = 9, + TemplateParameter = 10, + TemplateParameterSubstitution = 11, + InjectedClassName = 12, + DependentName = 13, + PackExpansion = 14, + Builtin = 15, + UnaryTransform = 16, + Vector = 17 + } + + public enum CallingConvention + { + Default = 0, + C = 1, + StdCall = 2, + ThisCall = 3, + FastCall = 4, + Unknown = 5 + } + + public enum PrimitiveType + { + Null = 0, + Void = 1, + Bool = 2, + WideChar = 3, + Char = 4, + SChar = 5, + UChar = 6, + Char16 = 7, + Char32 = 8, + Short = 9, + UShort = 10, + Int = 11, + UInt = 12, + Long = 13, + ULong = 14, + LongLong = 15, + ULongLong = 16, + Int128 = 17, + UInt128 = 18, + Half = 19, + Float = 20, + Double = 21, + LongDouble = 22, + Float128 = 23, + IntPtr = 24 + } + + public enum ExceptionSpecType + { + None = 0, + DynamicNone = 1, + Dynamic = 2, + MSAny = 3, + BasicNoexcept = 4, + DependentNoexcept = 5, + NoexceptFalse = 6, + NoexceptTrue = 7, + Unevaluated = 8, + Uninstantiated = 9, + Unparsed = 10 + } + + public unsafe partial class Type : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 8)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + internal byte isDependent; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST4TypeC2ENS1_8TypeKindE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.TypeKind kind); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST4TypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.Type __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Type(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.Type __CreateInstance(global::CppSharp.Parser.AST.Type.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Type(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.Type.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Type.__Internal)); + global::CppSharp.Parser.AST.Type.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private VFTableInfo(global::CppSharp.Parser.AST.VFTableInfo.__Internal native, bool skipVTables = false) + private Type(global::CppSharp.Parser.AST.Type.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected VFTableInfo(void* native, bool skipVTables = false) + protected Type(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public VFTableInfo() + public Type(global::CppSharp.Parser.AST.TypeKind kind) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Type.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + __Internal.ctor((__Instance + __PointerAdjustment), kind); } - public VFTableInfo(global::CppSharp.Parser.AST.VFTableInfo _0) + public Type(global::CppSharp.Parser.AST.Type _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Type.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -3486,157 +3386,117 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.VFTableInfo __dummy; + global::CppSharp.Parser.AST.Type __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - public ulong VBTableIndex - { - get - { - return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VBTableIndex; - } - - set - { - ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->VBTableIndex = value; - } - } - - public uint VFPtrOffset + public static implicit operator global::CppSharp.Parser.AST.Type(global::CppSharp.Parser.AST.TypeKind kind) { - get - { - return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VFPtrOffset; - } - - set - { - ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->VFPtrOffset = value; - } + return new global::CppSharp.Parser.AST.Type(kind); } - public uint VFPtrFullOffset + public global::CppSharp.Parser.AST.TypeKind Kind { get { - return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VFPtrFullOffset; + return ((global::CppSharp.Parser.AST.Type.__Internal*) __Instance)->kind; } set { - ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->VFPtrFullOffset = value; + ((global::CppSharp.Parser.AST.Type.__Internal*)__Instance)->kind = value; } } - public global::CppSharp.Parser.AST.VTableLayout Layout + public bool IsDependent { get { - return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->layout)); + return ((global::CppSharp.Parser.AST.Type.__Internal*) __Instance)->isDependent != 0; } set { - ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->layout = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.VTableLayout.__Internal() : *(global::CppSharp.Parser.AST.VTableLayout.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.Type.__Internal*)__Instance)->isDependent = (byte) (value ? 1 : 0); } } } - public unsafe partial class LayoutField : IDisposable + public unsafe partial class TypeQualifiers : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 28)] + [StructLayout(LayoutKind.Explicit, Size = 3)] public partial struct __Internal { [FieldOffset(0)] - internal uint offset; - - [FieldOffset(4)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - - [FieldOffset(16)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - - [FieldOffset(24)] - internal global::System.IntPtr fieldPtr; + internal byte isConst; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutFieldC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + [FieldOffset(1)] + internal byte isVolatile; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutFieldC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr other); + [FieldOffset(2)] + internal byte isRestrict; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutFieldD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST14TypeQualifiersC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); } public global::System.IntPtr __Instance { get; protected set; } protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); protected internal void*[] __OriginalVTables; protected bool __ownsNativeInstance; - internal static global::CppSharp.Parser.AST.LayoutField __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TypeQualifiers __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.LayoutField(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TypeQualifiers(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.LayoutField __CreateInstance(global::CppSharp.Parser.AST.LayoutField.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TypeQualifiers __CreateInstance(global::CppSharp.Parser.AST.TypeQualifiers.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.LayoutField(native, skipVTables); + return new global::CppSharp.Parser.AST.TypeQualifiers(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.LayoutField.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypeQualifiers.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); - global::CppSharp.Parser.AST.LayoutField.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeQualifiers.__Internal)); + *(global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) ret = native; return ret.ToPointer(); } - private LayoutField(global::CppSharp.Parser.AST.LayoutField.__Internal native, bool skipVTables = false) + private TypeQualifiers(global::CppSharp.Parser.AST.TypeQualifiers.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected LayoutField(void* native, bool skipVTables = false) + protected TypeQualifiers(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public LayoutField() + public TypeQualifiers(global::CppSharp.Parser.AST.TypeQualifiers _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeQualifiers.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + *((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) _0.__Instance); } - public LayoutField(global::CppSharp.Parser.AST.LayoutField other) + public TypeQualifiers() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeQualifiers.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(other, null)) - throw new global::System.ArgumentNullException("other", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = other.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } public void Dispose() @@ -3648,154 +3508,128 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.LayoutField __dummy; + global::CppSharp.Parser.AST.TypeQualifiers __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - public uint Offset - { - get - { - return ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->offset; - } - - set - { - ((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->offset = value; - } - } - - public string Name + public bool IsConst { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->name)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + return ((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) __Instance)->isConst != 0; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->name), value); + ((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*)__Instance)->isConst = (byte) (value ? 1 : 0); } } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType + public bool IsVolatile { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->qualifiedType)); + return ((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) __Instance)->isVolatile != 0; } set { - ((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*)__Instance)->isVolatile = (byte) (value ? 1 : 0); } } - public global::System.IntPtr FieldPtr + public bool IsRestrict { get { - return ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->fieldPtr; + return ((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) __Instance)->isRestrict != 0; } set { - ((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->fieldPtr = (global::System.IntPtr) value; + ((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*)__Instance)->isRestrict = (byte) (value ? 1 : 0); } } } - public unsafe partial class LayoutBase : IDisposable + public unsafe partial class QualifiedType : IDisposable { [StructLayout(LayoutKind.Explicit, Size = 8)] public partial struct __Internal { [FieldOffset(0)] - internal uint offset; + internal global::System.IntPtr type; [FieldOffset(4)] - internal global::System.IntPtr _class; + internal global::CppSharp.Parser.AST.TypeQualifiers.__Internal qualifiers; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10LayoutBaseC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST13QualifiedTypeC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10LayoutBaseC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr other); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10LayoutBaseD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST13QualifiedTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); } public global::System.IntPtr __Instance { get; protected set; } protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); protected internal void*[] __OriginalVTables; protected bool __ownsNativeInstance; - internal static global::CppSharp.Parser.AST.LayoutBase __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.QualifiedType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.LayoutBase(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.QualifiedType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.LayoutBase __CreateInstance(global::CppSharp.Parser.AST.LayoutBase.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.QualifiedType __CreateInstance(global::CppSharp.Parser.AST.QualifiedType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.LayoutBase(native, skipVTables); + return new global::CppSharp.Parser.AST.QualifiedType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.LayoutBase.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.QualifiedType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); - global::CppSharp.Parser.AST.LayoutBase.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.QualifiedType.__Internal)); + *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) ret = native; return ret.ToPointer(); } - private LayoutBase(global::CppSharp.Parser.AST.LayoutBase.__Internal native, bool skipVTables = false) + private QualifiedType(global::CppSharp.Parser.AST.QualifiedType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected LayoutBase(void* native, bool skipVTables = false) + protected QualifiedType(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public LayoutBase() + public QualifiedType() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.QualifiedType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public LayoutBase(global::CppSharp.Parser.AST.LayoutBase other) + public QualifiedType(global::CppSharp.Parser.AST.QualifiedType _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.QualifiedType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(other, null)) - throw new global::System.ArgumentNullException("other", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = other.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + *((global::CppSharp.Parser.AST.QualifiedType.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.QualifiedType.__Internal*) _0.__Instance); } public void Dispose() @@ -3807,208 +3641,116 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.LayoutBase __dummy; + global::CppSharp.Parser.AST.QualifiedType __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - public uint Offset + public global::CppSharp.Parser.AST.Type Type { get { - return ((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->offset; + global::CppSharp.Parser.AST.Type __result0; + if (((global::CppSharp.Parser.AST.QualifiedType.__Internal*) __Instance)->type == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.QualifiedType.__Internal*) __Instance)->type)) + __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((global::CppSharp.Parser.AST.QualifiedType.__Internal*) __Instance)->type]; + else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((global::CppSharp.Parser.AST.QualifiedType.__Internal*) __Instance)->type); + return __result0; } set { - ((global::CppSharp.Parser.AST.LayoutBase.__Internal*)__Instance)->offset = value; + ((global::CppSharp.Parser.AST.QualifiedType.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public global::CppSharp.Parser.AST.Class Class + public global::CppSharp.Parser.AST.TypeQualifiers Qualifiers { get { - global::CppSharp.Parser.AST.Class __result0; - if (((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class)) - __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class]; - else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class); - return __result0; + return global::CppSharp.Parser.AST.TypeQualifiers.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.QualifiedType.__Internal*) __Instance)->qualifiers)); } set { - ((global::CppSharp.Parser.AST.LayoutBase.__Internal*)__Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.QualifiedType.__Internal*)__Instance)->qualifiers = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.TypeQualifiers.__Internal() : *(global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) value.__Instance; } } } - public unsafe partial class ClassLayout : IDisposable + public unsafe partial class TagType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 72)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 12)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CppAbi ABI; + internal global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_VFTableInfo___N_std_N___1_S_allocator__S0_ VFTables; - - [FieldOffset(16)] - internal global::CppSharp.Parser.AST.VTableLayout.__Internal layout; - - [FieldOffset(28)] - internal byte hasOwnVFPtr; - - [FieldOffset(32)] - internal int VBPtrOffset; - - [FieldOffset(36)] - internal int alignment; - - [FieldOffset(40)] - internal int size; - - [FieldOffset(44)] - internal int dataSize; - - [FieldOffset(48)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_LayoutField___N_std_N___1_S_allocator__S0_ Fields; + internal byte isDependent; - [FieldOffset(60)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_LayoutBase___N_std_N___1_S_allocator__S0_ Bases; + [FieldOffset(8)] + internal global::System.IntPtr declaration; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayoutC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST7TagTypeC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayoutC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST7TagTypeC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayoutD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout11getVFTablesEj")] - internal static extern void GetVFTables(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout11addVFTablesERNS1_11VFTableInfoE")] - internal static extern void AddVFTables(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout13clearVFTablesEv")] - internal static extern void ClearVFTables(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout9getFieldsEj")] - internal static extern void GetFields(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout9addFieldsERNS1_11LayoutFieldE")] - internal static extern void AddFields(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout11clearFieldsEv")] - internal static extern void ClearFields(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout8getBasesEj")] - internal static extern void GetBases(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout8addBasesERNS1_10LayoutBaseE")] - internal static extern void AddBases(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout10clearBasesEv")] - internal static extern void ClearBases(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout16getVFTablesCountEv")] - internal static extern uint GetVFTablesCount(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout14getFieldsCountEv")] - internal static extern uint GetFieldsCount(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout13getBasesCountEv")] - internal static extern uint GetBasesCount(global::System.IntPtr __instance); } - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.ClassLayout __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TagType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ClassLayout(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TagType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.ClassLayout __CreateInstance(global::CppSharp.Parser.AST.ClassLayout.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TagType __CreateInstance(global::CppSharp.Parser.AST.TagType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ClassLayout(native, skipVTables); + return new global::CppSharp.Parser.AST.TagType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ClassLayout.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TagType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); - global::CppSharp.Parser.AST.ClassLayout.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); + global::CppSharp.Parser.AST.TagType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private ClassLayout(global::CppSharp.Parser.AST.ClassLayout.__Internal native, bool skipVTables = false) + private TagType(global::CppSharp.Parser.AST.TagType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected ClassLayout(void* native, bool skipVTables = false) + protected TagType(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public ClassLayout() + public TagType() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public ClassLayout(global::CppSharp.Parser.AST.ClassLayout _0) + public TagType(global::CppSharp.Parser.AST.TagType _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -4017,146 +3759,144 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public void Dispose() + public global::CppSharp.Parser.AST.Declaration Declaration { - Dispose(disposing: true); - } + get + { + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration); + return __result0; + } - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.ClassLayout __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + set + { + ((global::CppSharp.Parser.AST.TagType.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } } + } - public global::CppSharp.Parser.AST.VFTableInfo GetVFTables(uint i) + public unsafe partial class ArrayType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 28)] + public new partial struct __Internal { - var __ret = new global::CppSharp.Parser.AST.VFTableInfo.__Internal(); - __Internal.GetVFTables(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.VFTableInfo.__CreateInstance(__ret); - } + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; - public void AddVFTables(global::CppSharp.Parser.AST.VFTableInfo s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddVFTables((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(4)] + internal byte isDependent; - public void ClearVFTables() - { - __Internal.ClearVFTables((__Instance + __PointerAdjustment)); - } + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - public global::CppSharp.Parser.AST.LayoutField GetFields(uint i) - { - var __ret = new global::CppSharp.Parser.AST.LayoutField.__Internal(); - __Internal.GetFields(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.LayoutField.__CreateInstance(__ret); + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.ArrayType.ArraySize sizeType; + + [FieldOffset(20)] + internal int size; + + [FieldOffset(24)] + internal int elementSize; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9ArrayTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9ArrayTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); } - public void AddFields(global::CppSharp.Parser.AST.LayoutField s) + public enum ArraySize { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddFields((__Instance + __PointerAdjustment), __arg0); + Constant = 0, + Variable = 1, + Dependent = 2, + Incomplete = 3 } - public void ClearFields() + internal static new global::CppSharp.Parser.AST.ArrayType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - __Internal.ClearFields((__Instance + __PointerAdjustment)); + return new global::CppSharp.Parser.AST.ArrayType(native.ToPointer(), skipVTables); } - public global::CppSharp.Parser.AST.LayoutBase GetBases(uint i) + internal static global::CppSharp.Parser.AST.ArrayType __CreateInstance(global::CppSharp.Parser.AST.ArrayType.__Internal native, bool skipVTables = false) { - var __ret = new global::CppSharp.Parser.AST.LayoutBase.__Internal(); - __Internal.GetBases(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.LayoutBase.__CreateInstance(__ret); + return new global::CppSharp.Parser.AST.ArrayType(native, skipVTables); } - public void AddBases(global::CppSharp.Parser.AST.LayoutBase s) + private static void* __CopyValue(global::CppSharp.Parser.AST.ArrayType.__Internal native) { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddBases((__Instance + __PointerAdjustment), __arg0); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); + global::CppSharp.Parser.AST.ArrayType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - public void ClearBases() + private ArrayType(global::CppSharp.Parser.AST.ArrayType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - __Internal.ClearBases((__Instance + __PointerAdjustment)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; } - public global::CppSharp.Parser.AST.CppAbi ABI + protected ArrayType(void* native, bool skipVTables = false) + : base((void*) null) { - get - { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->ABI; - } - - set - { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->ABI = value; - } + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - public global::CppSharp.Parser.AST.VTableLayout Layout + public ArrayType() + : this((void*) null) { - get - { - return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->layout)); - } - - set - { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->layout = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.VTableLayout.__Internal() : *(global::CppSharp.Parser.AST.VTableLayout.__Internal*) value.__Instance; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); } - public bool HasOwnVFPtr + public ArrayType(global::CppSharp.Parser.AST.ArrayType _0) + : this((void*) null) { - get - { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->hasOwnVFPtr != 0; - } - - set - { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->hasOwnVFPtr = (byte) (value ? 1 : 0); - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public int VBPtrOffset + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { get { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->VBPtrOffset; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->qualifiedType)); } set { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->VBPtrOffset = value; + ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public int Alignment + public global::CppSharp.Parser.AST.ArrayType.ArraySize SizeType { get { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->alignment; + return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->sizeType; } set { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->alignment = value; + ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->sizeType = value; } } @@ -4164,227 +3904,134 @@ namespace CppSharp { get { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->size; + return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->size; } set { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->size = value; + ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->size = value; } } - public int DataSize + public int ElementSize { get { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->dataSize; + return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->elementSize; } set { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->dataSize = value; - } - } - - public uint VFTablesCount - { - get - { - var __ret = __Internal.GetVFTablesCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint FieldsCount - { - get - { - var __ret = __Internal.GetFieldsCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint BasesCount - { - get - { - var __ret = __Internal.GetBasesCount((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->elementSize = value; } } } - public unsafe partial class Declaration : IDisposable + public unsafe partial class FunctionType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 108)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 36)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - internal int maxFieldAlignment; + internal byte isDependent; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(12)] - internal global::System.IntPtr _namespace; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; [FieldOffset(16)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + internal global::CppSharp.Parser.AST.CallingConvention callingConvention; [FieldOffset(20)] - internal int lineNumberStart; + internal global::CppSharp.Parser.AST.ExceptionSpecType exceptionSpecType; [FieldOffset(24)] - internal int lineNumberEnd; - - [FieldOffset(28)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_N___1_S_allocator__S0_ Parameters; - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); - [FieldOffset(52)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - [FieldOffset(64)] - internal byte isIncomplete; - - [FieldOffset(65)] - internal byte isDependent; - - [FieldOffset(66)] - internal byte isImplicit; - - [FieldOffset(67)] - internal byte isInvalid; - - [FieldOffset(68)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(72)] - internal uint definitionOrder; - - [FieldOffset(76)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(88)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; - - [FieldOffset(100)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(104)] - internal global::System.IntPtr comment; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11DeclarationC2ENS1_15DeclarationKindE")] - internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.DeclarationKind kind); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionTypeD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11DeclarationC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11DeclarationD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration23getPreprocessedEntitiesEj")] - internal static extern global::System.IntPtr GetPreprocessedEntities(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration23addPreprocessedEntitiesERPNS1_18PreprocessedEntityE")] - internal static extern void AddPreprocessedEntities(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration25clearPreprocessedEntitiesEv")] - internal static extern void ClearPreprocessedEntities(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration17getRedeclarationsEj")] - internal static extern global::System.IntPtr GetRedeclarations(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration17addRedeclarationsERPS2_")] - internal static extern void AddRedeclarations(global::System.IntPtr __instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType13getParametersEj")] + internal static extern global::System.IntPtr GetParameters(global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration19clearRedeclarationsEv")] - internal static extern void ClearRedeclarations(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType13addParametersERPNS1_9ParameterE")] + internal static extern void AddParameters(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration28getPreprocessedEntitiesCountEv")] - internal static extern uint GetPreprocessedEntitiesCount(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType15clearParametersEv")] + internal static extern void ClearParameters(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration22getRedeclarationsCountEv")] - internal static extern uint GetRedeclarationsCount(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType18getParametersCountEv")] + internal static extern uint GetParametersCount(global::System.IntPtr __instance); } - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.Declaration __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.FunctionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Declaration(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.FunctionType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Declaration __CreateInstance(global::CppSharp.Parser.AST.Declaration.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.FunctionType __CreateInstance(global::CppSharp.Parser.AST.FunctionType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Declaration(native, skipVTables); + return new global::CppSharp.Parser.AST.FunctionType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Declaration.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); - global::CppSharp.Parser.AST.Declaration.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); + global::CppSharp.Parser.AST.FunctionType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Declaration(global::CppSharp.Parser.AST.Declaration.__Internal native, bool skipVTables = false) + private FunctionType(global::CppSharp.Parser.AST.FunctionType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Declaration(void* native, bool skipVTables = false) + protected FunctionType(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public Declaration(global::CppSharp.Parser.AST.DeclarationKind kind) + public FunctionType() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), kind); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public Declaration(global::CppSharp.Parser.AST.Declaration _0) + public FunctionType(global::CppSharp.Parser.AST.FunctionType _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -4393,16 +4040,11 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.Type __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -4411,655 +4053,552 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.PreprocessedEntity GetPreprocessedEntities(uint i) - { - var __ret = __Internal.GetPreprocessedEntities((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.PreprocessedEntity __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.PreprocessedEntity.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.PreprocessedEntity) global::CppSharp.Parser.AST.PreprocessedEntity.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.PreprocessedEntity.__CreateInstance(__ret); - return __result0; - } - - public void AddPreprocessedEntities(global::CppSharp.Parser.AST.PreprocessedEntity s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddPreprocessedEntities((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearPreprocessedEntities() - { - __Internal.ClearPreprocessedEntities((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.Declaration GetRedeclarations(uint i) + public global::CppSharp.Parser.AST.Parameter GetParameters(uint i) { - var __ret = __Internal.GetRedeclarations((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Declaration __result0; + var __ret = __Internal.GetParameters((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Parameter __result0; if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(__ret); + else if (global::CppSharp.Parser.AST.Parameter.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Parameter) global::CppSharp.Parser.AST.Parameter.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Parameter.__CreateInstance(__ret); return __result0; } - public void AddRedeclarations(global::CppSharp.Parser.AST.Declaration s) + public void AddParameters(global::CppSharp.Parser.AST.Parameter s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddRedeclarations((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearRedeclarations() - { - __Internal.ClearRedeclarations((__Instance + __PointerAdjustment)); + __Internal.AddParameters((__Instance + __PointerAdjustment), __arg0); } - public static implicit operator global::CppSharp.Parser.AST.Declaration(global::CppSharp.Parser.AST.DeclarationKind kind) + public void ClearParameters() { - return new global::CppSharp.Parser.AST.Declaration(kind); + __Internal.ClearParameters((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.DeclarationKind Kind + public global::CppSharp.Parser.AST.QualifiedType ReturnType { get { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->kind; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->returnType)); } set { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->kind = value; + ((global::CppSharp.Parser.AST.FunctionType.__Internal*)__Instance)->returnType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public int MaxFieldAlignment + public global::CppSharp.Parser.AST.CallingConvention CallingConvention { get { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->maxFieldAlignment; + return ((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->callingConvention; } set { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->maxFieldAlignment = value; + ((global::CppSharp.Parser.AST.FunctionType.__Internal*)__Instance)->callingConvention = value; } } - public global::CppSharp.Parser.AST.AccessSpecifier Access + public global::CppSharp.Parser.AST.ExceptionSpecType ExceptionSpecType { get { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->access; + return ((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->exceptionSpecType; } set { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->access = value; + ((global::CppSharp.Parser.AST.FunctionType.__Internal*)__Instance)->exceptionSpecType = value; } } - public global::CppSharp.Parser.AST.DeclarationContext Namespace + public uint ParametersCount { get { - global::CppSharp.Parser.AST.DeclarationContext __result0; - if (((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.DeclarationContext.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace)) - __result0 = (global::CppSharp.Parser.AST.DeclarationContext) global::CppSharp.Parser.AST.DeclarationContext.NativeToManagedMap[((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace]; - else __result0 = global::CppSharp.Parser.AST.DeclarationContext.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->_namespace = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + var __ret = __Internal.GetParametersCount((__Instance + __PointerAdjustment)); + return __ret; } } + } - public global::CppSharp.Parser.SourceLocation Location + public unsafe partial class PointerType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 20)] + public new partial struct __Internal { - get - { - return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->location); - } + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->location = value.__Instance; - } - } + [FieldOffset(4)] + internal byte isDependent; - public int LineNumberStart - { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->lineNumberStart; - } + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedPointee; - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->lineNumberStart = value; - } + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.PointerType.TypeModifier modifier; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11PointerTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11PointerTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); } - public int LineNumberEnd + public enum TypeModifier { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->lineNumberEnd; - } - - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->lineNumberEnd = value; - } + Value = 0, + Pointer = 1, + LVReference = 2, + RVReference = 3 } - public string Name + internal static new global::CppSharp.Parser.AST.PointerType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->name)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->name), value); - } + return new global::CppSharp.Parser.AST.PointerType(native.ToPointer(), skipVTables); } - public string USR + internal static global::CppSharp.Parser.AST.PointerType __CreateInstance(global::CppSharp.Parser.AST.PointerType.__Internal native, bool skipVTables = false) { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->USR)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + return new global::CppSharp.Parser.AST.PointerType(native, skipVTables); + } - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->USR), value); - } + private static void* __CopyValue(global::CppSharp.Parser.AST.PointerType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); + global::CppSharp.Parser.AST.PointerType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - public string DebugText + private PointerType(global::CppSharp.Parser.AST.PointerType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->debugText)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->debugText), value); - } + protected PointerType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - public bool IsIncomplete + public PointerType() + : this((void*) null) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isIncomplete != 0; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isIncomplete = (byte) (value ? 1 : 0); - } + public PointerType(global::CppSharp.Parser.AST.PointerType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public bool IsDependent + public global::CppSharp.Parser.AST.QualifiedType QualifiedPointee { get { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isDependent != 0; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->qualifiedPointee)); } set { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isDependent = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.PointerType.__Internal*)__Instance)->qualifiedPointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public bool IsImplicit + public global::CppSharp.Parser.AST.PointerType.TypeModifier Modifier { get { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isImplicit != 0; + return ((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->modifier; } set { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isImplicit = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.PointerType.__Internal*)__Instance)->modifier = value; } } + } - public bool IsInvalid + public unsafe partial class MemberPointerType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 16)] + public new partial struct __Internal { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isInvalid != 0; - } + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isInvalid = (byte) (value ? 1 : 0); - } + [FieldOffset(4)] + internal byte isDependent; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17MemberPointerTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17MemberPointerTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); } - public global::CppSharp.Parser.AST.Declaration CompleteDeclaration + internal static new global::CppSharp.Parser.AST.MemberPointerType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - get - { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->completeDeclaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + return new global::CppSharp.Parser.AST.MemberPointerType(native.ToPointer(), skipVTables); } - public uint DefinitionOrder + internal static global::CppSharp.Parser.AST.MemberPointerType __CreateInstance(global::CppSharp.Parser.AST.MemberPointerType.__Internal native, bool skipVTables = false) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->definitionOrder; - } + return new global::CppSharp.Parser.AST.MemberPointerType(native, skipVTables); + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->definitionOrder = value; - } + private static void* __CopyValue(global::CppSharp.Parser.AST.MemberPointerType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); + global::CppSharp.Parser.AST.MemberPointerType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - public global::System.IntPtr OriginalPtr + private MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->originalPtr; - } + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->originalPtr = (global::System.IntPtr) value; - } + protected MemberPointerType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - public global::CppSharp.Parser.AST.RawComment Comment + public MemberPointerType() + : this((void*) null) { - get - { - global::CppSharp.Parser.AST.RawComment __result0; - if (((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.RawComment.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment)) - __result0 = (global::CppSharp.Parser.AST.RawComment) global::CppSharp.Parser.AST.RawComment.NativeToManagedMap[((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment]; - else __result0 = global::CppSharp.Parser.AST.RawComment.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment); - return __result0; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->comment = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + public MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public uint PreprocessedEntitiesCount + public global::CppSharp.Parser.AST.QualifiedType Pointee { get { - var __ret = __Internal.GetPreprocessedEntitiesCount((__Instance + __PointerAdjustment)); - return __ret; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MemberPointerType.__Internal*) __Instance)->pointee)); } - } - public uint RedeclarationsCount - { - get + set { - var __ret = __Internal.GetRedeclarationsCount((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.MemberPointerType.__Internal*)__Instance)->pointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } } - public unsafe partial class DeclarationContext : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class TypedefType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 232)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - internal int maxFieldAlignment; + internal byte isDependent; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + internal global::System.IntPtr declaration; - [FieldOffset(12)] - internal global::System.IntPtr _namespace; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); - [FieldOffset(16)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } - [FieldOffset(20)] - internal int lineNumberStart; + internal static new global::CppSharp.Parser.AST.TypedefType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TypedefType(native.ToPointer(), skipVTables); + } - [FieldOffset(24)] - internal int lineNumberEnd; + internal static global::CppSharp.Parser.AST.TypedefType __CreateInstance(global::CppSharp.Parser.AST.TypedefType.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TypedefType(native, skipVTables); + } - [FieldOffset(28)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); + global::CppSharp.Parser.AST.TypedefType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + private TypedefType(global::CppSharp.Parser.AST.TypedefType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(52)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + protected TypedefType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(64)] - internal byte isIncomplete; + public TypedefType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [FieldOffset(65)] - internal byte isDependent; + public TypedefType(global::CppSharp.Parser.AST.TypedefType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(66)] - internal byte isImplicit; + public global::CppSharp.Parser.AST.TypedefNameDecl Declaration + { + get + { + global::CppSharp.Parser.AST.TypedefNameDecl __result0; + if (((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TypedefNameDecl.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration)) + __result0 = (global::CppSharp.Parser.AST.TypedefNameDecl) global::CppSharp.Parser.AST.TypedefNameDecl.NativeToManagedMap[((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration]; + else __result0 = global::CppSharp.Parser.AST.TypedefNameDecl.__CreateInstance(((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration); + return __result0; + } - [FieldOffset(67)] - internal byte isInvalid; + set + { + ((global::CppSharp.Parser.AST.TypedefType.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } - [FieldOffset(68)] - internal global::System.IntPtr completeDeclaration; + public unsafe partial class AttributedType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; - [FieldOffset(72)] - internal uint definitionOrder; + [FieldOffset(4)] + internal byte isDependent; - [FieldOffset(76)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal modified; - [FieldOffset(88)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal equivalent; - [FieldOffset(100)] - internal global::System.IntPtr originalPtr; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14AttributedTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); - [FieldOffset(104)] - internal global::System.IntPtr comment; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14AttributedTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } - [FieldOffset(108)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; + internal static new global::CppSharp.Parser.AST.AttributedType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AttributedType(native.ToPointer(), skipVTables); + } - [FieldOffset(120)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; + internal static global::CppSharp.Parser.AST.AttributedType __CreateInstance(global::CppSharp.Parser.AST.AttributedType.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AttributedType(native, skipVTables); + } - [FieldOffset(132)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; + private static void* __CopyValue(global::CppSharp.Parser.AST.AttributedType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + global::CppSharp.Parser.AST.AttributedType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(144)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; + private AttributedType(global::CppSharp.Parser.AST.AttributedType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(156)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; + protected AttributedType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(168)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; + public AttributedType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [FieldOffset(180)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; + public AttributedType(global::CppSharp.Parser.AST.AttributedType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(192)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; + public global::CppSharp.Parser.AST.QualifiedType Modified + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.AttributedType.__Internal*) __Instance)->modified)); + } - [FieldOffset(204)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; + set + { + ((global::CppSharp.Parser.AST.AttributedType.__Internal*)__Instance)->modified = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } - [FieldOffset(216)] - internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; + public global::CppSharp.Parser.AST.QualifiedType Equivalent + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.AttributedType.__Internal*) __Instance)->equivalent)); + } - [FieldOffset(228)] - internal byte isAnonymous; + set + { + ((global::CppSharp.Parser.AST.AttributedType.__Internal*)__Instance)->equivalent = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContextC2ENS1_15DeclarationKindE")] - internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.DeclarationKind kind); + public unsafe partial class DecayedType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContextC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + [FieldOffset(4)] + internal byte isDependent; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContextD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal decayed; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext13getNamespacesEj")] - internal static extern global::System.IntPtr GetNamespaces(global::System.IntPtr __instance, uint i); + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal original; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext13addNamespacesERPNS1_9NamespaceE")] - internal static extern void AddNamespaces(global::System.IntPtr __instance, global::System.IntPtr s); + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext15clearNamespacesEv")] - internal static extern void ClearNamespaces(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11DecayedTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext8getEnumsEj")] - internal static extern global::System.IntPtr GetEnums(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext8addEnumsERPNS1_11EnumerationE")] - internal static extern void AddEnums(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10clearEnumsEv")] - internal static extern void ClearEnums(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12getFunctionsEj")] - internal static extern global::System.IntPtr GetFunctions(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12addFunctionsERPNS1_8FunctionE")] - internal static extern void AddFunctions(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14clearFunctionsEv")] - internal static extern void ClearFunctions(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10getClassesEj")] - internal static extern global::System.IntPtr GetClasses(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10addClassesERPNS1_5ClassE")] - internal static extern void AddClasses(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12clearClassesEv")] - internal static extern void ClearClasses(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12getTemplatesEj")] - internal static extern global::System.IntPtr GetTemplates(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12addTemplatesERPNS1_8TemplateE")] - internal static extern void AddTemplates(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14clearTemplatesEv")] - internal static extern void ClearTemplates(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext11getTypedefsEj")] - internal static extern global::System.IntPtr GetTypedefs(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext11addTypedefsERPNS1_11TypedefDeclE")] - internal static extern void AddTypedefs(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext13clearTypedefsEv")] - internal static extern void ClearTypedefs(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14getTypeAliasesEj")] - internal static extern global::System.IntPtr GetTypeAliases(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14addTypeAliasesERPNS1_9TypeAliasE")] - internal static extern void AddTypeAliases(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext16clearTypeAliasesEv")] - internal static extern void ClearTypeAliases(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12getVariablesEj")] - internal static extern global::System.IntPtr GetVariables(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12addVariablesERPNS1_8VariableE")] - internal static extern void AddVariables(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14clearVariablesEv")] - internal static extern void ClearVariables(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10getFriendsEj")] - internal static extern global::System.IntPtr GetFriends(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10addFriendsERPNS1_6FriendE")] - internal static extern void AddFriends(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12clearFriendsEv")] - internal static extern void ClearFriends(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext18getNamespacesCountEv")] - internal static extern uint GetNamespacesCount(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext13getEnumsCountEv")] - internal static extern uint GetEnumsCount(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext17getFunctionsCountEv")] - internal static extern uint GetFunctionsCount(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext15getClassesCountEv")] - internal static extern uint GetClassesCount(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext17getTemplatesCountEv")] - internal static extern uint GetTemplatesCount(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext16getTypedefsCountEv")] - internal static extern uint GetTypedefsCount(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext19getTypeAliasesCountEv")] - internal static extern uint GetTypeAliasesCount(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext17getVariablesCountEv")] - internal static extern uint GetVariablesCount(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext15getFriendsCountEv")] - internal static extern uint GetFriendsCount(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11DecayedTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); } - internal static new global::CppSharp.Parser.AST.DeclarationContext __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.DecayedType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.DeclarationContext(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.DecayedType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.DeclarationContext __CreateInstance(global::CppSharp.Parser.AST.DeclarationContext.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.DecayedType __CreateInstance(global::CppSharp.Parser.AST.DecayedType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.DeclarationContext(native, skipVTables); + return new global::CppSharp.Parser.AST.DecayedType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.DeclarationContext.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.DecayedType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); - global::CppSharp.Parser.AST.DeclarationContext.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); + global::CppSharp.Parser.AST.DecayedType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private DeclarationContext(global::CppSharp.Parser.AST.DeclarationContext.__Internal native, bool skipVTables = false) + private DecayedType(global::CppSharp.Parser.AST.DecayedType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected DeclarationContext(void* native, bool skipVTables = false) + protected DecayedType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -5068,19 +4607,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public DeclarationContext(global::CppSharp.Parser.AST.DeclarationKind kind) + public DecayedType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), kind); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public DeclarationContext(global::CppSharp.Parser.AST.DeclarationContext _0) + public DecayedType(global::CppSharp.Parser.AST.DecayedType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -5089,444 +4628,296 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public global::CppSharp.Parser.AST.QualifiedType Decayed { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->decayed)); + } - public global::CppSharp.Parser.AST.Namespace GetNamespaces(uint i) - { - var __ret = __Internal.GetNamespaces((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Namespace __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Namespace.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Namespace) global::CppSharp.Parser.AST.Namespace.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Namespace.__CreateInstance(__ret); - return __result0; + set + { + ((global::CppSharp.Parser.AST.DecayedType.__Internal*)__Instance)->decayed = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } - public void AddNamespaces(global::CppSharp.Parser.AST.Namespace s) + public global::CppSharp.Parser.AST.QualifiedType Original { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddNamespaces((__Instance + __PointerAdjustment), __arg0); - } + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->original)); + } - public void ClearNamespaces() - { - __Internal.ClearNamespaces((__Instance + __PointerAdjustment)); + set + { + ((global::CppSharp.Parser.AST.DecayedType.__Internal*)__Instance)->original = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } - public global::CppSharp.Parser.AST.Enumeration GetEnums(uint i) + public global::CppSharp.Parser.AST.QualifiedType Pointee { - var __ret = __Internal.GetEnums((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Enumeration __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Enumeration.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Enumeration) global::CppSharp.Parser.AST.Enumeration.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Enumeration.__CreateInstance(__ret); - return __result0; + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->pointee)); + } + + set + { + ((global::CppSharp.Parser.AST.DecayedType.__Internal*)__Instance)->pointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } + } - public void AddEnums(global::CppSharp.Parser.AST.Enumeration s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddEnums((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearEnums() - { - __Internal.ClearEnums((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.Function GetFunctions(uint i) - { - var __ret = __Internal.GetFunctions((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Function __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(__ret); - return __result0; - } - - public void AddFunctions(global::CppSharp.Parser.AST.Function s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddFunctions((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearFunctions() - { - __Internal.ClearFunctions((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.Class GetClasses(uint i) + public unsafe partial class TemplateArgument : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 20)] + public partial struct __Internal { - var __ret = __Internal.GetClasses((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Class __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(__ret); - return __result0; - } + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind kind; - public void AddClasses(global::CppSharp.Parser.AST.Class s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddClasses((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(4)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; - public void ClearClasses() - { - __Internal.ClearClasses((__Instance + __PointerAdjustment)); - } + [FieldOffset(12)] + internal global::System.IntPtr declaration; - public global::CppSharp.Parser.AST.Template GetTemplates(uint i) - { - var __ret = __Internal.GetTemplates((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Template __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Template.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Template) global::CppSharp.Parser.AST.Template.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Template.__CreateInstance(__ret); - return __result0; - } + [FieldOffset(16)] + internal int integral; - public void AddTemplates(global::CppSharp.Parser.AST.Template s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddTemplates((__Instance + __PointerAdjustment), __arg0); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16TemplateArgumentC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); - public void ClearTemplates() - { - __Internal.ClearTemplates((__Instance + __PointerAdjustment)); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16TemplateArgumentC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); } - public global::CppSharp.Parser.AST.TypedefDecl GetTypedefs(uint i) + public enum ArgumentKind { - var __ret = __Internal.GetTypedefs((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.TypedefDecl __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TypedefDecl.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.TypedefDecl) global::CppSharp.Parser.AST.TypedefDecl.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.TypedefDecl.__CreateInstance(__ret); - return __result0; + Type = 0, + Declaration = 1, + NullPtr = 2, + Integral = 3, + Template = 4, + TemplateExpansion = 5, + Expression = 6, + Pack = 7 } - public void AddTypedefs(global::CppSharp.Parser.AST.TypedefDecl s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddTypedefs((__Instance + __PointerAdjustment), __arg0); - } + public global::System.IntPtr __Instance { get; protected set; } - public void ClearTypedefs() - { - __Internal.ClearTypedefs((__Instance + __PointerAdjustment)); - } + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; - public global::CppSharp.Parser.AST.TypeAlias GetTypeAliases(uint i) - { - var __ret = __Internal.GetTypeAliases((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.TypeAlias __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TypeAlias.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.TypeAlias) global::CppSharp.Parser.AST.TypeAlias.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.TypeAlias.__CreateInstance(__ret); - return __result0; - } + protected bool __ownsNativeInstance; - public void AddTypeAliases(global::CppSharp.Parser.AST.TypeAlias s) + internal static global::CppSharp.Parser.AST.TemplateArgument __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddTypeAliases((__Instance + __PointerAdjustment), __arg0); + return new global::CppSharp.Parser.AST.TemplateArgument(native.ToPointer(), skipVTables); } - public void ClearTypeAliases() + internal static global::CppSharp.Parser.AST.TemplateArgument __CreateInstance(global::CppSharp.Parser.AST.TemplateArgument.__Internal native, bool skipVTables = false) { - __Internal.ClearTypeAliases((__Instance + __PointerAdjustment)); + return new global::CppSharp.Parser.AST.TemplateArgument(native, skipVTables); } - public global::CppSharp.Parser.AST.Variable GetVariables(uint i) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateArgument.__Internal native) { - var __ret = __Internal.GetVariables((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Variable __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Variable.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Variable) global::CppSharp.Parser.AST.Variable.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Variable.__CreateInstance(__ret); - return __result0; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + *(global::CppSharp.Parser.AST.TemplateArgument.__Internal*) ret = native; + return ret.ToPointer(); } - public void AddVariables(global::CppSharp.Parser.AST.Variable s) + private TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddVariables((__Instance + __PointerAdjustment), __arg0); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; } - public void ClearVariables() + protected TemplateArgument(void* native, bool skipVTables = false) { - __Internal.ClearVariables((__Instance + __PointerAdjustment)); + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - public global::CppSharp.Parser.AST.Friend GetFriends(uint i) + public TemplateArgument() { - var __ret = __Internal.GetFriends((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Friend __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Friend.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Friend) global::CppSharp.Parser.AST.Friend.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Friend.__CreateInstance(__ret); - return __result0; + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); } - public void AddFriends(global::CppSharp.Parser.AST.Friend s) + public TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument _0) { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddFriends((__Instance + __PointerAdjustment), __arg0); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) _0.__Instance); } - public void ClearFriends() + public void Dispose() { - __Internal.ClearFriends((__Instance + __PointerAdjustment)); + Dispose(disposing: true); } - public static implicit operator global::CppSharp.Parser.AST.DeclarationContext(global::CppSharp.Parser.AST.DeclarationKind kind) + public virtual void Dispose(bool disposing) { - return new global::CppSharp.Parser.AST.DeclarationContext(kind); + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.TemplateArgument __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } - public bool IsAnonymous + public global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind Kind { get { - return ((global::CppSharp.Parser.AST.DeclarationContext.__Internal*) __Instance)->isAnonymous != 0; + return ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->kind; } set { - ((global::CppSharp.Parser.AST.DeclarationContext.__Internal*)__Instance)->isAnonymous = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->kind = value; } } - public uint NamespacesCount + public global::CppSharp.Parser.AST.QualifiedType Type { get { - var __ret = __Internal.GetNamespacesCount((__Instance + __PointerAdjustment)); - return __ret; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->type)); } - } - public uint EnumsCount - { - get + set { - var __ret = __Internal.GetEnumsCount((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public uint FunctionsCount + public global::CppSharp.Parser.AST.Declaration Declaration { get { - var __ret = __Internal.GetFunctionsCount((__Instance + __PointerAdjustment)); - return __ret; + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration); + return __result0; } - } - public uint ClassesCount - { - get + set { - var __ret = __Internal.GetClassesCount((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public uint TemplatesCount + public int Integral { get { - var __ret = __Internal.GetTemplatesCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->integral; } - } - public uint TypedefsCount - { - get - { - var __ret = __Internal.GetTypedefsCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint TypeAliasesCount - { - get - { - var __ret = __Internal.GetTypeAliasesCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint VariablesCount - { - get - { - var __ret = __Internal.GetVariablesCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint FriendsCount - { - get + set { - var __ret = __Internal.GetFriendsCount((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->integral = value; } } } - public unsafe partial class TypedefNameDecl : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class TemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 116)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - internal int maxFieldAlignment; + internal byte isDependent; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(12)] - internal global::System.IntPtr _namespace; - - [FieldOffset(16)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ Arguments; [FieldOffset(20)] - internal int lineNumberStart; + internal global::System.IntPtr _template; [FieldOffset(24)] - internal int lineNumberEnd; - - [FieldOffset(28)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - - [FieldOffset(52)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; - - [FieldOffset(64)] - internal byte isIncomplete; - - [FieldOffset(65)] - internal byte isDependent; - - [FieldOffset(66)] - internal byte isImplicit; - - [FieldOffset(67)] - internal byte isInvalid; - - [FieldOffset(68)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(72)] - internal uint definitionOrder; - - [FieldOffset(76)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; - [FieldOffset(88)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); - [FieldOffset(100)] - internal global::System.IntPtr originalPtr; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - [FieldOffset(104)] - internal global::System.IntPtr comment; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); - [FieldOffset(108)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType12getArgumentsEj")] + internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TypedefNameDeclC2ENS1_15DeclarationKindE")] - internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.DeclarationKind kind); + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType12addArgumentsERNS1_16TemplateArgumentE")] + internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TypedefNameDeclC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType14clearArgumentsEv")] + internal static extern void ClearArguments(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TypedefNameDeclD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType17getArgumentsCountEv")] + internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.TypedefNameDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TemplateSpecializationType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypedefNameDecl(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TemplateSpecializationType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TypedefNameDecl __CreateInstance(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TemplateSpecializationType __CreateInstance(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypedefNameDecl(native, skipVTables); + return new global::CppSharp.Parser.AST.TemplateSpecializationType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); - global::CppSharp.Parser.AST.TypedefNameDecl.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); + global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native, bool skipVTables = false) + private TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TypedefNameDecl(void* native, bool skipVTables = false) + protected TemplateSpecializationType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -5535,19 +4926,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) + public TemplateSpecializationType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), kind); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl _0) + public TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -5560,7 +4951,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.Type __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -5569,134 +4960,145 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public static implicit operator global::CppSharp.Parser.AST.TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) { - return new global::CppSharp.Parser.AST.TypedefNameDecl(kind); + var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); + __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType + public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearArguments() + { + __Internal.ClearArguments((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Template Template { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TypedefNameDecl.__Internal*) __Instance)->qualifiedType)); + global::CppSharp.Parser.AST.Template __result0; + if (((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Template.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template)) + __result0 = (global::CppSharp.Parser.AST.Template) global::CppSharp.Parser.AST.Template.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template]; + else __result0 = global::CppSharp.Parser.AST.Template.__CreateInstance(((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template); + return __result0; } set { - ((global::CppSharp.Parser.AST.TypedefNameDecl.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*)__Instance)->_template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType Desugared + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->desugared)); + } + + set + { + ((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*)__Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public uint ArgumentsCount + { + get + { + var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class TypedefDecl : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable + public unsafe partial class DependentTemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 116)] + [StructLayout(LayoutKind.Explicit, Size = 28)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - internal int maxFieldAlignment; + internal byte isDependent; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(12)] - internal global::System.IntPtr _namespace; - - [FieldOffset(16)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ Arguments; [FieldOffset(20)] - internal int lineNumberStart; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; - [FieldOffset(24)] - internal int lineNumberEnd; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); - [FieldOffset(28)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationTypeD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); - [FieldOffset(52)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType12getArgumentsEj")] + internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); - [FieldOffset(64)] - internal byte isIncomplete; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType12addArgumentsERNS1_16TemplateArgumentE")] + internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); - [FieldOffset(65)] - internal byte isDependent; - - [FieldOffset(66)] - internal byte isImplicit; - - [FieldOffset(67)] - internal byte isInvalid; - - [FieldOffset(68)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(72)] - internal uint definitionOrder; - - [FieldOffset(76)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(88)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; - - [FieldOffset(100)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(104)] - internal global::System.IntPtr comment; - - [FieldOffset(108)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefDeclC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType14clearArgumentsEv")] + internal static extern void ClearArguments(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefDeclC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefDeclD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType17getArgumentsCountEv")] + internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.TypedefDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.DependentTemplateSpecializationType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypedefDecl(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.DependentTemplateSpecializationType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TypedefDecl __CreateInstance(global::CppSharp.Parser.AST.TypedefDecl.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.DependentTemplateSpecializationType __CreateInstance(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypedefDecl(native, skipVTables); + return new global::CppSharp.Parser.AST.DependentTemplateSpecializationType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefDecl.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); - global::CppSharp.Parser.AST.TypedefDecl.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); + global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl.__Internal native, bool skipVTables = false) + private DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TypedefDecl(void* native, bool skipVTables = false) + protected DependentTemplateSpecializationType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -5705,19 +5107,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TypedefDecl() + public DependentTemplateSpecializationType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl _0) + public DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -5730,7 +5132,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.Type __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -5738,120 +5140,114 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } + + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) + { + var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); + __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); + } + + public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearArguments() + { + __Internal.ClearArguments((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.QualifiedType Desugared + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal*) __Instance)->desugared)); + } + + set + { + ((global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal*)__Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public uint ArgumentsCount + { + get + { + var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } } - public unsafe partial class TypeAlias : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable + public unsafe partial class TemplateParameterType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 120)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - internal int maxFieldAlignment; + internal byte isDependent; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + internal global::System.IntPtr parameter; [FieldOffset(12)] - internal global::System.IntPtr _namespace; + internal uint depth; [FieldOffset(16)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + internal uint index; [FieldOffset(20)] - internal int lineNumberStart; - - [FieldOffset(24)] - internal int lineNumberEnd; - - [FieldOffset(28)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - - [FieldOffset(52)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; - - [FieldOffset(64)] - internal byte isIncomplete; - - [FieldOffset(65)] - internal byte isDependent; - - [FieldOffset(66)] - internal byte isImplicit; - - [FieldOffset(67)] - internal byte isInvalid; - - [FieldOffset(68)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(72)] - internal uint definitionOrder; - - [FieldOffset(76)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(88)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; - - [FieldOffset(100)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(104)] - internal global::System.IntPtr comment; - - [FieldOffset(108)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - - [FieldOffset(116)] - internal global::System.IntPtr describedAliasTemplate; + internal byte isParameterPack; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9TypeAliasC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9TypeAliasC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9TypeAliasD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.TypeAlias __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TemplateParameterType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypeAlias(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TemplateParameterType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TypeAlias __CreateInstance(global::CppSharp.Parser.AST.TypeAlias.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TemplateParameterType __CreateInstance(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypeAlias(native, skipVTables); + return new global::CppSharp.Parser.AST.TemplateParameterType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypeAlias.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); - global::CppSharp.Parser.AST.TypeAlias.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); + global::CppSharp.Parser.AST.TemplateParameterType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TypeAlias(global::CppSharp.Parser.AST.TypeAlias.__Internal native, bool skipVTables = false) + private TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TypeAlias(void* native, bool skipVTables = false) + protected TemplateParameterType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -5860,19 +5256,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TypeAlias() + public TemplateParameterType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TypeAlias(global::CppSharp.Parser.AST.TypeAlias _0) + public TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -5885,7 +5281,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.Type __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -5894,134 +5290,117 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TypeAliasTemplate DescribedAliasTemplate + public global::CppSharp.Parser.AST.TypeTemplateParameter Parameter { get { - global::CppSharp.Parser.AST.TypeAliasTemplate __result0; - if (((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TypeAliasTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate)) - __result0 = (global::CppSharp.Parser.AST.TypeAliasTemplate) global::CppSharp.Parser.AST.TypeAliasTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate]; - else __result0 = global::CppSharp.Parser.AST.TypeAliasTemplate.__CreateInstance(((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate); + global::CppSharp.Parser.AST.TypeTemplateParameter __result0; + if (((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TypeTemplateParameter.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter)) + __result0 = (global::CppSharp.Parser.AST.TypeTemplateParameter) global::CppSharp.Parser.AST.TypeTemplateParameter.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter]; + else __result0 = global::CppSharp.Parser.AST.TypeTemplateParameter.__CreateInstance(((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter); return __result0; } set { - ((global::CppSharp.Parser.AST.TypeAlias.__Internal*)__Instance)->describedAliasTemplate = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->parameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - } - public unsafe partial class Friend : global::CppSharp.Parser.AST.Declaration, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 112)] - public new partial struct __Internal + public uint Depth { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + get + { + return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->depth; + } - [FieldOffset(12)] - internal global::System.IntPtr _namespace; + set + { + ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->depth = value; + } + } - [FieldOffset(16)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + public uint Index + { + get + { + return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->index; + } - [FieldOffset(20)] - internal int lineNumberStart; - - [FieldOffset(24)] - internal int lineNumberEnd; - - [FieldOffset(28)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + set + { + ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->index = value; + } + } - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + public bool IsParameterPack + { + get + { + return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->isParameterPack != 0; + } - [FieldOffset(52)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + set + { + ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->isParameterPack = (byte) (value ? 1 : 0); + } + } + } - [FieldOffset(64)] - internal byte isIncomplete; + public unsafe partial class TemplateParameterSubstitutionType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 20)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; - [FieldOffset(65)] + [FieldOffset(4)] internal byte isDependent; - [FieldOffset(66)] - internal byte isImplicit; - - [FieldOffset(67)] - internal byte isInvalid; - - [FieldOffset(68)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(72)] - internal uint definitionOrder; - - [FieldOffset(76)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(88)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; - - [FieldOffset(100)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(104)] - internal global::System.IntPtr comment; + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal replacement; - [FieldOffset(108)] - internal global::System.IntPtr declaration; + [FieldOffset(16)] + internal global::System.IntPtr replacedParameter; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6FriendC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST33TemplateParameterSubstitutionTypeC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6FriendC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST33TemplateParameterSubstitutionTypeC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6FriendD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.Friend __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Friend(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Friend __CreateInstance(global::CppSharp.Parser.AST.Friend.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TemplateParameterSubstitutionType __CreateInstance(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Friend(native, skipVTables); + return new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Friend.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); - global::CppSharp.Parser.AST.Friend.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); + global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Friend(global::CppSharp.Parser.AST.Friend.__Internal native, bool skipVTables = false) + private TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Friend(void* native, bool skipVTables = false) + protected TemplateParameterSubstitutionType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -6030,19 +5409,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Friend() + public TemplateParameterSubstitutionType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public Friend(global::CppSharp.Parser.AST.Friend _0) + public TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -6051,123 +5430,112 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public global::CppSharp.Parser.AST.QualifiedType Replacement { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacement)); + } + + set + { + ((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*)__Instance)->replacement = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } - public global::CppSharp.Parser.AST.Declaration Declaration + public global::CppSharp.Parser.AST.TemplateParameterType ReplacedParameter { get { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration); + global::CppSharp.Parser.AST.TemplateParameterType __result0; + if (((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TemplateParameterType.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter)) + __result0 = (global::CppSharp.Parser.AST.TemplateParameterType) global::CppSharp.Parser.AST.TemplateParameterType.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter]; + else __result0 = global::CppSharp.Parser.AST.TemplateParameterType.__CreateInstance(((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter); return __result0; } set { - ((global::CppSharp.Parser.AST.Friend.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*)__Instance)->replacedParameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class Statement : IDisposable + public unsafe partial class InjectedClassNameType : global::CppSharp.Parser.AST.Type, IDisposable { [StructLayout(LayoutKind.Explicit, Size = 20)] - public partial struct __Internal + public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.StatementClass _class; + internal global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - internal global::System.IntPtr decl; + internal byte isDependent; [FieldOffset(8)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C @string; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal injectedSpecializationType; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9StatementC2ERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEENS1_14StatementClassEPNS1_11DeclarationE")] - internal static extern void ctor(global::System.IntPtr __instance, global::System.IntPtr str, global::CppSharp.Parser.AST.StatementClass Class, global::System.IntPtr decl); + [FieldOffset(16)] + internal global::System.IntPtr _class; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9StatementC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST21InjectedClassNameTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9StatementD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST21InjectedClassNameTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); } - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.Statement __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.InjectedClassNameType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Statement(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.InjectedClassNameType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Statement __CreateInstance(global::CppSharp.Parser.AST.Statement.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.InjectedClassNameType __CreateInstance(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Statement(native, skipVTables); + return new global::CppSharp.Parser.AST.InjectedClassNameType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Statement.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Statement.__Internal)); - global::CppSharp.Parser.AST.Statement.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); + global::CppSharp.Parser.AST.InjectedClassNameType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Statement(global::CppSharp.Parser.AST.Statement.__Internal native, bool skipVTables = false) + private InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Statement(void* native, bool skipVTables = false) + protected InjectedClassNameType(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public Statement(string str, global::CppSharp.Parser.AST.StatementClass Class, global::CppSharp.Parser.AST.Declaration decl) + public InjectedClassNameType() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Statement.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, str); - var __arg0 = __basicString0.__Instance; - var __arg2 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; - __Internal.ctor((__Instance + __PointerAdjustment), __arg0, Class, __arg2); - __basicString0.Dispose(false); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public Statement(global::CppSharp.Parser.AST.Statement _0) + public InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Statement.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -6176,127 +5544,96 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Statement __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public global::CppSharp.Parser.AST.StatementClass Class + public global::CppSharp.Parser.AST.QualifiedType InjectedSpecializationType { get { - return ((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->_class; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->injectedSpecializationType)); } set { - ((global::CppSharp.Parser.AST.Statement.__Internal*)__Instance)->_class = value; + ((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*)__Instance)->injectedSpecializationType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public global::CppSharp.Parser.AST.Declaration Decl + public global::CppSharp.Parser.AST.Class Class { get { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl); + global::CppSharp.Parser.AST.Class __result0; + if (((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class)) + __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class]; + else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class); return __result0; } set { - ((global::CppSharp.Parser.AST.Statement.__Internal*)__Instance)->decl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - - public string String - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->@string)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Statement.__Internal*)__Instance)->@string), value); + ((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*)__Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class Expression : global::CppSharp.Parser.AST.Statement, IDisposable + public unsafe partial class DependentNameType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 20)] + [StructLayout(LayoutKind.Explicit, Size = 28)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.StatementClass _class; + internal global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - internal global::System.IntPtr decl; + internal byte isDependent; [FieldOffset(8)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C @string; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifier; + + [FieldOffset(16)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C identifier; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ExpressionC2ERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEENS1_14StatementClassEPNS1_11DeclarationE")] - internal static extern void ctor(global::System.IntPtr __instance, global::System.IntPtr str, global::CppSharp.Parser.AST.StatementClass Class, global::System.IntPtr decl); + EntryPoint="_ZN8CppSharp9CppParser3AST17DependentNameTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ExpressionC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST17DependentNameTypeC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ExpressionD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST17DependentNameTypeD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.Expression __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.DependentNameType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Expression(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.DependentNameType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Expression __CreateInstance(global::CppSharp.Parser.AST.Expression.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.DependentNameType __CreateInstance(global::CppSharp.Parser.AST.DependentNameType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Expression(native, skipVTables); + return new global::CppSharp.Parser.AST.DependentNameType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Expression.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.DependentNameType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expression.__Internal)); - global::CppSharp.Parser.AST.Expression.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); + global::CppSharp.Parser.AST.DependentNameType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Expression(global::CppSharp.Parser.AST.Expression.__Internal native, bool skipVTables = false) + private DependentNameType(global::CppSharp.Parser.AST.DependentNameType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Expression(void* native, bool skipVTables = false) + protected DependentNameType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -6305,24 +5642,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Expression(string str, global::CppSharp.Parser.AST.StatementClass Class, global::CppSharp.Parser.AST.Declaration decl) + public DependentNameType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expression.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, str); - var __arg0 = __basicString0.__Instance; - var __arg2 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; - __Internal.ctor((__Instance + __PointerAdjustment), __arg0, Class, __arg2); - __basicString0.Dispose(false); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public Expression(global::CppSharp.Parser.AST.Expression _0) + public DependentNameType(global::CppSharp.Parser.AST.DependentNameType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expression.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -6335,7 +5667,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Statement __dummy; + global::CppSharp.Parser.AST.Type __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -6343,72 +5675,84 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } + + public global::CppSharp.Parser.AST.QualifiedType Qualifier + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentNameType.__Internal*) __Instance)->qualifier)); + } + + set + { + ((global::CppSharp.Parser.AST.DependentNameType.__Internal*)__Instance)->qualifier = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public string Identifier + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentNameType.__Internal*) __Instance)->identifier)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentNameType.__Internal*)__Instance)->identifier), value); + } + } } - public unsafe partial class BinaryOperator : global::CppSharp.Parser.AST.Expression, IDisposable + public unsafe partial class PackExpansionType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.StatementClass _class; + internal global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - internal global::System.IntPtr decl; - - [FieldOffset(8)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C @string; - - [FieldOffset(20)] - internal global::System.IntPtr LHS; - - [FieldOffset(24)] - internal global::System.IntPtr RHS; - - [FieldOffset(28)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C opcodeStr; + internal byte isDependent; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperatorC2ERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEPNS1_10ExpressionESD_SB_")] - internal static extern void ctor(global::System.IntPtr __instance, global::System.IntPtr str, global::System.IntPtr lhs, global::System.IntPtr rhs, global::System.IntPtr opcodeStr); + EntryPoint="_ZN8CppSharp9CppParser3AST17PackExpansionTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperatorC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST17PackExpansionTypeC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperatorD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.BinaryOperator __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.PackExpansionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BinaryOperator(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.PackExpansionType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.BinaryOperator __CreateInstance(global::CppSharp.Parser.AST.BinaryOperator.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.PackExpansionType __CreateInstance(global::CppSharp.Parser.AST.PackExpansionType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BinaryOperator(native, skipVTables); + return new global::CppSharp.Parser.AST.PackExpansionType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.BinaryOperator.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.PackExpansionType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); - global::CppSharp.Parser.AST.BinaryOperator.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); + global::CppSharp.Parser.AST.PackExpansionType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private BinaryOperator(global::CppSharp.Parser.AST.BinaryOperator.__Internal native, bool skipVTables = false) + private PackExpansionType(global::CppSharp.Parser.AST.PackExpansionType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected BinaryOperator(void* native, bool skipVTables = false) + protected PackExpansionType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -6417,29 +5761,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public BinaryOperator(string str, global::CppSharp.Parser.AST.Expression lhs, global::CppSharp.Parser.AST.Expression rhs, string opcodeStr) + public PackExpansionType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, str); - var __arg0 = __basicString0.__Instance; - var __arg1 = ReferenceEquals(lhs, null) ? global::System.IntPtr.Zero : lhs.__Instance; - var __arg2 = ReferenceEquals(rhs, null) ? global::System.IntPtr.Zero : rhs.__Instance; - var __basicString3 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString3, opcodeStr); - var __arg3 = __basicString3.__Instance; - __Internal.ctor((__Instance + __PointerAdjustment), __arg0, __arg1, __arg2, __arg3); - __basicString0.Dispose(false); - __basicString3.Dispose(false); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public BinaryOperator(global::CppSharp.Parser.AST.BinaryOperator _0) + public PackExpansionType(global::CppSharp.Parser.AST.PackExpansionType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -6447,151 +5781,170 @@ namespace CppSharp var __arg0 = _0.__Instance; __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } + } - public override void Dispose(bool disposing) + public unsafe partial class UnaryTransformType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public new partial struct __Internal { - if (__Instance == IntPtr.Zero) + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + internal byte isDependent; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal baseType; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18UnaryTransformTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18UnaryTransformTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.UnaryTransformType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.UnaryTransformType(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.UnaryTransformType __CreateInstance(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.UnaryTransformType(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); + global::CppSharp.Parser.AST.UnaryTransformType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected UnaryTransformType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) return; - global::CppSharp.Parser.AST.Statement __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + __Instance = new global::System.IntPtr(native); } - public global::CppSharp.Parser.AST.Expression LHS + public UnaryTransformType() + : this((void*) null) { - get - { - global::CppSharp.Parser.AST.Expression __result0; - if (((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS)) - __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS]; - else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS); - return __result0; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - set - { - ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->LHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + public UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.Expression RHS + public global::CppSharp.Parser.AST.QualifiedType Desugared { get { - global::CppSharp.Parser.AST.Expression __result0; - if (((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS)) - __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS]; - else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS); - return __result0; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*) __Instance)->desugared)); } set { - ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->RHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*)__Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public string OpcodeStr + public global::CppSharp.Parser.AST.QualifiedType BaseType { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->opcodeStr)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*) __Instance)->baseType)); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->opcodeStr), value); + ((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*)__Instance)->baseType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } } - public unsafe partial class CallExpr : global::CppSharp.Parser.AST.Expression, IDisposable + public unsafe partial class VectorType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 20)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.StatementClass _class; + internal global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - internal global::System.IntPtr decl; + internal byte isDependent; [FieldOffset(8)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C @string; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal elementType; - [FieldOffset(20)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expression___N_std_N___1_S_allocator__S0_ Arguments; + [FieldOffset(16)] + internal uint numElements; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExprC2ERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEPNS1_11DeclarationE")] - internal static extern void ctor(global::System.IntPtr __instance, global::System.IntPtr str, global::System.IntPtr decl); + EntryPoint="_ZN8CppSharp9CppParser3AST10VectorTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExprC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST10VectorTypeC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExprD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr12getArgumentsEj")] - internal static extern global::System.IntPtr GetArguments(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr12addArgumentsERPNS1_10ExpressionE")] - internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr14clearArgumentsEv")] - internal static extern void ClearArguments(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr17getArgumentsCountEv")] - internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.CallExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.VectorType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.CallExpr(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.VectorType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.CallExpr __CreateInstance(global::CppSharp.Parser.AST.CallExpr.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VectorType __CreateInstance(global::CppSharp.Parser.AST.VectorType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.CallExpr(native, skipVTables); + return new global::CppSharp.Parser.AST.VectorType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.CallExpr.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VectorType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); - global::CppSharp.Parser.AST.CallExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); + global::CppSharp.Parser.AST.VectorType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private CallExpr(global::CppSharp.Parser.AST.CallExpr.__Internal native, bool skipVTables = false) + private VectorType(global::CppSharp.Parser.AST.VectorType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected CallExpr(void* native, bool skipVTables = false) + protected VectorType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -6600,24 +5953,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public CallExpr(string str, global::CppSharp.Parser.AST.Declaration decl) + public VectorType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, str); - var __arg0 = __basicString0.__Instance; - var __arg1 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; - __Internal.ctor((__Instance + __PointerAdjustment), __arg0, __arg1); - __basicString0.Dispose(false); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public CallExpr(global::CppSharp.Parser.AST.CallExpr _0) + public VectorType(global::CppSharp.Parser.AST.VectorType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -6626,131 +5974,83 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public global::CppSharp.Parser.AST.QualifiedType ElementType { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Statement __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public global::CppSharp.Parser.AST.Expression GetArguments(uint i) - { - var __ret = __Internal.GetArguments((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Expression __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(__ret); - return __result0; - } - - public void AddArguments(global::CppSharp.Parser.AST.Expression s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); - } + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->elementType)); + } - public void ClearArguments() - { - __Internal.ClearArguments((__Instance + __PointerAdjustment)); + set + { + ((global::CppSharp.Parser.AST.VectorType.__Internal*)__Instance)->elementType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } - public uint ArgumentsCount + public uint NumElements { get { - var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->numElements; + } + + set + { + ((global::CppSharp.Parser.AST.VectorType.__Internal*)__Instance)->numElements = value; } } } - public unsafe partial class CXXConstructExpr : global::CppSharp.Parser.AST.Expression, IDisposable + public unsafe partial class BuiltinType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.StatementClass _class; + internal global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - internal global::System.IntPtr decl; + internal byte isDependent; [FieldOffset(8)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C @string; - - [FieldOffset(20)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expression___N_std_N___1_S_allocator__S0_ Arguments; + internal global::CppSharp.Parser.AST.PrimitiveType type; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExprC2ERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEPNS1_11DeclarationE")] - internal static extern void ctor(global::System.IntPtr __instance, global::System.IntPtr str, global::System.IntPtr decl); + EntryPoint="_ZN8CppSharp9CppParser3AST11BuiltinTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExprC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST11BuiltinTypeC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExprD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr12getArgumentsEj")] - internal static extern global::System.IntPtr GetArguments(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr12addArgumentsERPNS1_10ExpressionE")] - internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr14clearArgumentsEv")] - internal static extern void ClearArguments(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr17getArgumentsCountEv")] - internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.CXXConstructExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.BuiltinType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.CXXConstructExpr(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.BuiltinType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.CXXConstructExpr __CreateInstance(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.BuiltinType __CreateInstance(global::CppSharp.Parser.AST.BuiltinType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.CXXConstructExpr(native, skipVTables); + return new global::CppSharp.Parser.AST.BuiltinType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.BuiltinType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); - global::CppSharp.Parser.AST.CXXConstructExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); + global::CppSharp.Parser.AST.BuiltinType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private CXXConstructExpr(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native, bool skipVTables = false) + private BuiltinType(global::CppSharp.Parser.AST.BuiltinType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected CXXConstructExpr(void* native, bool skipVTables = false) + protected BuiltinType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -6759,24 +6059,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public CXXConstructExpr(string str, global::CppSharp.Parser.AST.Declaration decl) + public BuiltinType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, str); - var __arg0 = __basicString0.__Instance; - var __arg1 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; - __Internal.ctor((__Instance + __PointerAdjustment), __arg0, __arg1); - __basicString0.Dispose(false); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public CXXConstructExpr(global::CppSharp.Parser.AST.CXXConstructExpr _0) + public BuiltinType(global::CppSharp.Parser.AST.BuiltinType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -6785,75 +6080,265 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Statement __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public global::CppSharp.Parser.AST.Expression GetArguments(uint i) - { - var __ret = __Internal.GetArguments((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Expression __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(__ret); - return __result0; - } - - public void AddArguments(global::CppSharp.Parser.AST.Expression s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearArguments() - { - __Internal.ClearArguments((__Instance + __PointerAdjustment)); - } - - public uint ArgumentsCount + public global::CppSharp.Parser.AST.PrimitiveType Type { get { - var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.BuiltinType.__Internal*) __Instance)->type; + } + + set + { + ((global::CppSharp.Parser.AST.BuiltinType.__Internal*)__Instance)->type = value; } } } + } + } +} - public unsafe partial class Parameter : global::CppSharp.Parser.AST.Declaration, IDisposable +namespace CppSharp +{ + namespace Parser + { + namespace AST + { + public enum DeclarationKind { - [StructLayout(LayoutKind.Explicit, Size = 128)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + DeclarationContext = 0, + Typedef = 1, + TypeAlias = 2, + Parameter = 3, + Function = 4, + Method = 5, + Enumeration = 6, + EnumerationItem = 7, + Variable = 8, + Field = 9, + AccessSpecifier = 10, + Class = 11, + Template = 12, + TypeAliasTemplate = 13, + ClassTemplate = 14, + ClassTemplateSpecialization = 15, + ClassTemplatePartialSpecialization = 16, + FunctionTemplate = 17, + Namespace = 18, + PreprocessedEntity = 19, + MacroDefinition = 20, + MacroExpansion = 21, + TranslationUnit = 22, + Friend = 23, + TemplateTemplateParm = 24, + TemplateTypeParm = 25, + NonTypeTemplateParm = 26, + VarTemplate = 27, + VarTemplateSpecialization = 28, + VarTemplatePartialSpecialization = 29 + } - [FieldOffset(4)] - internal int maxFieldAlignment; + public enum AccessSpecifier + { + Private = 0, + Protected = 1, + Public = 2 + } - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + public enum MacroLocation + { + Unknown = 0, + ClassHead = 1, + ClassBody = 2, + FunctionHead = 3, + FunctionParameters = 4, + FunctionBody = 5 + } - [FieldOffset(12)] - internal global::System.IntPtr _namespace; + public enum FriendKind + { + None = 0, + Declared = 1, + Undeclared = 2 + } - [FieldOffset(16)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + public enum CXXOperatorKind + { + None = 0, + New = 1, + Delete = 2, + ArrayNew = 3, + ArrayDelete = 4, + Plus = 5, + Minus = 6, + Star = 7, + Slash = 8, + Percent = 9, + Caret = 10, + Amp = 11, + Pipe = 12, + Tilde = 13, + Exclaim = 14, + Equal = 15, + Less = 16, + Greater = 17, + PlusEqual = 18, + MinusEqual = 19, + StarEqual = 20, + SlashEqual = 21, + PercentEqual = 22, + CaretEqual = 23, + AmpEqual = 24, + PipeEqual = 25, + LessLess = 26, + GreaterGreater = 27, + LessLessEqual = 28, + GreaterGreaterEqual = 29, + EqualEqual = 30, + ExclaimEqual = 31, + LessEqual = 32, + GreaterEqual = 33, + Spaceship = 34, + AmpAmp = 35, + PipePipe = 36, + PlusPlus = 37, + MinusMinus = 38, + Comma = 39, + ArrowStar = 40, + Arrow = 41, + Call = 42, + Subscript = 43, + Conditional = 44, + Coawait = 45 + } - [FieldOffset(20)] - internal int lineNumberStart; + public enum StatementClassObsolete + { + Any = 0, + BinaryOperator = 1, + CallExprClass = 2, + DeclRefExprClass = 3, + CXXConstructExprClass = 4, + CXXOperatorCallExpr = 5, + ImplicitCastExpr = 6, + ExplicitCastExpr = 7 + } + + public enum TemplateSpecializationKind + { + Undeclared = 0, + ImplicitInstantiation = 1, + ExplicitSpecialization = 2, + ExplicitInstantiationDeclaration = 3, + ExplicitInstantiationDefinition = 4 + } + + public enum CXXMethodKind + { + Normal = 0, + Constructor = 1, + Destructor = 2, + Conversion = 3, + Operator = 4, + UsingDirective = 5 + } + + public enum RefQualifierKind + { + None = 0, + LValue = 1, + RValue = 2 + } + + public enum CppAbi + { + Itanium = 0, + Microsoft = 1, + ARM = 2, + iOS = 3, + iOS64 = 4 + } + + public enum VTableComponentKind + { + VCallOffset = 0, + VBaseOffset = 1, + OffsetToTop = 2, + RTTI = 3, + FunctionPointer = 4, + CompleteDtorPointer = 5, + DeletingDtorPointer = 6, + UnusedFunctionPointer = 7 + } + + public unsafe partial class Expr + { + [StructLayout(LayoutKind.Explicit, Size = 0)] + public partial struct __Internal + { + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.Expr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Expr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.Expr __CreateInstance(global::CppSharp.Parser.AST.Expr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Expr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.Expr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.__Internal)); + *(global::CppSharp.Parser.AST.Expr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private Expr(global::CppSharp.Parser.AST.Expr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Expr(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + } + + public unsafe partial class Declaration : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 108)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(12)] + internal global::System.IntPtr _namespace; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(20)] + internal int lineNumberStart; [FieldOffset(24)] internal int lineNumberEnd; @@ -6897,83 +6382,112 @@ namespace CppSharp [FieldOffset(104)] internal global::System.IntPtr comment; - [FieldOffset(108)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11DeclarationC2ENS1_15DeclarationKindE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.DeclarationKind kind); - [FieldOffset(116)] - internal byte isIndirect; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11DeclarationC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - [FieldOffset(117)] - internal byte hasDefaultValue; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11DeclarationD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); - [FieldOffset(120)] - internal uint index; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration23getPreprocessedEntitiesEj")] + internal static extern global::System.IntPtr GetPreprocessedEntities(global::System.IntPtr __instance, uint i); - [FieldOffset(124)] - internal global::System.IntPtr defaultArgument; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration23addPreprocessedEntitiesERPNS1_18PreprocessedEntityE")] + internal static extern void AddPreprocessedEntities(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9ParameterC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration25clearPreprocessedEntitiesEv")] + internal static extern void ClearPreprocessedEntities(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9ParameterC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration17getRedeclarationsEj")] + internal static extern global::System.IntPtr GetRedeclarations(global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9ParameterD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration17addRedeclarationsERPS2_")] + internal static extern void AddRedeclarations(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration19clearRedeclarationsEv")] + internal static extern void ClearRedeclarations(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration28getPreprocessedEntitiesCountEv")] + internal static extern uint GetPreprocessedEntitiesCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration22getRedeclarationsCountEv")] + internal static extern uint GetRedeclarationsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.Parameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.Declaration __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Parameter(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Declaration(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Parameter __CreateInstance(global::CppSharp.Parser.AST.Parameter.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Declaration __CreateInstance(global::CppSharp.Parser.AST.Declaration.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Parameter(native, skipVTables); + return new global::CppSharp.Parser.AST.Declaration(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Parameter.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Declaration.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); - global::CppSharp.Parser.AST.Parameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); + global::CppSharp.Parser.AST.Declaration.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Parameter(global::CppSharp.Parser.AST.Parameter.__Internal native, bool skipVTables = false) + private Declaration(global::CppSharp.Parser.AST.Declaration.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Parameter(void* native, bool skipVTables = false) - : base((void*) null) + protected Declaration(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public Parameter() - : this((void*) null) + public Declaration(global::CppSharp.Parser.AST.DeclarationKind kind) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + __Internal.ctor((__Instance + __PointerAdjustment), kind); } - public Parameter(global::CppSharp.Parser.AST.Parameter _0) - : this((void*) null) + public Declaration(global::CppSharp.Parser.AST.Declaration _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -6982,7 +6496,12 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; @@ -6995,314 +6514,676 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType + public global::CppSharp.Parser.AST.PreprocessedEntity GetPreprocessedEntities(uint i) { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->qualifiedType)); - } - - set - { - ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } + var __ret = __Internal.GetPreprocessedEntities((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.PreprocessedEntity __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.PreprocessedEntity.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.PreprocessedEntity) global::CppSharp.Parser.AST.PreprocessedEntity.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.PreprocessedEntity.__CreateInstance(__ret); + return __result0; } - public bool IsIndirect + public void AddPreprocessedEntities(global::CppSharp.Parser.AST.PreprocessedEntity s) { - get - { - return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->isIndirect != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->isIndirect = (byte) (value ? 1 : 0); - } + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddPreprocessedEntities((__Instance + __PointerAdjustment), __arg0); } - public bool HasDefaultValue + public void ClearPreprocessedEntities() { - get - { - return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->hasDefaultValue != 0; + __Internal.ClearPreprocessedEntities((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Declaration GetRedeclarations(uint i) + { + var __ret = __Internal.GetRedeclarations((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Declaration __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(__ret); + return __result0; + } + + public void AddRedeclarations(global::CppSharp.Parser.AST.Declaration s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddRedeclarations((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearRedeclarations() + { + __Internal.ClearRedeclarations((__Instance + __PointerAdjustment)); + } + + public static implicit operator global::CppSharp.Parser.AST.Declaration(global::CppSharp.Parser.AST.DeclarationKind kind) + { + return new global::CppSharp.Parser.AST.Declaration(kind); + } + + public global::CppSharp.Parser.AST.DeclarationKind Kind + { + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->kind; } set { - ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->hasDefaultValue = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->kind = value; } } - public uint Index + public int MaxFieldAlignment { get { - return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->index; + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->maxFieldAlignment; } set { - ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->index = value; + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->maxFieldAlignment = value; } } - public global::CppSharp.Parser.AST.Expression DefaultArgument + public global::CppSharp.Parser.AST.AccessSpecifier Access { get { - global::CppSharp.Parser.AST.Expression __result0; - if (((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument)) - __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument]; - else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument); - return __result0; + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->access; } set { - ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->defaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->access = value; } } - } - public unsafe partial class Function : global::CppSharp.Parser.AST.DeclarationContext, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 324)] - public new partial struct __Internal + public global::CppSharp.Parser.AST.DeclarationContext Namespace { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + get + { + global::CppSharp.Parser.AST.DeclarationContext __result0; + if (((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.DeclarationContext.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace)) + __result0 = (global::CppSharp.Parser.AST.DeclarationContext) global::CppSharp.Parser.AST.DeclarationContext.NativeToManagedMap[((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace]; + else __result0 = global::CppSharp.Parser.AST.DeclarationContext.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace); + return __result0; + } - [FieldOffset(4)] - internal int maxFieldAlignment; + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->_namespace = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + public global::CppSharp.Parser.SourceLocation Location + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->location); + } - [FieldOffset(12)] - internal global::System.IntPtr _namespace; + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->location = value.__Instance; + } + } - [FieldOffset(16)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + public int LineNumberStart + { + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->lineNumberStart; + } - [FieldOffset(20)] - internal int lineNumberStart; + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->lineNumberStart = value; + } + } - [FieldOffset(24)] - internal int lineNumberEnd; + public int LineNumberEnd + { + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->lineNumberEnd; + } - [FieldOffset(28)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->lineNumberEnd = value; + } + } - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + public string Name + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->name)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - [FieldOffset(52)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->name), value); + } + } - [FieldOffset(64)] - internal byte isIncomplete; + public string USR + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->USR)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - [FieldOffset(65)] - internal byte isDependent; + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->USR), value); + } + } - [FieldOffset(66)] - internal byte isImplicit; + public string DebugText + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->debugText)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - [FieldOffset(67)] - internal byte isInvalid; + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->debugText), value); + } + } - [FieldOffset(68)] - internal global::System.IntPtr completeDeclaration; + public bool IsIncomplete + { + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isIncomplete != 0; + } - [FieldOffset(72)] - internal uint definitionOrder; + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isIncomplete = (byte) (value ? 1 : 0); + } + } - [FieldOffset(76)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + public bool IsDependent + { + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isDependent != 0; + } - [FieldOffset(88)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isDependent = (byte) (value ? 1 : 0); + } + } - [FieldOffset(100)] - internal global::System.IntPtr originalPtr; + public bool IsImplicit + { + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isImplicit != 0; + } - [FieldOffset(104)] - internal global::System.IntPtr comment; + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isImplicit = (byte) (value ? 1 : 0); + } + } - [FieldOffset(108)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; + public bool IsInvalid + { + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isInvalid != 0; + } - [FieldOffset(120)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isInvalid = (byte) (value ? 1 : 0); + } + } - [FieldOffset(132)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; + public global::CppSharp.Parser.AST.Declaration CompleteDeclaration + { + get + { + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration); + return __result0; + } - [FieldOffset(144)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->completeDeclaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } - [FieldOffset(156)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; + public uint DefinitionOrder + { + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->definitionOrder; + } - [FieldOffset(168)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->definitionOrder = value; + } + } - [FieldOffset(180)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; + public global::System.IntPtr OriginalPtr + { + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->originalPtr; + } - [FieldOffset(192)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->originalPtr = (global::System.IntPtr) value; + } + } - [FieldOffset(204)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; + public global::CppSharp.Parser.AST.RawComment Comment + { + get + { + global::CppSharp.Parser.AST.RawComment __result0; + if (((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.RawComment.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment)) + __result0 = (global::CppSharp.Parser.AST.RawComment) global::CppSharp.Parser.AST.RawComment.NativeToManagedMap[((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment]; + else __result0 = global::CppSharp.Parser.AST.RawComment.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment); + return __result0; + } - [FieldOffset(216)] - internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->comment = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } - [FieldOffset(228)] - internal byte isAnonymous; + public uint PreprocessedEntitiesCount + { + get + { + var __ret = __Internal.GetPreprocessedEntitiesCount((__Instance + __PointerAdjustment)); + return __ret; + } + } - [FieldOffset(232)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; + public uint RedeclarationsCount + { + get + { + var __ret = __Internal.GetRedeclarationsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } - [FieldOffset(240)] - internal byte isReturnIndirect; + public unsafe partial class DeclarationContext : global::CppSharp.Parser.AST.Declaration, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 232)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; - [FieldOffset(241)] - internal byte hasThisReturn; + [FieldOffset(4)] + internal int maxFieldAlignment; - [FieldOffset(242)] - internal byte isConstExpr; + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; - [FieldOffset(243)] - internal byte isVariadic; + [FieldOffset(12)] + internal global::System.IntPtr _namespace; - [FieldOffset(244)] - internal byte isInline; + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; - [FieldOffset(245)] - internal byte isPure; + [FieldOffset(20)] + internal int lineNumberStart; - [FieldOffset(246)] - internal byte isDeleted; + [FieldOffset(24)] + internal int lineNumberEnd; - [FieldOffset(247)] - internal byte isDefaulted; + [FieldOffset(28)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - [FieldOffset(248)] - internal global::CppSharp.Parser.AST.FriendKind friendKind; + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - [FieldOffset(252)] - internal global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; + [FieldOffset(52)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; - [FieldOffset(256)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C mangled; + [FieldOffset(64)] + internal byte isIncomplete; - [FieldOffset(268)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C signature; + [FieldOffset(65)] + internal byte isDependent; - [FieldOffset(280)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C body; + [FieldOffset(66)] + internal byte isImplicit; - [FieldOffset(292)] - internal global::CppSharp.Parser.AST.CallingConvention callingConvention; + [FieldOffset(67)] + internal byte isInvalid; - [FieldOffset(296)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_N___1_S_allocator__S0_ Parameters; + [FieldOffset(68)] + internal global::System.IntPtr completeDeclaration; - [FieldOffset(308)] - internal global::System.IntPtr specializationInfo; + [FieldOffset(72)] + internal uint definitionOrder; - [FieldOffset(312)] - internal global::System.IntPtr instantiatedFrom; + [FieldOffset(76)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; - [FieldOffset(316)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + [FieldOffset(88)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(100)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(104)] + internal global::System.IntPtr comment; + + [FieldOffset(108)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; + + [FieldOffset(120)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; + + [FieldOffset(132)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; + + [FieldOffset(144)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; + + [FieldOffset(156)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; + + [FieldOffset(168)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; + + [FieldOffset(180)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; + + [FieldOffset(192)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; + + [FieldOffset(204)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; + + [FieldOffset(216)] + internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; + + [FieldOffset(228)] + internal byte isAnonymous; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8FunctionC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContextC2ENS1_15DeclarationKindE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.DeclarationKind kind); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8FunctionC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContextC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8FunctionD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContextD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Function13getParametersEj")] - internal static extern global::System.IntPtr GetParameters(global::System.IntPtr __instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext13getNamespacesEj")] + internal static extern global::System.IntPtr GetNamespaces(global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Function13addParametersERPNS1_9ParameterE")] - internal static extern void AddParameters(global::System.IntPtr __instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext13addNamespacesERPNS1_9NamespaceE")] + internal static extern void AddNamespaces(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Function15clearParametersEv")] - internal static extern void ClearParameters(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext15clearNamespacesEv")] + internal static extern void ClearNamespaces(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Function18getParametersCountEv")] - internal static extern uint GetParametersCount(global::System.IntPtr __instance); - } - - internal static new global::CppSharp.Parser.AST.Function __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Function(native.ToPointer(), skipVTables); - } + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext8getEnumsEj")] + internal static extern global::System.IntPtr GetEnums(global::System.IntPtr __instance, uint i); - internal static global::CppSharp.Parser.AST.Function __CreateInstance(global::CppSharp.Parser.AST.Function.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Function(native, skipVTables); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext8addEnumsERPNS1_11EnumerationE")] + internal static extern void AddEnums(global::System.IntPtr __instance, global::System.IntPtr s); - private static void* __CopyValue(global::CppSharp.Parser.AST.Function.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); - global::CppSharp.Parser.AST.Function.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10clearEnumsEv")] + internal static extern void ClearEnums(global::System.IntPtr __instance); - private Function(global::CppSharp.Parser.AST.Function.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12getFunctionsEj")] + internal static extern global::System.IntPtr GetFunctions(global::System.IntPtr __instance, uint i); - protected Function(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12addFunctionsERPNS1_8FunctionE")] + internal static extern void AddFunctions(global::System.IntPtr __instance, global::System.IntPtr s); - public Function() + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14clearFunctionsEv")] + internal static extern void ClearFunctions(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10getClassesEj")] + internal static extern global::System.IntPtr GetClasses(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10addClassesERPNS1_5ClassE")] + internal static extern void AddClasses(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12clearClassesEv")] + internal static extern void ClearClasses(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12getTemplatesEj")] + internal static extern global::System.IntPtr GetTemplates(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12addTemplatesERPNS1_8TemplateE")] + internal static extern void AddTemplates(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14clearTemplatesEv")] + internal static extern void ClearTemplates(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext11getTypedefsEj")] + internal static extern global::System.IntPtr GetTypedefs(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext11addTypedefsERPNS1_11TypedefDeclE")] + internal static extern void AddTypedefs(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext13clearTypedefsEv")] + internal static extern void ClearTypedefs(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14getTypeAliasesEj")] + internal static extern global::System.IntPtr GetTypeAliases(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14addTypeAliasesERPNS1_9TypeAliasE")] + internal static extern void AddTypeAliases(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext16clearTypeAliasesEv")] + internal static extern void ClearTypeAliases(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12getVariablesEj")] + internal static extern global::System.IntPtr GetVariables(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12addVariablesERPNS1_8VariableE")] + internal static extern void AddVariables(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14clearVariablesEv")] + internal static extern void ClearVariables(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10getFriendsEj")] + internal static extern global::System.IntPtr GetFriends(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10addFriendsERPNS1_6FriendE")] + internal static extern void AddFriends(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12clearFriendsEv")] + internal static extern void ClearFriends(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext18getNamespacesCountEv")] + internal static extern uint GetNamespacesCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext13getEnumsCountEv")] + internal static extern uint GetEnumsCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext17getFunctionsCountEv")] + internal static extern uint GetFunctionsCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext15getClassesCountEv")] + internal static extern uint GetClassesCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext17getTemplatesCountEv")] + internal static extern uint GetTemplatesCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext16getTypedefsCountEv")] + internal static extern uint GetTypedefsCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext19getTypeAliasesCountEv")] + internal static extern uint GetTypeAliasesCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext17getVariablesCountEv")] + internal static extern uint GetVariablesCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext15getFriendsCountEv")] + internal static extern uint GetFriendsCount(global::System.IntPtr __instance); + } + + internal static new global::CppSharp.Parser.AST.DeclarationContext __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DeclarationContext(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.DeclarationContext __CreateInstance(global::CppSharp.Parser.AST.DeclarationContext.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DeclarationContext(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.DeclarationContext.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); + global::CppSharp.Parser.AST.DeclarationContext.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private DeclarationContext(global::CppSharp.Parser.AST.DeclarationContext.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected DeclarationContext(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public DeclarationContext(global::CppSharp.Parser.AST.DeclarationKind kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + __Internal.ctor((__Instance + __PointerAdjustment), kind); } - public Function(global::CppSharp.Parser.AST.Function _0) + public DeclarationContext(global::CppSharp.Parser.AST.DeclarationContext _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -7324,296 +7205,325 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.Parameter GetParameters(uint i) + public global::CppSharp.Parser.AST.Namespace GetNamespaces(uint i) { - var __ret = __Internal.GetParameters((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Parameter __result0; + var __ret = __Internal.GetNamespaces((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Namespace __result0; if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Parameter.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Parameter) global::CppSharp.Parser.AST.Parameter.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Parameter.__CreateInstance(__ret); + else if (global::CppSharp.Parser.AST.Namespace.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Namespace) global::CppSharp.Parser.AST.Namespace.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Namespace.__CreateInstance(__ret); return __result0; } - public void AddParameters(global::CppSharp.Parser.AST.Parameter s) + public void AddNamespaces(global::CppSharp.Parser.AST.Namespace s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddParameters((__Instance + __PointerAdjustment), __arg0); + __Internal.AddNamespaces((__Instance + __PointerAdjustment), __arg0); } - public void ClearParameters() + public void ClearNamespaces() { - __Internal.ClearParameters((__Instance + __PointerAdjustment)); + __Internal.ClearNamespaces((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.QualifiedType ReturnType + public global::CppSharp.Parser.AST.Enumeration GetEnums(uint i) { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->returnType)); - } - - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->returnType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } + var __ret = __Internal.GetEnums((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Enumeration __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Enumeration.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Enumeration) global::CppSharp.Parser.AST.Enumeration.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Enumeration.__CreateInstance(__ret); + return __result0; } - public bool IsReturnIndirect + public void AddEnums(global::CppSharp.Parser.AST.Enumeration s) { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isReturnIndirect != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isReturnIndirect = (byte) (value ? 1 : 0); - } + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddEnums((__Instance + __PointerAdjustment), __arg0); } - public bool HasThisReturn + public void ClearEnums() { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->hasThisReturn != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->hasThisReturn = (byte) (value ? 1 : 0); - } + __Internal.ClearEnums((__Instance + __PointerAdjustment)); } - public bool IsConstExpr + public global::CppSharp.Parser.AST.Function GetFunctions(uint i) { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isConstExpr != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isConstExpr = (byte) (value ? 1 : 0); - } + var __ret = __Internal.GetFunctions((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Function __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(__ret); + return __result0; } - public bool IsVariadic + public void AddFunctions(global::CppSharp.Parser.AST.Function s) { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isVariadic != 0; - } + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddFunctions((__Instance + __PointerAdjustment), __arg0); + } - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isVariadic = (byte) (value ? 1 : 0); - } + public void ClearFunctions() + { + __Internal.ClearFunctions((__Instance + __PointerAdjustment)); } - public bool IsInline + public global::CppSharp.Parser.AST.Class GetClasses(uint i) { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isInline != 0; - } + var __ret = __Internal.GetClasses((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Class __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(__ret); + return __result0; + } - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isInline = (byte) (value ? 1 : 0); - } + public void AddClasses(global::CppSharp.Parser.AST.Class s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddClasses((__Instance + __PointerAdjustment), __arg0); } - public bool IsPure + public void ClearClasses() { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isPure != 0; - } + __Internal.ClearClasses((__Instance + __PointerAdjustment)); + } - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isPure = (byte) (value ? 1 : 0); - } + public global::CppSharp.Parser.AST.Template GetTemplates(uint i) + { + var __ret = __Internal.GetTemplates((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Template __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Template.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Template) global::CppSharp.Parser.AST.Template.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Template.__CreateInstance(__ret); + return __result0; } - public bool IsDeleted + public void AddTemplates(global::CppSharp.Parser.AST.Template s) { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isDeleted != 0; - } + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddTemplates((__Instance + __PointerAdjustment), __arg0); + } - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isDeleted = (byte) (value ? 1 : 0); - } + public void ClearTemplates() + { + __Internal.ClearTemplates((__Instance + __PointerAdjustment)); } - public bool IsDefaulted + public global::CppSharp.Parser.AST.TypedefDecl GetTypedefs(uint i) { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isDefaulted != 0; - } + var __ret = __Internal.GetTypedefs((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.TypedefDecl __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TypedefDecl.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.TypedefDecl) global::CppSharp.Parser.AST.TypedefDecl.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.TypedefDecl.__CreateInstance(__ret); + return __result0; + } - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isDefaulted = (byte) (value ? 1 : 0); - } + public void AddTypedefs(global::CppSharp.Parser.AST.TypedefDecl s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddTypedefs((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.FriendKind FriendKind + public void ClearTypedefs() { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->friendKind; - } + __Internal.ClearTypedefs((__Instance + __PointerAdjustment)); + } - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->friendKind = value; - } + public global::CppSharp.Parser.AST.TypeAlias GetTypeAliases(uint i) + { + var __ret = __Internal.GetTypeAliases((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.TypeAlias __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TypeAlias.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.TypeAlias) global::CppSharp.Parser.AST.TypeAlias.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.TypeAlias.__CreateInstance(__ret); + return __result0; } - public global::CppSharp.Parser.AST.CXXOperatorKind OperatorKind + public void AddTypeAliases(global::CppSharp.Parser.AST.TypeAlias s) { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->operatorKind; - } + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddTypeAliases((__Instance + __PointerAdjustment), __arg0); + } - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->operatorKind = value; - } + public void ClearTypeAliases() + { + __Internal.ClearTypeAliases((__Instance + __PointerAdjustment)); } - public string Mangled + public global::CppSharp.Parser.AST.Variable GetVariables(uint i) { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->mangled)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + var __ret = __Internal.GetVariables((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Variable __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Variable.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Variable) global::CppSharp.Parser.AST.Variable.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Variable.__CreateInstance(__ret); + return __result0; + } - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->mangled), value); - } + public void AddVariables(global::CppSharp.Parser.AST.Variable s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddVariables((__Instance + __PointerAdjustment), __arg0); } - public string Signature + public void ClearVariables() + { + __Internal.ClearVariables((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Friend GetFriends(uint i) + { + var __ret = __Internal.GetFriends((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Friend __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Friend.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Friend) global::CppSharp.Parser.AST.Friend.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Friend.__CreateInstance(__ret); + return __result0; + } + + public void AddFriends(global::CppSharp.Parser.AST.Friend s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddFriends((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearFriends() + { + __Internal.ClearFriends((__Instance + __PointerAdjustment)); + } + + public static implicit operator global::CppSharp.Parser.AST.DeclarationContext(global::CppSharp.Parser.AST.DeclarationKind kind) + { + return new global::CppSharp.Parser.AST.DeclarationContext(kind); + } + + public bool IsAnonymous { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->signature)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + return ((global::CppSharp.Parser.AST.DeclarationContext.__Internal*) __Instance)->isAnonymous != 0; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->signature), value); + ((global::CppSharp.Parser.AST.DeclarationContext.__Internal*)__Instance)->isAnonymous = (byte) (value ? 1 : 0); } } - public string Body + public uint NamespacesCount { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->body)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + var __ret = __Internal.GetNamespacesCount((__Instance + __PointerAdjustment)); + return __ret; } + } - set + public uint EnumsCount + { + get { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->body), value); + var __ret = __Internal.GetEnumsCount((__Instance + __PointerAdjustment)); + return __ret; } } - public global::CppSharp.Parser.AST.CallingConvention CallingConvention + public uint FunctionsCount { get { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->callingConvention; + var __ret = __Internal.GetFunctionsCount((__Instance + __PointerAdjustment)); + return __ret; } + } - set + public uint ClassesCount + { + get { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->callingConvention = value; + var __ret = __Internal.GetClassesCount((__Instance + __PointerAdjustment)); + return __ret; } } - public global::CppSharp.Parser.AST.FunctionTemplateSpecialization SpecializationInfo + public uint TemplatesCount { get { - global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0; - if (((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo)) - __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo]; - else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->specializationInfo = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + var __ret = __Internal.GetTemplatesCount((__Instance + __PointerAdjustment)); + return __ret; } } - public global::CppSharp.Parser.AST.Function InstantiatedFrom + public uint TypedefsCount { get { - global::CppSharp.Parser.AST.Function __result0; - if (((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom)) - __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom]; - else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->instantiatedFrom = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + var __ret = __Internal.GetTypedefsCount((__Instance + __PointerAdjustment)); + return __ret; } } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType + public uint TypeAliasesCount { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->qualifiedType)); + var __ret = __Internal.GetTypeAliasesCount((__Instance + __PointerAdjustment)); + return __ret; } + } - set + public uint VariablesCount + { + get { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + var __ret = __Internal.GetVariablesCount((__Instance + __PointerAdjustment)); + return __ret; } } - public uint ParametersCount + public uint FriendsCount { get { - var __ret = __Internal.GetParametersCount((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetFriendsCount((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class Method : global::CppSharp.Parser.AST.Function, IDisposable + public unsafe partial class TypedefNameDecl : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 360)] + [StructLayout(LayoutKind.Explicit, Size = 116)] public new partial struct __Internal { [FieldOffset(0)] @@ -7677,189 +7587,49 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(108)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; - - [FieldOffset(120)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; - - [FieldOffset(132)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; - - [FieldOffset(144)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; - - [FieldOffset(156)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; - - [FieldOffset(168)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; - - [FieldOffset(180)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; - - [FieldOffset(192)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; - - [FieldOffset(204)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; - - [FieldOffset(216)] - internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; - - [FieldOffset(228)] - internal byte isAnonymous; - - [FieldOffset(232)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; - - [FieldOffset(240)] - internal byte isReturnIndirect; - - [FieldOffset(241)] - internal byte hasThisReturn; - - [FieldOffset(242)] - internal byte isConstExpr; - - [FieldOffset(243)] - internal byte isVariadic; - - [FieldOffset(244)] - internal byte isInline; - - [FieldOffset(245)] - internal byte isPure; - - [FieldOffset(246)] - internal byte isDeleted; - - [FieldOffset(247)] - internal byte isDefaulted; - - [FieldOffset(248)] - internal global::CppSharp.Parser.AST.FriendKind friendKind; - - [FieldOffset(252)] - internal global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; - - [FieldOffset(256)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C mangled; - - [FieldOffset(268)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C signature; - - [FieldOffset(280)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C body; - - [FieldOffset(292)] - internal global::CppSharp.Parser.AST.CallingConvention callingConvention; - - [FieldOffset(296)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_N___1_S_allocator__S0_ Parameters; - - [FieldOffset(308)] - internal global::System.IntPtr specializationInfo; - - [FieldOffset(312)] - internal global::System.IntPtr instantiatedFrom; - - [FieldOffset(316)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [FieldOffset(324)] - internal byte isVirtual; - - [FieldOffset(325)] - internal byte isStatic; - - [FieldOffset(326)] - internal byte isConst; - - [FieldOffset(327)] - internal byte isExplicit; - - [FieldOffset(328)] - internal global::CppSharp.Parser.AST.CXXMethodKind methodKind; - - [FieldOffset(332)] - internal byte isDefaultConstructor; - - [FieldOffset(333)] - internal byte isCopyConstructor; - - [FieldOffset(334)] - internal byte isMoveConstructor; - - [FieldOffset(336)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal conversionType; - - [FieldOffset(344)] - internal global::CppSharp.Parser.AST.RefQualifierKind refQualifier; - - [FieldOffset(348)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_N___1_S_allocator__S0_ OverriddenMethods; - [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6MethodC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST15TypedefNameDeclC2ENS1_15DeclarationKindE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.DeclarationKind kind); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6MethodC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST15TypedefNameDeclC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6MethodD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST15TypedefNameDeclD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6Method20getOverriddenMethodsEj")] - internal static extern global::System.IntPtr GetOverriddenMethods(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6Method20addOverriddenMethodsERPS2_")] - internal static extern void AddOverriddenMethods(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6Method22clearOverriddenMethodsEv")] - internal static extern void ClearOverriddenMethods(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6Method25getOverriddenMethodsCountEv")] - internal static extern uint GetOverriddenMethodsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.Method __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TypedefNameDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Method(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TypedefNameDecl(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Method __CreateInstance(global::CppSharp.Parser.AST.Method.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TypedefNameDecl __CreateInstance(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Method(native, skipVTables); + return new global::CppSharp.Parser.AST.TypedefNameDecl(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Method.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); - global::CppSharp.Parser.AST.Method.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); + global::CppSharp.Parser.AST.TypedefNameDecl.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Method(global::CppSharp.Parser.AST.Method.__Internal native, bool skipVTables = false) + private TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Method(void* native, bool skipVTables = false) + protected TypedefNameDecl(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -7868,19 +7638,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Method() + public TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + __Internal.ctor((__Instance + __PointerAdjustment), kind); } - public Method(global::CppSharp.Parser.AST.Method _0) + public TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -7902,173 +7672,180 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.Method GetOverriddenMethods(uint i) - { - var __ret = __Internal.GetOverriddenMethods((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Method __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Method.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Method) global::CppSharp.Parser.AST.Method.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Method.__CreateInstance(__ret); - return __result0; - } - - public void AddOverriddenMethods(global::CppSharp.Parser.AST.Method s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddOverriddenMethods((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearOverriddenMethods() + public static implicit operator global::CppSharp.Parser.AST.TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) { - __Internal.ClearOverriddenMethods((__Instance + __PointerAdjustment)); + return new global::CppSharp.Parser.AST.TypedefNameDecl(kind); } - public bool IsVirtual + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { get { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isVirtual != 0; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TypedefNameDecl.__Internal*) __Instance)->qualifiedType)); } set { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isVirtual = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.TypedefNameDecl.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } + } - public bool IsStatic + public unsafe partial class TypedefDecl : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 116)] + public new partial struct __Internal { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isStatic != 0; - } + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isStatic = (byte) (value ? 1 : 0); - } - } + [FieldOffset(4)] + internal int maxFieldAlignment; - public bool IsConst - { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isConst != 0; - } + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isConst = (byte) (value ? 1 : 0); - } - } + [FieldOffset(12)] + internal global::System.IntPtr _namespace; - public bool IsExplicit - { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isExplicit != 0; - } + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isExplicit = (byte) (value ? 1 : 0); - } - } + [FieldOffset(20)] + internal int lineNumberStart; - public global::CppSharp.Parser.AST.CXXMethodKind MethodKind - { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->methodKind; - } + [FieldOffset(24)] + internal int lineNumberEnd; - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->methodKind = value; - } - } + [FieldOffset(28)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - public bool IsDefaultConstructor - { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isDefaultConstructor != 0; - } + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isDefaultConstructor = (byte) (value ? 1 : 0); - } + [FieldOffset(52)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(64)] + internal byte isIncomplete; + + [FieldOffset(65)] + internal byte isDependent; + + [FieldOffset(66)] + internal byte isImplicit; + + [FieldOffset(67)] + internal byte isInvalid; + + [FieldOffset(68)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(72)] + internal uint definitionOrder; + + [FieldOffset(76)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(88)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(100)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(104)] + internal global::System.IntPtr comment; + + [FieldOffset(108)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefDeclC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefDeclC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefDeclD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); } - public bool IsCopyConstructor + internal static new global::CppSharp.Parser.AST.TypedefDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isCopyConstructor != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isCopyConstructor = (byte) (value ? 1 : 0); - } + return new global::CppSharp.Parser.AST.TypedefDecl(native.ToPointer(), skipVTables); } - public bool IsMoveConstructor + internal static global::CppSharp.Parser.AST.TypedefDecl __CreateInstance(global::CppSharp.Parser.AST.TypedefDecl.__Internal native, bool skipVTables = false) { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isMoveConstructor != 0; - } + return new global::CppSharp.Parser.AST.TypedefDecl(native, skipVTables); + } - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isMoveConstructor = (byte) (value ? 1 : 0); - } + private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefDecl.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); + global::CppSharp.Parser.AST.TypedefDecl.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - public global::CppSharp.Parser.AST.QualifiedType ConversionType + private TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->conversionType)); - } + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->conversionType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } + protected TypedefDecl(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - public global::CppSharp.Parser.AST.RefQualifierKind RefQualifier + public TypedefDecl() + : this((void*) null) { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->refQualifier; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->refQualifier = value; - } + public TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public uint OverriddenMethodsCount + public override void Dispose(bool disposing) { - get - { - var __ret = __Internal.GetOverriddenMethodsCount((__Instance + __PointerAdjustment)); - return __ret; - } + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } } - public unsafe partial class Enumeration : global::CppSharp.Parser.AST.DeclarationContext, IDisposable + public unsafe partial class TypeAlias : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 256)] + [StructLayout(LayoutKind.Explicit, Size = 120)] public new partial struct __Internal { [FieldOffset(0)] @@ -8132,308 +7909,222 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(108)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; - - [FieldOffset(120)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [FieldOffset(132)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; + [FieldOffset(116)] + internal global::System.IntPtr describedAliasTemplate; - [FieldOffset(144)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9TypeAliasC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); - [FieldOffset(156)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9TypeAliasC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - [FieldOffset(168)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9TypeAliasD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + } - [FieldOffset(180)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; + internal static new global::CppSharp.Parser.AST.TypeAlias __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TypeAlias(native.ToPointer(), skipVTables); + } - [FieldOffset(192)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; - - [FieldOffset(204)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; - - [FieldOffset(216)] - internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; - - [FieldOffset(228)] - internal byte isAnonymous; - - [FieldOffset(232)] - internal global::CppSharp.Parser.AST.Enumeration.EnumModifiers modifiers; - - [FieldOffset(236)] - internal global::System.IntPtr type; - - [FieldOffset(240)] - internal global::System.IntPtr builtinType; - - [FieldOffset(244)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration_S_Item___N_std_N___1_S_allocator__S0_ Items; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); + internal static global::CppSharp.Parser.AST.TypeAlias __CreateInstance(global::CppSharp.Parser.AST.TypeAlias.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TypeAlias(native, skipVTables); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration8getItemsEj")] - internal static extern global::System.IntPtr GetItems(global::System.IntPtr __instance, uint i); + private static void* __CopyValue(global::CppSharp.Parser.AST.TypeAlias.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); + global::CppSharp.Parser.AST.TypeAlias.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration8addItemsERPNS2_4ItemE")] - internal static extern void AddItems(global::System.IntPtr __instance, global::System.IntPtr s); + private TypeAlias(global::CppSharp.Parser.AST.TypeAlias.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration10clearItemsEv")] - internal static extern void ClearItems(global::System.IntPtr __instance); + protected TypeAlias(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration14FindItemByNameERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE")] - internal static extern global::System.IntPtr FindItemByName(global::System.IntPtr __instance, global::System.IntPtr Name); + public TypeAlias() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration13getItemsCountEv")] - internal static extern uint GetItemsCount(global::System.IntPtr __instance); + public TypeAlias(global::CppSharp.Parser.AST.TypeAlias _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - [Flags] - public enum EnumModifiers + public override void Dispose(bool disposing) { - Anonymous = 1, - Scoped = 2, - Flags = 4 + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } - public unsafe partial class Item : global::CppSharp.Parser.AST.Declaration, IDisposable + public global::CppSharp.Parser.AST.TypeAliasTemplate DescribedAliasTemplate { - [StructLayout(LayoutKind.Explicit, Size = 128)] - public new partial struct __Internal + get { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + global::CppSharp.Parser.AST.TypeAliasTemplate __result0; + if (((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TypeAliasTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate)) + __result0 = (global::CppSharp.Parser.AST.TypeAliasTemplate) global::CppSharp.Parser.AST.TypeAliasTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate]; + else __result0 = global::CppSharp.Parser.AST.TypeAliasTemplate.__CreateInstance(((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate); + return __result0; + } - [FieldOffset(4)] - internal int maxFieldAlignment; + set + { + ((global::CppSharp.Parser.AST.TypeAlias.__Internal*)__Instance)->describedAliasTemplate = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + public unsafe partial class Friend : global::CppSharp.Parser.AST.Declaration, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 112)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; - [FieldOffset(12)] - internal global::System.IntPtr _namespace; + [FieldOffset(4)] + internal int maxFieldAlignment; - [FieldOffset(16)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; - [FieldOffset(20)] - internal int lineNumberStart; + [FieldOffset(12)] + internal global::System.IntPtr _namespace; - [FieldOffset(24)] - internal int lineNumberEnd; + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; - [FieldOffset(28)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + [FieldOffset(20)] + internal int lineNumberStart; - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + [FieldOffset(24)] + internal int lineNumberEnd; - [FieldOffset(52)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + [FieldOffset(28)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - [FieldOffset(64)] - internal byte isIncomplete; + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - [FieldOffset(65)] - internal byte isDependent; + [FieldOffset(52)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; - [FieldOffset(66)] - internal byte isImplicit; + [FieldOffset(64)] + internal byte isIncomplete; - [FieldOffset(67)] - internal byte isInvalid; + [FieldOffset(65)] + internal byte isDependent; - [FieldOffset(68)] - internal global::System.IntPtr completeDeclaration; + [FieldOffset(66)] + internal byte isImplicit; - [FieldOffset(72)] - internal uint definitionOrder; + [FieldOffset(67)] + internal byte isInvalid; - [FieldOffset(76)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + [FieldOffset(68)] + internal global::System.IntPtr completeDeclaration; - [FieldOffset(88)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + [FieldOffset(72)] + internal uint definitionOrder; - [FieldOffset(100)] - internal global::System.IntPtr originalPtr; + [FieldOffset(76)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; - [FieldOffset(104)] - internal global::System.IntPtr comment; + [FieldOffset(88)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; - [FieldOffset(108)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C expression; + [FieldOffset(100)] + internal global::System.IntPtr originalPtr; - [FieldOffset(120)] - internal ulong value; + [FieldOffset(104)] + internal global::System.IntPtr comment; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4ItemC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + [FieldOffset(108)] + internal global::System.IntPtr declaration; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4ItemC2ERKS3_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST6FriendC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4ItemD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST6FriendC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - internal static new global::CppSharp.Parser.AST.Enumeration.Item __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Enumeration.Item(native.ToPointer(), skipVTables); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST6FriendD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + } - internal static global::CppSharp.Parser.AST.Enumeration.Item __CreateInstance(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Enumeration.Item(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); - global::CppSharp.Parser.AST.Enumeration.Item.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private Item(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected Item(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public Item() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } - - public Item(global::CppSharp.Parser.AST.Enumeration.Item _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } - - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public string Expression - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*) __Instance)->expression)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*)__Instance)->expression), value); - } - } - - public ulong Value - { - get - { - return ((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*) __Instance)->value; - } - - set - { - ((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*)__Instance)->value = value; - } - } - } - - internal static new global::CppSharp.Parser.AST.Enumeration __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Friend __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Enumeration(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Friend(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Enumeration __CreateInstance(global::CppSharp.Parser.AST.Enumeration.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Friend __CreateInstance(global::CppSharp.Parser.AST.Friend.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Enumeration(native, skipVTables); + return new global::CppSharp.Parser.AST.Friend(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Enumeration.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Friend.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); - global::CppSharp.Parser.AST.Enumeration.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); + global::CppSharp.Parser.AST.Friend.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Enumeration(global::CppSharp.Parser.AST.Enumeration.__Internal native, bool skipVTables = false) + private Friend(global::CppSharp.Parser.AST.Friend.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Enumeration(void* native, bool skipVTables = false) + protected Friend(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -8442,19 +8133,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Enumeration() + public Friend() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public Enumeration(global::CppSharp.Parser.AST.Enumeration _0) + public Friend(global::CppSharp.Parser.AST.Friend _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -8476,216 +8167,239 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.Enumeration.Item GetItems(uint i) + public global::CppSharp.Parser.AST.Declaration Declaration { - var __ret = __Internal.GetItems((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Enumeration.Item __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Enumeration.Item) global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Enumeration.Item.__CreateInstance(__ret); - return __result0; + get + { + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.Friend.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } } + } - public void AddItems(global::CppSharp.Parser.AST.Enumeration.Item s) + public unsafe partial class StatementObsolete : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 20)] + public partial struct __Internal { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddItems((__Instance + __PointerAdjustment), __arg0); + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StatementClassObsolete _class; + + [FieldOffset(4)] + internal global::System.IntPtr decl; + + [FieldOffset(8)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C @string; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17StatementObsoleteC2ERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEENS1_22StatementClassObsoleteEPNS1_11DeclarationE")] + internal static extern void ctor(global::System.IntPtr __instance, global::System.IntPtr str, global::CppSharp.Parser.AST.StatementClassObsolete Class, global::System.IntPtr decl); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17StatementObsoleteC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17StatementObsoleteD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); } - public void ClearItems() + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.StatementObsolete __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - __Internal.ClearItems((__Instance + __PointerAdjustment)); + return new global::CppSharp.Parser.AST.StatementObsolete(native.ToPointer(), skipVTables); } - public global::CppSharp.Parser.AST.Enumeration.Item FindItemByName(string Name) + internal static global::CppSharp.Parser.AST.StatementObsolete __CreateInstance(global::CppSharp.Parser.AST.StatementObsolete.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.StatementObsolete(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.StatementObsolete.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StatementObsolete.__Internal)); + global::CppSharp.Parser.AST.StatementObsolete.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private StatementObsolete(global::CppSharp.Parser.AST.StatementObsolete.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected StatementObsolete(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public StatementObsolete(string str, global::CppSharp.Parser.AST.StatementClassObsolete Class, global::CppSharp.Parser.AST.Declaration decl) { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StatementObsolete.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, Name); + global::Std.BasicStringExtensions.Assign(__basicString0, str); var __arg0 = __basicString0.__Instance; - var __ret = __Internal.FindItemByName((__Instance + __PointerAdjustment), __arg0); + var __arg2 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; + __Internal.ctor((__Instance + __PointerAdjustment), __arg0, Class, __arg2); __basicString0.Dispose(false); - global::CppSharp.Parser.AST.Enumeration.Item __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Enumeration.Item) global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Enumeration.Item.__CreateInstance(__ret); - return __result0; } - public global::CppSharp.Parser.AST.Enumeration.EnumModifiers Modifiers + public StatementObsolete(global::CppSharp.Parser.AST.StatementObsolete _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StatementObsolete.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.StatementObsolete __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.StatementClassObsolete Class { get { - return ((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->modifiers; + return ((global::CppSharp.Parser.AST.StatementObsolete.__Internal*) __Instance)->_class; } set { - ((global::CppSharp.Parser.AST.Enumeration.__Internal*)__Instance)->modifiers = value; + ((global::CppSharp.Parser.AST.StatementObsolete.__Internal*)__Instance)->_class = value; } } - public global::CppSharp.Parser.AST.Type Type + public global::CppSharp.Parser.AST.Declaration Decl { get { - global::CppSharp.Parser.AST.Type __result0; - if (((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type)) - __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type]; - else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type); + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.StatementObsolete.__Internal*) __Instance)->decl == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.StatementObsolete.__Internal*) __Instance)->decl)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.StatementObsolete.__Internal*) __Instance)->decl]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.StatementObsolete.__Internal*) __Instance)->decl); return __result0; } set { - ((global::CppSharp.Parser.AST.Enumeration.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.StatementObsolete.__Internal*)__Instance)->decl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public global::CppSharp.Parser.AST.BuiltinType BuiltinType + public string String { get { - global::CppSharp.Parser.AST.BuiltinType __result0; - if (((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.BuiltinType.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType)) - __result0 = (global::CppSharp.Parser.AST.BuiltinType) global::CppSharp.Parser.AST.BuiltinType.NativeToManagedMap[((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType]; - else __result0 = global::CppSharp.Parser.AST.BuiltinType.__CreateInstance(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType); - return __result0; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.StatementObsolete.__Internal*) __Instance)->@string)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.Enumeration.__Internal*)__Instance)->builtinType = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - - public uint ItemsCount - { - get - { - var __ret = __Internal.GetItemsCount((__Instance + __PointerAdjustment)); - return __ret; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.StatementObsolete.__Internal*)__Instance)->@string), value); } } } - public unsafe partial class Variable : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class ExpressionObsolete : global::CppSharp.Parser.AST.StatementObsolete, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 128)] + [StructLayout(LayoutKind.Explicit, Size = 20)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::CppSharp.Parser.AST.StatementClassObsolete _class; [FieldOffset(4)] - internal int maxFieldAlignment; + internal global::System.IntPtr decl; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(12)] - internal global::System.IntPtr _namespace; - - [FieldOffset(16)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(20)] - internal int lineNumberStart; - - [FieldOffset(24)] - internal int lineNumberEnd; - - [FieldOffset(28)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - - [FieldOffset(52)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; - - [FieldOffset(64)] - internal byte isIncomplete; - - [FieldOffset(65)] - internal byte isDependent; - - [FieldOffset(66)] - internal byte isImplicit; - - [FieldOffset(67)] - internal byte isInvalid; - - [FieldOffset(68)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(72)] - internal uint definitionOrder; - - [FieldOffset(76)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(88)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; - - [FieldOffset(100)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(104)] - internal global::System.IntPtr comment; - - [FieldOffset(108)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C mangled; - - [FieldOffset(120)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C @string; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8VariableC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST18ExpressionObsoleteC2ERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEENS1_22StatementClassObsoleteEPNS1_11DeclarationE")] + internal static extern void ctor(global::System.IntPtr __instance, global::System.IntPtr str, global::CppSharp.Parser.AST.StatementClassObsolete Class, global::System.IntPtr decl); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8VariableC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST18ExpressionObsoleteC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8VariableD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST18ExpressionObsoleteD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.Variable __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.ExpressionObsolete __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Variable(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.ExpressionObsolete(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Variable __CreateInstance(global::CppSharp.Parser.AST.Variable.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.ExpressionObsolete __CreateInstance(global::CppSharp.Parser.AST.ExpressionObsolete.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Variable(native, skipVTables); + return new global::CppSharp.Parser.AST.ExpressionObsolete(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Variable.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ExpressionObsolete.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); - global::CppSharp.Parser.AST.Variable.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExpressionObsolete.__Internal)); + global::CppSharp.Parser.AST.ExpressionObsolete.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Variable(global::CppSharp.Parser.AST.Variable.__Internal native, bool skipVTables = false) + private ExpressionObsolete(global::CppSharp.Parser.AST.ExpressionObsolete.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Variable(void* native, bool skipVTables = false) + protected ExpressionObsolete(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -8694,19 +8408,24 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Variable() + public ExpressionObsolete(string str, global::CppSharp.Parser.AST.StatementClassObsolete Class, global::CppSharp.Parser.AST.Declaration decl) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExpressionObsolete.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, str); + var __arg0 = __basicString0.__Instance; + var __arg2 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; + __Internal.ctor((__Instance + __PointerAdjustment), __arg0, Class, __arg2); + __basicString0.Dispose(false); } - public Variable(global::CppSharp.Parser.AST.Variable _0) + public ExpressionObsolete(global::CppSharp.Parser.AST.ExpressionObsolete _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExpressionObsolete.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -8719,7 +8438,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.StatementObsolete __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -8727,312 +8446,414 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - - public string Mangled - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Variable.__Internal*) __Instance)->mangled)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Variable.__Internal*)__Instance)->mangled), value); - } - } - - public global::CppSharp.Parser.AST.QualifiedType QualifiedType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Variable.__Internal*) __Instance)->qualifiedType)); - } - - set - { - ((global::CppSharp.Parser.AST.Variable.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } } - public unsafe partial class BaseClassSpecifier : IDisposable + public unsafe partial class BinaryOperatorObsolete : global::CppSharp.Parser.AST.ExpressionObsolete, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 16)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + internal global::CppSharp.Parser.AST.StatementClassObsolete _class; [FieldOffset(4)] - internal byte isVirtual; + internal global::System.IntPtr decl; [FieldOffset(8)] - internal global::System.IntPtr type; + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C @string; - [FieldOffset(12)] - internal int offset; + [FieldOffset(20)] + internal global::System.IntPtr LHS; + + [FieldOffset(24)] + internal global::System.IntPtr RHS; + + [FieldOffset(28)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C opcodeStr; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18BaseClassSpecifierC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST22BinaryOperatorObsoleteC2ERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEPNS1_18ExpressionObsoleteESD_SB_")] + internal static extern void ctor(global::System.IntPtr __instance, global::System.IntPtr str, global::System.IntPtr lhs, global::System.IntPtr rhs, global::System.IntPtr opcodeStr); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18BaseClassSpecifierC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST22BinaryOperatorObsoleteC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - } - - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; - protected bool __ownsNativeInstance; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST22BinaryOperatorObsoleteD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + } - internal static global::CppSharp.Parser.AST.BaseClassSpecifier __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.BinaryOperatorObsolete __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BaseClassSpecifier(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.BinaryOperatorObsolete(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.BaseClassSpecifier __CreateInstance(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.BinaryOperatorObsolete __CreateInstance(global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BaseClassSpecifier(native, skipVTables); + return new global::CppSharp.Parser.AST.BinaryOperatorObsolete(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); - *(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) ret = native; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal)); + global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native, bool skipVTables = false) + private BinaryOperatorObsolete(global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected BaseClassSpecifier(void* native, bool skipVTables = false) + protected BinaryOperatorObsolete(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public BaseClassSpecifier() + public BinaryOperatorObsolete(string str, global::CppSharp.Parser.AST.ExpressionObsolete lhs, global::CppSharp.Parser.AST.ExpressionObsolete rhs, string opcodeStr) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, str); + var __arg0 = __basicString0.__Instance; + var __arg1 = ReferenceEquals(lhs, null) ? global::System.IntPtr.Zero : lhs.__Instance; + var __arg2 = ReferenceEquals(rhs, null) ? global::System.IntPtr.Zero : rhs.__Instance; + var __basicString3 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString3, opcodeStr); + var __arg3 = __basicString3.__Instance; + __Internal.ctor((__Instance + __PointerAdjustment), __arg0, __arg1, __arg2, __arg3); + __basicString0.Dispose(false); + __basicString3.Dispose(false); } - public BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier _0) + public BinaryOperatorObsolete(global::CppSharp.Parser.AST.BinaryOperatorObsolete _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) _0.__Instance); - } - - public void Dispose() - { - Dispose(disposing: true); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.BaseClassSpecifier __dummy; + global::CppSharp.Parser.AST.StatementObsolete __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.AccessSpecifier Access - { - get - { - return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->access; - } - - set - { - ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->access = value; - } - } - - public bool IsVirtual + public global::CppSharp.Parser.AST.ExpressionObsolete LHS { get { - return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->isVirtual != 0; + global::CppSharp.Parser.AST.ExpressionObsolete __result0; + if (((global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal*) __Instance)->LHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ExpressionObsolete.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal*) __Instance)->LHS)) + __result0 = (global::CppSharp.Parser.AST.ExpressionObsolete) global::CppSharp.Parser.AST.ExpressionObsolete.NativeToManagedMap[((global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal*) __Instance)->LHS]; + else __result0 = global::CppSharp.Parser.AST.ExpressionObsolete.__CreateInstance(((global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal*) __Instance)->LHS); + return __result0; } set { - ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->isVirtual = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal*)__Instance)->LHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public global::CppSharp.Parser.AST.Type Type + public global::CppSharp.Parser.AST.ExpressionObsolete RHS { get { - global::CppSharp.Parser.AST.Type __result0; - if (((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type)) - __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type]; - else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type); + global::CppSharp.Parser.AST.ExpressionObsolete __result0; + if (((global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal*) __Instance)->RHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ExpressionObsolete.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal*) __Instance)->RHS)) + __result0 = (global::CppSharp.Parser.AST.ExpressionObsolete) global::CppSharp.Parser.AST.ExpressionObsolete.NativeToManagedMap[((global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal*) __Instance)->RHS]; + else __result0 = global::CppSharp.Parser.AST.ExpressionObsolete.__CreateInstance(((global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal*) __Instance)->RHS); return __result0; } set { - ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal*)__Instance)->RHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public int Offset + public string OpcodeStr { get { - return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->offset; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal*) __Instance)->opcodeStr)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->offset = value; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal*)__Instance)->opcodeStr), value); } } } - public unsafe partial class Field : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class CallExprObsolete : global::CppSharp.Parser.AST.ExpressionObsolete, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 128)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::CppSharp.Parser.AST.StatementClassObsolete _class; [FieldOffset(4)] - internal int maxFieldAlignment; + internal global::System.IntPtr decl; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(12)] - internal global::System.IntPtr _namespace; - - [FieldOffset(16)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C @string; [FieldOffset(20)] - internal int lineNumberStart; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_ExpressionObsolete___N_std_N___1_S_allocator__S0_ Arguments; - [FieldOffset(24)] - internal int lineNumberEnd; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CallExprObsoleteC2ERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEPNS1_11DeclarationE")] + internal static extern void ctor(global::System.IntPtr __instance, global::System.IntPtr str, global::System.IntPtr decl); - [FieldOffset(28)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CallExprObsoleteC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CallExprObsoleteD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); - [FieldOffset(52)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CallExprObsolete12getArgumentsEj")] + internal static extern global::System.IntPtr GetArguments(global::System.IntPtr __instance, uint i); - [FieldOffset(64)] - internal byte isIncomplete; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CallExprObsolete12addArgumentsERPNS1_18ExpressionObsoleteE")] + internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); - [FieldOffset(65)] - internal byte isDependent; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CallExprObsolete14clearArgumentsEv")] + internal static extern void ClearArguments(global::System.IntPtr __instance); - [FieldOffset(66)] - internal byte isImplicit; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CallExprObsolete17getArgumentsCountEv")] + internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); + } - [FieldOffset(67)] - internal byte isInvalid; + internal static new global::CppSharp.Parser.AST.CallExprObsolete __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CallExprObsolete(native.ToPointer(), skipVTables); + } - [FieldOffset(68)] - internal global::System.IntPtr completeDeclaration; + internal static global::CppSharp.Parser.AST.CallExprObsolete __CreateInstance(global::CppSharp.Parser.AST.CallExprObsolete.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CallExprObsolete(native, skipVTables); + } - [FieldOffset(72)] - internal uint definitionOrder; + private static void* __CopyValue(global::CppSharp.Parser.AST.CallExprObsolete.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExprObsolete.__Internal)); + global::CppSharp.Parser.AST.CallExprObsolete.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(76)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + private CallExprObsolete(global::CppSharp.Parser.AST.CallExprObsolete.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(88)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + protected CallExprObsolete(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(100)] - internal global::System.IntPtr originalPtr; + public CallExprObsolete(string str, global::CppSharp.Parser.AST.Declaration decl) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExprObsolete.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, str); + var __arg0 = __basicString0.__Instance; + var __arg1 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; + __Internal.ctor((__Instance + __PointerAdjustment), __arg0, __arg1); + __basicString0.Dispose(false); + } - [FieldOffset(104)] - internal global::System.IntPtr comment; + public CallExprObsolete(global::CppSharp.Parser.AST.CallExprObsolete _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExprObsolete.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(108)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.StatementObsolete __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } - [FieldOffset(116)] - internal global::System.IntPtr _class; + public global::CppSharp.Parser.AST.ExpressionObsolete GetArguments(uint i) + { + var __ret = __Internal.GetArguments((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.ExpressionObsolete __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ExpressionObsolete.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.ExpressionObsolete) global::CppSharp.Parser.AST.ExpressionObsolete.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.ExpressionObsolete.__CreateInstance(__ret); + return __result0; + } - [FieldOffset(120)] - internal byte isBitField; + public void AddArguments(global::CppSharp.Parser.AST.ExpressionObsolete s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(124)] - internal uint bitWidth; + public void ClearArguments() + { + __Internal.ClearArguments((__Instance + __PointerAdjustment)); + } + + public uint ArgumentsCount + { + get + { + var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class CXXConstructExprObsolete : global::CppSharp.Parser.AST.ExpressionObsolete, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StatementClassObsolete _class; + + [FieldOffset(4)] + internal global::System.IntPtr decl; + + [FieldOffset(8)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C @string; + + [FieldOffset(20)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_ExpressionObsolete___N_std_N___1_S_allocator__S0_ Arguments; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5FieldC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST24CXXConstructExprObsoleteC2ERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEPNS1_11DeclarationE")] + internal static extern void ctor(global::System.IntPtr __instance, global::System.IntPtr str, global::System.IntPtr decl); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5FieldC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST24CXXConstructExprObsoleteC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5FieldD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST24CXXConstructExprObsoleteD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24CXXConstructExprObsolete12getArgumentsEj")] + internal static extern global::System.IntPtr GetArguments(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24CXXConstructExprObsolete12addArgumentsERPNS1_18ExpressionObsoleteE")] + internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24CXXConstructExprObsolete14clearArgumentsEv")] + internal static extern void ClearArguments(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24CXXConstructExprObsolete17getArgumentsCountEv")] + internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.Field __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.CXXConstructExprObsolete __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Field(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.CXXConstructExprObsolete(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Field __CreateInstance(global::CppSharp.Parser.AST.Field.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.CXXConstructExprObsolete __CreateInstance(global::CppSharp.Parser.AST.CXXConstructExprObsolete.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Field(native, skipVTables); + return new global::CppSharp.Parser.AST.CXXConstructExprObsolete(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Field.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXConstructExprObsolete.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); - global::CppSharp.Parser.AST.Field.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExprObsolete.__Internal)); + global::CppSharp.Parser.AST.CXXConstructExprObsolete.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Field(global::CppSharp.Parser.AST.Field.__Internal native, bool skipVTables = false) + private CXXConstructExprObsolete(global::CppSharp.Parser.AST.CXXConstructExprObsolete.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Field(void* native, bool skipVTables = false) + protected CXXConstructExprObsolete(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -9041,19 +8862,24 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Field() + public CXXConstructExprObsolete(string str, global::CppSharp.Parser.AST.Declaration decl) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExprObsolete.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, str); + var __arg0 = __basicString0.__Instance; + var __arg1 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; + __Internal.ctor((__Instance + __PointerAdjustment), __arg0, __arg1); + __basicString0.Dispose(false); } - public Field(global::CppSharp.Parser.AST.Field _0) + public CXXConstructExprObsolete(global::CppSharp.Parser.AST.CXXConstructExprObsolete _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExprObsolete.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -9066,7 +8892,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.StatementObsolete __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -9075,67 +8901,43 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType + public global::CppSharp.Parser.AST.ExpressionObsolete GetArguments(uint i) { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->qualifiedType)); - } - - set - { - ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } + var __ret = __Internal.GetArguments((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.ExpressionObsolete __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ExpressionObsolete.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.ExpressionObsolete) global::CppSharp.Parser.AST.ExpressionObsolete.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.ExpressionObsolete.__CreateInstance(__ret); + return __result0; } - public global::CppSharp.Parser.AST.Class Class + public void AddArguments(global::CppSharp.Parser.AST.ExpressionObsolete s) { - get - { - global::CppSharp.Parser.AST.Class __result0; - if (((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class)) - __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class]; - else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); } - public bool IsBitField + public void ClearArguments() { - get - { - return ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->isBitField != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->isBitField = (byte) (value ? 1 : 0); - } + __Internal.ClearArguments((__Instance + __PointerAdjustment)); } - public uint BitWidth + public uint ArgumentsCount { get { - return ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->bitWidth; - } - - set - { - ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->bitWidth = value; + var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class AccessSpecifierDecl : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class Parameter : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 108)] + [StructLayout(LayoutKind.Explicit, Size = 132)] public new partial struct __Internal { [FieldOffset(0)] @@ -9198,47 +9000,65 @@ namespace CppSharp [FieldOffset(104)] internal global::System.IntPtr comment; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + [FieldOffset(108)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(116)] + internal byte isIndirect; + + [FieldOffset(117)] + internal byte hasDefaultValue; + + [FieldOffset(120)] + internal uint index; + + [FieldOffset(124)] + internal global::System.IntPtr defaultArgument; + + [FieldOffset(128)] + internal global::System.IntPtr defaultArgumentNew; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST9ParameterC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9ParameterC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9ParameterD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.AccessSpecifierDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Parameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.AccessSpecifierDecl(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Parameter(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.AccessSpecifierDecl __CreateInstance(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Parameter __CreateInstance(global::CppSharp.Parser.AST.Parameter.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.AccessSpecifierDecl(native, skipVTables); + return new global::CppSharp.Parser.AST.Parameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Parameter.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); - global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); + global::CppSharp.Parser.AST.Parameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private AccessSpecifierDecl(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native, bool skipVTables = false) + private Parameter(global::CppSharp.Parser.AST.Parameter.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected AccessSpecifierDecl(void* native, bool skipVTables = false) + protected Parameter(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -9247,19 +9067,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public AccessSpecifierDecl() + public Parameter() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public AccessSpecifierDecl(global::CppSharp.Parser.AST.AccessSpecifierDecl _0) + public Parameter(global::CppSharp.Parser.AST.Parameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -9280,11 +9100,99 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } + + public global::CppSharp.Parser.AST.QualifiedType QualifiedType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->qualifiedType)); + } + + set + { + ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public bool IsIndirect + { + get + { + return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->isIndirect != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->isIndirect = (byte) (value ? 1 : 0); + } + } + + public bool HasDefaultValue + { + get + { + return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->hasDefaultValue != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->hasDefaultValue = (byte) (value ? 1 : 0); + } + } + + public uint Index + { + get + { + return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->index; + } + + set + { + ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->index = value; + } + } + + public global::CppSharp.Parser.AST.ExpressionObsolete DefaultArgument + { + get + { + global::CppSharp.Parser.AST.ExpressionObsolete __result0; + if (((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ExpressionObsolete.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument)) + __result0 = (global::CppSharp.Parser.AST.ExpressionObsolete) global::CppSharp.Parser.AST.ExpressionObsolete.NativeToManagedMap[((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument]; + else __result0 = global::CppSharp.Parser.AST.ExpressionObsolete.__CreateInstance(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->defaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr DefaultArgumentNew + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgumentNew == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgumentNew)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgumentNew]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgumentNew); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->defaultArgumentNew = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } } - public unsafe partial class Class : global::CppSharp.Parser.AST.DeclarationContext, IDisposable + public unsafe partial class Function : global::CppSharp.Parser.AST.DeclarationContext, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 296)] + [StructLayout(LayoutKind.Explicit, Size = 324)] public new partial struct __Internal { [FieldOffset(0)] @@ -9381,171 +9289,123 @@ namespace CppSharp internal byte isAnonymous; [FieldOffset(232)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BaseClassSpecifier___N_std_N___1_S_allocator__S0_ Bases; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; - [FieldOffset(244)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Field___N_std_N___1_S_allocator__S0_ Fields; + [FieldOffset(240)] + internal byte isReturnIndirect; - [FieldOffset(256)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_N___1_S_allocator__S0_ Methods; + [FieldOffset(241)] + internal byte hasThisReturn; - [FieldOffset(268)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_AccessSpecifierDecl___N_std_N___1_S_allocator__S0_ Specifiers; + [FieldOffset(242)] + internal byte isConstExpr; - [FieldOffset(280)] - internal byte isPOD; + [FieldOffset(243)] + internal byte isVariadic; - [FieldOffset(281)] - internal byte isAbstract; + [FieldOffset(244)] + internal byte isInline; - [FieldOffset(282)] - internal byte isUnion; + [FieldOffset(245)] + internal byte isPure; - [FieldOffset(283)] - internal byte isDynamic; + [FieldOffset(246)] + internal byte isDeleted; - [FieldOffset(284)] - internal byte isPolymorphic; + [FieldOffset(247)] + internal byte isDefaulted; - [FieldOffset(285)] - internal byte hasNonTrivialDefaultConstructor; + [FieldOffset(248)] + internal global::CppSharp.Parser.AST.FriendKind friendKind; - [FieldOffset(286)] - internal byte hasNonTrivialCopyConstructor; + [FieldOffset(252)] + internal global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; - [FieldOffset(287)] - internal byte hasNonTrivialDestructor; + [FieldOffset(256)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C mangled; - [FieldOffset(288)] - internal byte isExternCContext; + [FieldOffset(268)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C signature; - [FieldOffset(289)] - internal byte isInjected; + [FieldOffset(280)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C body; [FieldOffset(292)] - internal global::System.IntPtr layout; + internal global::CppSharp.Parser.AST.CallingConvention callingConvention; + + [FieldOffset(296)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_N___1_S_allocator__S0_ Parameters; + + [FieldOffset(308)] + internal global::System.IntPtr specializationInfo; + + [FieldOffset(312)] + internal global::System.IntPtr instantiatedFrom; + + [FieldOffset(316)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5ClassC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST8FunctionC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5ClassC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST8FunctionC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5ClassD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST8FunctionD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class8getBasesEj")] - internal static extern global::System.IntPtr GetBases(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class8addBasesERPNS1_18BaseClassSpecifierE")] - internal static extern void AddBases(global::System.IntPtr __instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST8Function13getParametersEj")] + internal static extern global::System.IntPtr GetParameters(global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class10clearBasesEv")] - internal static extern void ClearBases(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST8Function13addParametersERPNS1_9ParameterE")] + internal static extern void AddParameters(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class9getFieldsEj")] - internal static extern global::System.IntPtr GetFields(global::System.IntPtr __instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST8Function15clearParametersEv")] + internal static extern void ClearParameters(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class9addFieldsERPNS1_5FieldE")] - internal static extern void AddFields(global::System.IntPtr __instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST8Function18getParametersCountEv")] + internal static extern uint GetParametersCount(global::System.IntPtr __instance); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class11clearFieldsEv")] - internal static extern void ClearFields(global::System.IntPtr __instance); + internal static new global::CppSharp.Parser.AST.Function __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Function(native.ToPointer(), skipVTables); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class10getMethodsEj")] - internal static extern global::System.IntPtr GetMethods(global::System.IntPtr __instance, uint i); + internal static global::CppSharp.Parser.AST.Function __CreateInstance(global::CppSharp.Parser.AST.Function.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Function(native, skipVTables); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class10addMethodsERPNS1_6MethodE")] - internal static extern void AddMethods(global::System.IntPtr __instance, global::System.IntPtr s); + private static void* __CopyValue(global::CppSharp.Parser.AST.Function.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); + global::CppSharp.Parser.AST.Function.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class12clearMethodsEv")] - internal static extern void ClearMethods(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class13getSpecifiersEj")] - internal static extern global::System.IntPtr GetSpecifiers(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class13addSpecifiersERPNS1_19AccessSpecifierDeclE")] - internal static extern void AddSpecifiers(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class15clearSpecifiersEv")] - internal static extern void ClearSpecifiers(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class13getBasesCountEv")] - internal static extern uint GetBasesCount(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class14getFieldsCountEv")] - internal static extern uint GetFieldsCount(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class15getMethodsCountEv")] - internal static extern uint GetMethodsCount(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class18getSpecifiersCountEv")] - internal static extern uint GetSpecifiersCount(global::System.IntPtr __instance); - } - - internal static new global::CppSharp.Parser.AST.Class __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Class(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.Class __CreateInstance(global::CppSharp.Parser.AST.Class.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Class(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.Class.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); - global::CppSharp.Parser.AST.Class.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private Class(global::CppSharp.Parser.AST.Class.__Internal native, bool skipVTables = false) + private Function(global::CppSharp.Parser.AST.Function.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Class(void* native, bool skipVTables = false) + protected Function(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -9554,19 +9414,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Class() + public Function() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public Class(global::CppSharp.Parser.AST.Class _0) + public Function(global::CppSharp.Parser.AST.Function _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -9588,290 +9448,296 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.BaseClassSpecifier GetBases(uint i) - { - var __ret = __Internal.GetBases((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.BaseClassSpecifier __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.BaseClassSpecifier.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.BaseClassSpecifier) global::CppSharp.Parser.AST.BaseClassSpecifier.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.BaseClassSpecifier.__CreateInstance(__ret); - return __result0; - } - - public void AddBases(global::CppSharp.Parser.AST.BaseClassSpecifier s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddBases((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearBases() - { - __Internal.ClearBases((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.Field GetFields(uint i) - { - var __ret = __Internal.GetFields((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Field __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Field.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Field) global::CppSharp.Parser.AST.Field.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Field.__CreateInstance(__ret); - return __result0; - } - - public void AddFields(global::CppSharp.Parser.AST.Field s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddFields((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearFields() - { - __Internal.ClearFields((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.Method GetMethods(uint i) - { - var __ret = __Internal.GetMethods((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Method __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Method.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Method) global::CppSharp.Parser.AST.Method.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Method.__CreateInstance(__ret); - return __result0; - } - - public void AddMethods(global::CppSharp.Parser.AST.Method s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddMethods((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearMethods() - { - __Internal.ClearMethods((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.AccessSpecifierDecl GetSpecifiers(uint i) + public global::CppSharp.Parser.AST.Parameter GetParameters(uint i) { - var __ret = __Internal.GetSpecifiers((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.AccessSpecifierDecl __result0; + var __ret = __Internal.GetParameters((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Parameter __result0; if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.AccessSpecifierDecl.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.AccessSpecifierDecl) global::CppSharp.Parser.AST.AccessSpecifierDecl.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.AccessSpecifierDecl.__CreateInstance(__ret); + else if (global::CppSharp.Parser.AST.Parameter.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Parameter) global::CppSharp.Parser.AST.Parameter.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Parameter.__CreateInstance(__ret); return __result0; } - public void AddSpecifiers(global::CppSharp.Parser.AST.AccessSpecifierDecl s) + public void AddParameters(global::CppSharp.Parser.AST.Parameter s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddSpecifiers((__Instance + __PointerAdjustment), __arg0); + __Internal.AddParameters((__Instance + __PointerAdjustment), __arg0); } - public void ClearSpecifiers() + public void ClearParameters() { - __Internal.ClearSpecifiers((__Instance + __PointerAdjustment)); + __Internal.ClearParameters((__Instance + __PointerAdjustment)); } - public bool IsPOD + public global::CppSharp.Parser.AST.QualifiedType ReturnType { get { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isPOD != 0; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->returnType)); } set { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isPOD = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->returnType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public bool IsAbstract + public bool IsReturnIndirect { get { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isAbstract != 0; + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isReturnIndirect != 0; } set { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isAbstract = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isReturnIndirect = (byte) (value ? 1 : 0); } } - public bool IsUnion + public bool HasThisReturn { get { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isUnion != 0; + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->hasThisReturn != 0; } set { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isUnion = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->hasThisReturn = (byte) (value ? 1 : 0); } } - public bool IsDynamic + public bool IsConstExpr { get { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isDynamic != 0; + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isConstExpr != 0; } set { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isDynamic = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isConstExpr = (byte) (value ? 1 : 0); } } - public bool IsPolymorphic + public bool IsVariadic { get { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isPolymorphic != 0; + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isVariadic != 0; } set { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isPolymorphic = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isVariadic = (byte) (value ? 1 : 0); } } - public bool HasNonTrivialDefaultConstructor + public bool IsInline { get { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialDefaultConstructor != 0; + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isInline != 0; } set { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->hasNonTrivialDefaultConstructor = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isInline = (byte) (value ? 1 : 0); } } - public bool HasNonTrivialCopyConstructor + public bool IsPure { get { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialCopyConstructor != 0; + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isPure != 0; } set { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->hasNonTrivialCopyConstructor = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isPure = (byte) (value ? 1 : 0); } } - public bool HasNonTrivialDestructor + public bool IsDeleted { get { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialDestructor != 0; + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isDeleted != 0; } set { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->hasNonTrivialDestructor = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isDeleted = (byte) (value ? 1 : 0); } } - public bool IsExternCContext + public bool IsDefaulted { get { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isExternCContext != 0; + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isDefaulted != 0; } set { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isExternCContext = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isDefaulted = (byte) (value ? 1 : 0); } } - public bool IsInjected + public global::CppSharp.Parser.AST.FriendKind FriendKind { get { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isInjected != 0; + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->friendKind; } set { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isInjected = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->friendKind = value; } } - public global::CppSharp.Parser.AST.ClassLayout Layout + public global::CppSharp.Parser.AST.CXXOperatorKind OperatorKind { get { - global::CppSharp.Parser.AST.ClassLayout __result0; - if (((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.ClassLayout.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout)) - __result0 = (global::CppSharp.Parser.AST.ClassLayout) global::CppSharp.Parser.AST.ClassLayout.NativeToManagedMap[((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout]; - else __result0 = global::CppSharp.Parser.AST.ClassLayout.__CreateInstance(((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout); - return __result0; + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->operatorKind; } set { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->layout = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->operatorKind = value; } } - public uint BasesCount + public string Mangled { get { - var __ret = __Internal.GetBasesCount((__Instance + __PointerAdjustment)); - return __ret; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->mangled)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } - } - public uint FieldsCount - { - get + set { - var __ret = __Internal.GetFieldsCount((__Instance + __PointerAdjustment)); - return __ret; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->mangled), value); } } - public uint MethodsCount + public string Signature { get { - var __ret = __Internal.GetMethodsCount((__Instance + __PointerAdjustment)); - return __ret; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->signature)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } - } - public uint SpecifiersCount + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->signature), value); + } + } + + public string Body { get { - var __ret = __Internal.GetSpecifiersCount((__Instance + __PointerAdjustment)); + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->body)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->body), value); + } + } + + public global::CppSharp.Parser.AST.CallingConvention CallingConvention + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->callingConvention; + } + + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->callingConvention = value; + } + } + + public global::CppSharp.Parser.AST.FunctionTemplateSpecialization SpecializationInfo + { + get + { + global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0; + if (((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo)) + __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo]; + else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->specializationInfo = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Function InstantiatedFrom + { + get + { + global::CppSharp.Parser.AST.Function __result0; + if (((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom)) + __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom]; + else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->instantiatedFrom = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType QualifiedType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->qualifiedType)); + } + + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public uint ParametersCount + { + get + { + var __ret = __Internal.GetParametersCount((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class Template : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class Method : global::CppSharp.Parser.AST.Function, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 124)] + [StructLayout(LayoutKind.Explicit, Size = 360)] public new partial struct __Internal { [FieldOffset(0)] @@ -9935,77 +9801,189 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(108)] - internal global::System.IntPtr TemplatedDecl; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Parameters; + [FieldOffset(120)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateC2ENS1_15DeclarationKindE")] - internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.DeclarationKind kind); + [FieldOffset(132)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; + + [FieldOffset(144)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; + + [FieldOffset(156)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; + + [FieldOffset(168)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; + + [FieldOffset(180)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; + + [FieldOffset(192)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; + + [FieldOffset(204)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; + + [FieldOffset(216)] + internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; + + [FieldOffset(228)] + internal byte isAnonymous; + + [FieldOffset(232)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; + + [FieldOffset(240)] + internal byte isReturnIndirect; + + [FieldOffset(241)] + internal byte hasThisReturn; + + [FieldOffset(242)] + internal byte isConstExpr; + + [FieldOffset(243)] + internal byte isVariadic; + + [FieldOffset(244)] + internal byte isInline; + + [FieldOffset(245)] + internal byte isPure; + + [FieldOffset(246)] + internal byte isDeleted; + + [FieldOffset(247)] + internal byte isDefaulted; + + [FieldOffset(248)] + internal global::CppSharp.Parser.AST.FriendKind friendKind; + + [FieldOffset(252)] + internal global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; + + [FieldOffset(256)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C mangled; + + [FieldOffset(268)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C signature; + + [FieldOffset(280)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C body; + + [FieldOffset(292)] + internal global::CppSharp.Parser.AST.CallingConvention callingConvention; + + [FieldOffset(296)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_N___1_S_allocator__S0_ Parameters; + + [FieldOffset(308)] + internal global::System.IntPtr specializationInfo; + + [FieldOffset(312)] + internal global::System.IntPtr instantiatedFrom; + + [FieldOffset(316)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(324)] + internal byte isVirtual; + + [FieldOffset(325)] + internal byte isStatic; + + [FieldOffset(326)] + internal byte isConst; + + [FieldOffset(327)] + internal byte isExplicit; + + [FieldOffset(328)] + internal global::CppSharp.Parser.AST.CXXMethodKind methodKind; + + [FieldOffset(332)] + internal byte isDefaultConstructor; + + [FieldOffset(333)] + internal byte isCopyConstructor; + + [FieldOffset(334)] + internal byte isMoveConstructor; + + [FieldOffset(336)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal conversionType; + + [FieldOffset(344)] + internal global::CppSharp.Parser.AST.RefQualifierKind refQualifier; + + [FieldOffset(348)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_N___1_S_allocator__S0_ OverriddenMethods; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST6MethodC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST6MethodC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST6MethodD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Template13getParametersEj")] - internal static extern global::System.IntPtr GetParameters(global::System.IntPtr __instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST6Method20getOverriddenMethodsEj")] + internal static extern global::System.IntPtr GetOverriddenMethods(global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Template13addParametersERPNS1_11DeclarationE")] - internal static extern void AddParameters(global::System.IntPtr __instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST6Method20addOverriddenMethodsERPS2_")] + internal static extern void AddOverriddenMethods(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Template15clearParametersEv")] - internal static extern void ClearParameters(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST6Method22clearOverriddenMethodsEv")] + internal static extern void ClearOverriddenMethods(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Template18getParametersCountEv")] - internal static extern uint GetParametersCount(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST6Method25getOverriddenMethodsCountEv")] + internal static extern uint GetOverriddenMethodsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.Template __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Method __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Template(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Method(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Template __CreateInstance(global::CppSharp.Parser.AST.Template.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Method __CreateInstance(global::CppSharp.Parser.AST.Method.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Template(native, skipVTables); + return new global::CppSharp.Parser.AST.Method(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Template.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Method.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); - global::CppSharp.Parser.AST.Template.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); + global::CppSharp.Parser.AST.Method.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Template(global::CppSharp.Parser.AST.Template.__Internal native, bool skipVTables = false) + private Method(global::CppSharp.Parser.AST.Method.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Template(void* native, bool skipVTables = false) + protected Method(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -10014,28 +9992,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Template(global::CppSharp.Parser.AST.DeclarationKind kind) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), kind); - } - - public Template() + public Method() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public Template(global::CppSharp.Parser.AST.Template _0) + public Method(global::CppSharp.Parser.AST.Method _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -10057,66 +10026,173 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.Declaration GetParameters(uint i) + public global::CppSharp.Parser.AST.Method GetOverriddenMethods(uint i) { - var __ret = __Internal.GetParameters((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Declaration __result0; + var __ret = __Internal.GetOverriddenMethods((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Method __result0; if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(__ret); + else if (global::CppSharp.Parser.AST.Method.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Method) global::CppSharp.Parser.AST.Method.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Method.__CreateInstance(__ret); return __result0; } - public void AddParameters(global::CppSharp.Parser.AST.Declaration s) + public void AddOverriddenMethods(global::CppSharp.Parser.AST.Method s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddParameters((__Instance + __PointerAdjustment), __arg0); + __Internal.AddOverriddenMethods((__Instance + __PointerAdjustment), __arg0); } - public void ClearParameters() + public void ClearOverriddenMethods() { - __Internal.ClearParameters((__Instance + __PointerAdjustment)); + __Internal.ClearOverriddenMethods((__Instance + __PointerAdjustment)); } - public static implicit operator global::CppSharp.Parser.AST.Template(global::CppSharp.Parser.AST.DeclarationKind kind) + public bool IsVirtual { - return new global::CppSharp.Parser.AST.Template(kind); + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isVirtual != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isVirtual = (byte) (value ? 1 : 0); + } } - public global::CppSharp.Parser.AST.Declaration TemplatedDecl + public bool IsStatic { get { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl); - return __result0; + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isStatic != 0; } set { - ((global::CppSharp.Parser.AST.Template.__Internal*)__Instance)->TemplatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isStatic = (byte) (value ? 1 : 0); } } - public uint ParametersCount + public bool IsConst { get { - var __ret = __Internal.GetParametersCount((__Instance + __PointerAdjustment)); + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isConst != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isConst = (byte) (value ? 1 : 0); + } + } + + public bool IsExplicit + { + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isExplicit != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isExplicit = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.CXXMethodKind MethodKind + { + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->methodKind; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->methodKind = value; + } + } + + public bool IsDefaultConstructor + { + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isDefaultConstructor != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isDefaultConstructor = (byte) (value ? 1 : 0); + } + } + + public bool IsCopyConstructor + { + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isCopyConstructor != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isCopyConstructor = (byte) (value ? 1 : 0); + } + } + + public bool IsMoveConstructor + { + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isMoveConstructor != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isMoveConstructor = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.QualifiedType ConversionType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->conversionType)); + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->conversionType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public global::CppSharp.Parser.AST.RefQualifierKind RefQualifier + { + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->refQualifier; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->refQualifier = value; + } + } + + public uint OverriddenMethodsCount + { + get + { + var __ret = __Internal.GetOverriddenMethodsCount((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class TypeAliasTemplate : global::CppSharp.Parser.AST.Template, IDisposable + public unsafe partial class Enumeration : global::CppSharp.Parser.AST.DeclarationContext, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 124)] + [StructLayout(LayoutKind.Explicit, Size = 256)] public new partial struct __Internal { [FieldOffset(0)] @@ -10180,52 +10256,308 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(108)] - internal global::System.IntPtr TemplatedDecl; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Parameters; + [FieldOffset(120)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; + + [FieldOffset(132)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; + + [FieldOffset(144)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; + + [FieldOffset(156)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; + + [FieldOffset(168)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; + + [FieldOffset(180)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; + + [FieldOffset(192)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; + + [FieldOffset(204)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; + + [FieldOffset(216)] + internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; + + [FieldOffset(228)] + internal byte isAnonymous; + + [FieldOffset(232)] + internal global::CppSharp.Parser.AST.Enumeration.EnumModifiers modifiers; + + [FieldOffset(236)] + internal global::System.IntPtr type; + + [FieldOffset(240)] + internal global::System.IntPtr builtinType; + + [FieldOffset(244)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration_S_Item___N_std_N___1_S_allocator__S0_ Items; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17TypeAliasTemplateC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17TypeAliasTemplateC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17TypeAliasTemplateD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); - } - internal static new global::CppSharp.Parser.AST.TypeAliasTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.TypeAliasTemplate(native.ToPointer(), skipVTables); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration8getItemsEj")] + internal static extern global::System.IntPtr GetItems(global::System.IntPtr __instance, uint i); - internal static global::CppSharp.Parser.AST.TypeAliasTemplate __CreateInstance(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.TypeAliasTemplate(native, skipVTables); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration8addItemsERPNS2_4ItemE")] + internal static extern void AddItems(global::System.IntPtr __instance, global::System.IntPtr s); - private static void* __CopyValue(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); - global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration10clearItemsEv")] + internal static extern void ClearItems(global::System.IntPtr __instance); - private TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration14FindItemByNameERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE")] + internal static extern global::System.IntPtr FindItemByName(global::System.IntPtr __instance, global::System.IntPtr Name); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration13getItemsCountEv")] + internal static extern uint GetItemsCount(global::System.IntPtr __instance); + } + + [Flags] + public enum EnumModifiers + { + Anonymous = 1, + Scoped = 2, + Flags = 4 + } + + public unsafe partial class Item : global::CppSharp.Parser.AST.Declaration, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 128)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(12)] + internal global::System.IntPtr _namespace; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(20)] + internal int lineNumberStart; + + [FieldOffset(24)] + internal int lineNumberEnd; + + [FieldOffset(28)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(52)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(64)] + internal byte isIncomplete; + + [FieldOffset(65)] + internal byte isDependent; + + [FieldOffset(66)] + internal byte isImplicit; + + [FieldOffset(67)] + internal byte isInvalid; + + [FieldOffset(68)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(72)] + internal uint definitionOrder; + + [FieldOffset(76)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(88)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(100)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(104)] + internal global::System.IntPtr comment; + + [FieldOffset(108)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C expression; + + [FieldOffset(120)] + internal ulong value; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4ItemC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4ItemC2ERKS3_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4ItemD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + } + + internal static new global::CppSharp.Parser.AST.Enumeration.Item __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Enumeration.Item(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.Enumeration.Item __CreateInstance(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Enumeration.Item(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); + global::CppSharp.Parser.AST.Enumeration.Item.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private Item(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Item(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Item() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public Item(global::CppSharp.Parser.AST.Enumeration.Item _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public string Expression + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*) __Instance)->expression)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*)__Instance)->expression), value); + } + } + + public ulong Value + { + get + { + return ((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*) __Instance)->value; + } + + set + { + ((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*)__Instance)->value = value; + } + } + } + + internal static new global::CppSharp.Parser.AST.Enumeration __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Enumeration(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.Enumeration __CreateInstance(global::CppSharp.Parser.AST.Enumeration.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Enumeration(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.Enumeration.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); + global::CppSharp.Parser.AST.Enumeration.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private Enumeration(global::CppSharp.Parser.AST.Enumeration.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TypeAliasTemplate(void* native, bool skipVTables = false) + protected Enumeration(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -10234,19 +10566,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TypeAliasTemplate() + public Enumeration() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate _0) + public Enumeration(global::CppSharp.Parser.AST.Enumeration _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -10267,211 +10599,106 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - } - public unsafe partial class TemplateParameter : global::CppSharp.Parser.AST.Declaration, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 120)] - public new partial struct __Internal + public global::CppSharp.Parser.AST.Enumeration.Item GetItems(uint i) { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + var __ret = __Internal.GetItems((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Enumeration.Item __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Enumeration.Item) global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Enumeration.Item.__CreateInstance(__ret); + return __result0; + } - [FieldOffset(12)] - internal global::System.IntPtr _namespace; - - [FieldOffset(16)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(20)] - internal int lineNumberStart; - - [FieldOffset(24)] - internal int lineNumberEnd; - - [FieldOffset(28)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - - [FieldOffset(52)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; - - [FieldOffset(64)] - internal byte isIncomplete; - - [FieldOffset(65)] - internal byte isDependent; - - [FieldOffset(66)] - internal byte isImplicit; - - [FieldOffset(67)] - internal byte isInvalid; - - [FieldOffset(68)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(72)] - internal uint definitionOrder; - - [FieldOffset(76)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(88)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; - - [FieldOffset(100)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(104)] - internal global::System.IntPtr comment; - - [FieldOffset(108)] - internal uint depth; - - [FieldOffset(112)] - internal uint index; - - [FieldOffset(116)] - internal byte isParameterPack; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterC2ENS1_15DeclarationKindE")] - internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.DeclarationKind kind); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); - } - - internal static new global::CppSharp.Parser.AST.TemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.TemplateParameter(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.TemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TemplateParameter.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.TemplateParameter(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameter.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); - global::CppSharp.Parser.AST.TemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected TemplateParameter(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public TemplateParameter(global::CppSharp.Parser.AST.DeclarationKind kind) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), kind); - } - - public TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter _0) - : this((void*) null) + public void AddItems(global::CppSharp.Parser.AST.Enumeration.Item s) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddItems((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void ClearItems() { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + __Internal.ClearItems((__Instance + __PointerAdjustment)); } - public static implicit operator global::CppSharp.Parser.AST.TemplateParameter(global::CppSharp.Parser.AST.DeclarationKind kind) + public global::CppSharp.Parser.AST.Enumeration.Item FindItemByName(string Name) { - return new global::CppSharp.Parser.AST.TemplateParameter(kind); + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, Name); + var __arg0 = __basicString0.__Instance; + var __ret = __Internal.FindItemByName((__Instance + __PointerAdjustment), __arg0); + __basicString0.Dispose(false); + global::CppSharp.Parser.AST.Enumeration.Item __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Enumeration.Item) global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Enumeration.Item.__CreateInstance(__ret); + return __result0; } - public uint Depth + public global::CppSharp.Parser.AST.Enumeration.EnumModifiers Modifiers { get { - return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->depth; + return ((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->modifiers; } set { - ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*)__Instance)->depth = value; + ((global::CppSharp.Parser.AST.Enumeration.__Internal*)__Instance)->modifiers = value; } } - public uint Index + public global::CppSharp.Parser.AST.Type Type { get { - return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->index; + global::CppSharp.Parser.AST.Type __result0; + if (((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type)) + __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type]; + else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type); + return __result0; } set { - ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*)__Instance)->index = value; + ((global::CppSharp.Parser.AST.Enumeration.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public bool IsParameterPack + public global::CppSharp.Parser.AST.BuiltinType BuiltinType { get { - return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->isParameterPack != 0; + global::CppSharp.Parser.AST.BuiltinType __result0; + if (((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.BuiltinType.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType)) + __result0 = (global::CppSharp.Parser.AST.BuiltinType) global::CppSharp.Parser.AST.BuiltinType.NativeToManagedMap[((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType]; + else __result0 = global::CppSharp.Parser.AST.BuiltinType.__CreateInstance(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType); + return __result0; } set { - ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*)__Instance)->isParameterPack = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Enumeration.__Internal*)__Instance)->builtinType = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public uint ItemsCount + { + get + { + var __ret = __Internal.GetItemsCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class TemplateTemplateParameter : global::CppSharp.Parser.AST.Template, IDisposable + public unsafe partial class Variable : global::CppSharp.Parser.AST.Declaration, IDisposable { [StructLayout(LayoutKind.Explicit, Size = 128)] public new partial struct __Internal @@ -10537,61 +10764,52 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(108)] - internal global::System.IntPtr TemplatedDecl; - - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Parameters; - - [FieldOffset(124)] - internal byte isParameterPack; - - [FieldOffset(125)] - internal byte isPackExpansion; + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C mangled; - [FieldOffset(126)] - internal byte isExpandedParameterPack; + [FieldOffset(120)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST8VariableC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST8VariableC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST8VariableD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.TemplateTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Variable __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateTemplateParameter(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Variable(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TemplateTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Variable __CreateInstance(global::CppSharp.Parser.AST.Variable.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateTemplateParameter(native, skipVTables); + return new global::CppSharp.Parser.AST.Variable(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Variable.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); - global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); + global::CppSharp.Parser.AST.Variable.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native, bool skipVTables = false) + private Variable(global::CppSharp.Parser.AST.Variable.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TemplateTemplateParameter(void* native, bool skipVTables = false) + protected Variable(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -10600,19 +10818,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TemplateTemplateParameter() + public Variable() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter _0) + public Variable(global::CppSharp.Parser.AST.Variable _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -10634,47 +10852,194 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public bool IsParameterPack + public string Mangled { get { - return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isParameterPack != 0; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Variable.__Internal*) __Instance)->mangled)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*)__Instance)->isParameterPack = (byte) (value ? 1 : 0); + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Variable.__Internal*)__Instance)->mangled), value); } } - public bool IsPackExpansion + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { get { - return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isPackExpansion != 0; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Variable.__Internal*) __Instance)->qualifiedType)); } set { - ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*)__Instance)->isPackExpansion = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Variable.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } + } - public bool IsExpandedParameterPack + public unsafe partial class BaseClassSpecifier : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 16)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(4)] + internal byte isVirtual; + + [FieldOffset(8)] + internal global::System.IntPtr type; + + [FieldOffset(12)] + internal int offset; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18BaseClassSpecifierC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18BaseClassSpecifierC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.BaseClassSpecifier __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.BaseClassSpecifier(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.BaseClassSpecifier __CreateInstance(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.BaseClassSpecifier(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); + *(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) ret = native; + return ret.ToPointer(); + } + + private BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected BaseClassSpecifier(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public BaseClassSpecifier() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) _0.__Instance); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.BaseClassSpecifier __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.AccessSpecifier Access { get { - return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack != 0; + return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->access; } set { - ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*)__Instance)->isExpandedParameterPack = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->access = value; + } + } + + public bool IsVirtual + { + get + { + return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->isVirtual != 0; + } + + set + { + ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->isVirtual = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.Type Type + { + get + { + global::CppSharp.Parser.AST.Type __result0; + if (((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type)) + __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type]; + else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public int Offset + { + get + { + return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->offset; + } + + set + { + ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->offset = value; } } } - public unsafe partial class TypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable + public unsafe partial class Field : global::CppSharp.Parser.AST.Declaration, IDisposable { [StructLayout(LayoutKind.Explicit, Size = 128)] public new partial struct __Internal @@ -10740,58 +11105,58 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(108)] - internal uint depth; - - [FieldOffset(112)] - internal uint index; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [FieldOffset(116)] - internal byte isParameterPack; + internal global::System.IntPtr _class; [FieldOffset(120)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal defaultArgument; + internal byte isBitField; + + [FieldOffset(124)] + internal uint bitWidth; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21TypeTemplateParameterC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST5FieldC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21TypeTemplateParameterC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST5FieldC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21TypeTemplateParameterD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST5FieldD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.TypeTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Field __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypeTemplateParameter(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Field(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TypeTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Field __CreateInstance(global::CppSharp.Parser.AST.Field.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypeTemplateParameter(native, skipVTables); + return new global::CppSharp.Parser.AST.Field(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Field.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); - global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); + global::CppSharp.Parser.AST.Field.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native, bool skipVTables = false) + private Field(global::CppSharp.Parser.AST.Field.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TypeTemplateParameter(void* native, bool skipVTables = false) + protected Field(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -10800,19 +11165,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TypeTemplateParameter() + public Field() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter _0) + public Field(global::CppSharp.Parser.AST.Field _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -10834,23 +11199,67 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.QualifiedType DefaultArgument + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal*) __Instance)->defaultArgument)); + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->qualifiedType)); } set { - ((global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal*)__Instance)->defaultArgument = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Class Class + { + get + { + global::CppSharp.Parser.AST.Class __result0; + if (((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class)) + __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class]; + else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool IsBitField + { + get + { + return ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->isBitField != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->isBitField = (byte) (value ? 1 : 0); + } + } + + public uint BitWidth + { + get + { + return ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->bitWidth; + } + + set + { + ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->bitWidth = value; } } } - public unsafe partial class NonTypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable + public unsafe partial class AccessSpecifierDecl : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 132)] + [StructLayout(LayoutKind.Explicit, Size = 108)] public new partial struct __Internal { [FieldOffset(0)] @@ -10913,68 +11322,47 @@ namespace CppSharp [FieldOffset(104)] internal global::System.IntPtr comment; - [FieldOffset(108)] - internal uint depth; - - [FieldOffset(112)] - internal uint index; - - [FieldOffset(116)] - internal byte isParameterPack; - - [FieldOffset(120)] - internal global::System.IntPtr defaultArgument; - - [FieldOffset(124)] - internal uint position; - - [FieldOffset(128)] - internal byte isPackExpansion; - - [FieldOffset(129)] - internal byte isExpandedParameterPack; - [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.NonTypeTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.AccessSpecifierDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.NonTypeTemplateParameter(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.AccessSpecifierDecl(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.NonTypeTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.AccessSpecifierDecl __CreateInstance(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.NonTypeTemplateParameter(native, skipVTables); + return new global::CppSharp.Parser.AST.AccessSpecifierDecl(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); - global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); + global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native, bool skipVTables = false) + private AccessSpecifierDecl(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected NonTypeTemplateParameter(void* native, bool skipVTables = false) + protected AccessSpecifierDecl(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -10983,19 +11371,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public NonTypeTemplateParameter() + public AccessSpecifierDecl() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter _0) + public AccessSpecifierDecl(global::CppSharp.Parser.AST.AccessSpecifierDecl _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -11016,550 +11404,382 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - - public global::CppSharp.Parser.AST.Expression DefaultArgument - { - get - { - global::CppSharp.Parser.AST.Expression __result0; - if (((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument)) - __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument]; - else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->defaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - - public uint Position - { - get - { - return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->position; - } - - set - { - ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->position = value; - } - } - - public bool IsPackExpansion - { - get - { - return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->isPackExpansion != 0; - } - - set - { - ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->isPackExpansion = (byte) (value ? 1 : 0); - } - } - - public bool IsExpandedParameterPack - { - get - { - return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack != 0; - } - - set - { - ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->isExpandedParameterPack = (byte) (value ? 1 : 0); - } - } } - public unsafe partial class ClassTemplate : global::CppSharp.Parser.AST.Template, IDisposable + public unsafe partial class VTableComponent : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 136)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 12)] + public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::CppSharp.Parser.AST.VTableComponentKind kind; [FieldOffset(4)] - internal int maxFieldAlignment; + internal uint offset; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(12)] - internal global::System.IntPtr _namespace; - - [FieldOffset(16)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(20)] - internal int lineNumberStart; - - [FieldOffset(24)] - internal int lineNumberEnd; - - [FieldOffset(28)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - - [FieldOffset(52)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; - - [FieldOffset(64)] - internal byte isIncomplete; - - [FieldOffset(65)] - internal byte isDependent; - - [FieldOffset(66)] - internal byte isImplicit; - - [FieldOffset(67)] - internal byte isInvalid; - - [FieldOffset(68)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(72)] - internal uint definitionOrder; - - [FieldOffset(76)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(88)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; - - [FieldOffset(100)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(104)] - internal global::System.IntPtr comment; - - [FieldOffset(108)] - internal global::System.IntPtr TemplatedDecl; - - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Parameters; - - [FieldOffset(124)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_ClassTemplateSpecialization___N_std_N___1_S_allocator__S0_ Specializations; + internal global::System.IntPtr declaration; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplateC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST15VTableComponentC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplateC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST15VTableComponentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplateD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate18getSpecializationsEj")] - internal static extern global::System.IntPtr GetSpecializations(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate18addSpecializationsERPNS1_27ClassTemplateSpecializationE")] - internal static extern void AddSpecializations(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate20clearSpecializationsEv")] - internal static extern void ClearSpecializations(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate18FindSpecializationERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE")] - internal static extern global::System.IntPtr FindSpecialization(global::System.IntPtr __instance, global::System.IntPtr usr); + public global::System.IntPtr __Instance { get; protected set; } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate25FindPartialSpecializationERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE")] - internal static extern global::System.IntPtr FindPartialSpecialization(global::System.IntPtr __instance, global::System.IntPtr usr); + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate23getSpecializationsCountEv")] - internal static extern uint GetSpecializationsCount(global::System.IntPtr __instance); - } + protected bool __ownsNativeInstance; - internal static new global::CppSharp.Parser.AST.ClassTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VTableComponent __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ClassTemplate(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.VTableComponent(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.ClassTemplate __CreateInstance(global::CppSharp.Parser.AST.ClassTemplate.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VTableComponent __CreateInstance(global::CppSharp.Parser.AST.VTableComponent.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ClassTemplate(native, skipVTables); + return new global::CppSharp.Parser.AST.VTableComponent(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplate.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VTableComponent.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal)); - global::CppSharp.Parser.AST.ClassTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); + *(global::CppSharp.Parser.AST.VTableComponent.__Internal*) ret = native; return ret.ToPointer(); } - private ClassTemplate(global::CppSharp.Parser.AST.ClassTemplate.__Internal native, bool skipVTables = false) + private VTableComponent(global::CppSharp.Parser.AST.VTableComponent.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected ClassTemplate(void* native, bool skipVTables = false) - : base((void*) null) + protected VTableComponent(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public ClassTemplate() - : this((void*) null) + public VTableComponent() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public ClassTemplate(global::CppSharp.Parser.AST.ClassTemplate _0) - : this((void*) null) + public VTableComponent(global::CppSharp.Parser.AST.VTableComponent _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + *((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.VTableComponent.__Internal*) _0.__Instance); } - public override void Dispose(bool disposing) + public void Dispose() { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.VTableComponent __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.ClassTemplateSpecialization GetSpecializations(uint i) - { - var __ret = __Internal.GetSpecializations((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.ClassTemplateSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.ClassTemplateSpecialization) global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.ClassTemplateSpecialization.__CreateInstance(__ret); - return __result0; - } - - public void AddSpecializations(global::CppSharp.Parser.AST.ClassTemplateSpecialization s) + public global::CppSharp.Parser.AST.VTableComponentKind Kind { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddSpecializations((__Instance + __PointerAdjustment), __arg0); - } + get + { + return ((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->kind; + } - public void ClearSpecializations() - { - __Internal.ClearSpecializations((__Instance + __PointerAdjustment)); + set + { + ((global::CppSharp.Parser.AST.VTableComponent.__Internal*)__Instance)->kind = value; + } } - public global::CppSharp.Parser.AST.ClassTemplateSpecialization FindSpecialization(string usr) + public uint Offset { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, usr); - var __arg0 = __basicString0.__Instance; - var __ret = __Internal.FindSpecialization((__Instance + __PointerAdjustment), __arg0); - __basicString0.Dispose(false); - global::CppSharp.Parser.AST.ClassTemplateSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.ClassTemplateSpecialization) global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.ClassTemplateSpecialization.__CreateInstance(__ret); - return __result0; - } + get + { + return ((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->offset; + } - public global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization FindPartialSpecialization(string usr) - { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, usr); - var __arg0 = __basicString0.__Instance; - var __ret = __Internal.FindPartialSpecialization((__Instance + __PointerAdjustment), __arg0); - __basicString0.Dispose(false); - global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization) global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__CreateInstance(__ret); - return __result0; + set + { + ((global::CppSharp.Parser.AST.VTableComponent.__Internal*)__Instance)->offset = value; + } } - public uint SpecializationsCount + public global::CppSharp.Parser.AST.Declaration Declaration { get { - var __ret = __Internal.GetSpecializationsCount((__Instance + __PointerAdjustment)); - return __ret; + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.VTableComponent.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class ClassTemplateSpecialization : global::CppSharp.Parser.AST.Class, IDisposable + public unsafe partial class VTableLayout : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 316)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 12)] + public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_VTableComponent___N_std_N___1_S_allocator__S0_ Components; - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayoutC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); - [FieldOffset(12)] - internal global::System.IntPtr _namespace; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayoutC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - [FieldOffset(16)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayoutD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); - [FieldOffset(20)] - internal int lineNumberStart; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout13getComponentsEj")] + internal static extern void GetComponents(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); - [FieldOffset(24)] - internal int lineNumberEnd; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout13addComponentsERNS1_15VTableComponentE")] + internal static extern void AddComponents(global::System.IntPtr __instance, global::System.IntPtr s); - [FieldOffset(28)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout15clearComponentsEv")] + internal static extern void ClearComponents(global::System.IntPtr __instance); - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout18getComponentsCountEv")] + internal static extern uint GetComponentsCount(global::System.IntPtr __instance); + } - [FieldOffset(52)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + public global::System.IntPtr __Instance { get; protected set; } - [FieldOffset(64)] - internal byte isIncomplete; + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; - [FieldOffset(65)] - internal byte isDependent; + protected bool __ownsNativeInstance; - [FieldOffset(66)] - internal byte isImplicit; + internal static global::CppSharp.Parser.AST.VTableLayout __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.VTableLayout(native.ToPointer(), skipVTables); + } - [FieldOffset(67)] - internal byte isInvalid; + internal static global::CppSharp.Parser.AST.VTableLayout __CreateInstance(global::CppSharp.Parser.AST.VTableLayout.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.VTableLayout(native, skipVTables); + } - [FieldOffset(68)] - internal global::System.IntPtr completeDeclaration; + private static void* __CopyValue(global::CppSharp.Parser.AST.VTableLayout.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); + global::CppSharp.Parser.AST.VTableLayout.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(72)] - internal uint definitionOrder; + private VTableLayout(global::CppSharp.Parser.AST.VTableLayout.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(76)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + protected VTableLayout(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(88)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + public VTableLayout() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [FieldOffset(100)] - internal global::System.IntPtr originalPtr; + public VTableLayout(global::CppSharp.Parser.AST.VTableLayout _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(104)] - internal global::System.IntPtr comment; + public void Dispose() + { + Dispose(disposing: true); + } - [FieldOffset(108)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.VTableLayout __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } - [FieldOffset(120)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; + public global::CppSharp.Parser.AST.VTableComponent GetComponents(uint i) + { + var __ret = new global::CppSharp.Parser.AST.VTableComponent.__Internal(); + __Internal.GetComponents(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.VTableComponent.__CreateInstance(__ret); + } - [FieldOffset(132)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; + public void AddComponents(global::CppSharp.Parser.AST.VTableComponent s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddComponents((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(144)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; + public void ClearComponents() + { + __Internal.ClearComponents((__Instance + __PointerAdjustment)); + } - [FieldOffset(156)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; - - [FieldOffset(168)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; - - [FieldOffset(180)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; - - [FieldOffset(192)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; - - [FieldOffset(204)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; - - [FieldOffset(216)] - internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; - - [FieldOffset(228)] - internal byte isAnonymous; - - [FieldOffset(232)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BaseClassSpecifier___N_std_N___1_S_allocator__S0_ Bases; - - [FieldOffset(244)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Field___N_std_N___1_S_allocator__S0_ Fields; - - [FieldOffset(256)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_N___1_S_allocator__S0_ Methods; - - [FieldOffset(268)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_AccessSpecifierDecl___N_std_N___1_S_allocator__S0_ Specifiers; - - [FieldOffset(280)] - internal byte isPOD; - - [FieldOffset(281)] - internal byte isAbstract; - - [FieldOffset(282)] - internal byte isUnion; - - [FieldOffset(283)] - internal byte isDynamic; - - [FieldOffset(284)] - internal byte isPolymorphic; - - [FieldOffset(285)] - internal byte hasNonTrivialDefaultConstructor; - - [FieldOffset(286)] - internal byte hasNonTrivialCopyConstructor; - - [FieldOffset(287)] - internal byte hasNonTrivialDestructor; - - [FieldOffset(288)] - internal byte isExternCContext; - - [FieldOffset(289)] - internal byte isInjected; + public uint ComponentsCount + { + get + { + var __ret = __Internal.GetComponentsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } - [FieldOffset(292)] - internal global::System.IntPtr layout; + public unsafe partial class VFTableInfo : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 28)] + public partial struct __Internal + { + [FieldOffset(0)] + internal ulong VBTableIndex; - [FieldOffset(296)] - internal global::System.IntPtr templatedDecl; + [FieldOffset(8)] + internal uint VFPtrOffset; - [FieldOffset(300)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ Arguments; + [FieldOffset(12)] + internal uint VFPtrFullOffset; - [FieldOffset(312)] - internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.VTableLayout.__Internal layout; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecializationC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11VFTableInfoC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecializationC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST11VFTableInfoC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecializationD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11VFTableInfoD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecialization12getArgumentsEj")] - internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecialization12addArgumentsERNS1_16TemplateArgumentE")] - internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); + public global::System.IntPtr __Instance { get; protected set; } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecialization14clearArgumentsEv")] - internal static extern void ClearArguments(global::System.IntPtr __instance); + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecialization17getArgumentsCountEv")] - internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); - } + protected bool __ownsNativeInstance; - internal static new global::CppSharp.Parser.AST.ClassTemplateSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VFTableInfo __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ClassTemplateSpecialization(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.VFTableInfo(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.ClassTemplateSpecialization __CreateInstance(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VFTableInfo __CreateInstance(global::CppSharp.Parser.AST.VFTableInfo.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ClassTemplateSpecialization(native, skipVTables); + return new global::CppSharp.Parser.AST.VFTableInfo(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VFTableInfo.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); - global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); + global::CppSharp.Parser.AST.VFTableInfo.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private ClassTemplateSpecialization(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal native, bool skipVTables = false) + private VFTableInfo(global::CppSharp.Parser.AST.VFTableInfo.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected ClassTemplateSpecialization(void* native, bool skipVTables = false) - : base((void*) null) + protected VFTableInfo(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public ClassTemplateSpecialization() - : this((void*) null) + public VFTableInfo() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public ClassTemplateSpecialization(global::CppSharp.Parser.AST.ClassTemplateSpecialization _0) - : this((void*) null) + public VFTableInfo(global::CppSharp.Parser.AST.VFTableInfo _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -11568,11 +11788,16 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.VFTableInfo __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -11581,294 +11806,319 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) - { - var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); - __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); - } - - public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + public ulong VBTableIndex { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); - } + get + { + return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VBTableIndex; + } - public void ClearArguments() - { - __Internal.ClearArguments((__Instance + __PointerAdjustment)); + set + { + ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->VBTableIndex = value; + } } - public global::CppSharp.Parser.AST.ClassTemplate TemplatedDecl + public uint VFPtrOffset { get { - global::CppSharp.Parser.AST.ClassTemplate __result0; - if (((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.ClassTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl)) - __result0 = (global::CppSharp.Parser.AST.ClassTemplate) global::CppSharp.Parser.AST.ClassTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl]; - else __result0 = global::CppSharp.Parser.AST.ClassTemplate.__CreateInstance(((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl); - return __result0; + return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VFPtrOffset; } set { - ((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*)__Instance)->templatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->VFPtrOffset = value; } } - public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind + public uint VFPtrFullOffset { get { - return ((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->specializationKind; + return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VFPtrFullOffset; } set { - ((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*)__Instance)->specializationKind = value; + ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->VFPtrFullOffset = value; } } - public uint ArgumentsCount + public global::CppSharp.Parser.AST.VTableLayout Layout { get { - var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); - return __ret; + return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->layout)); + } + + set + { + ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->layout = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.VTableLayout.__Internal() : *(global::CppSharp.Parser.AST.VTableLayout.__Internal*) value.__Instance; } } } - public unsafe partial class ClassTemplatePartialSpecialization : global::CppSharp.Parser.AST.ClassTemplateSpecialization, IDisposable + public unsafe partial class LayoutField : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 316)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 28)] + public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal uint offset; [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(12)] - internal global::System.IntPtr _namespace; + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; [FieldOffset(16)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(20)] - internal int lineNumberStart; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [FieldOffset(24)] - internal int lineNumberEnd; + internal global::System.IntPtr fieldPtr; - [FieldOffset(28)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutFieldC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutFieldC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr other); - [FieldOffset(52)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutFieldD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + } - [FieldOffset(64)] - internal byte isIncomplete; + public global::System.IntPtr __Instance { get; protected set; } - [FieldOffset(65)] - internal byte isDependent; - - [FieldOffset(66)] - internal byte isImplicit; - - [FieldOffset(67)] - internal byte isInvalid; - - [FieldOffset(68)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(72)] - internal uint definitionOrder; - - [FieldOffset(76)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(88)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; - - [FieldOffset(100)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(104)] - internal global::System.IntPtr comment; - - [FieldOffset(108)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; - - [FieldOffset(120)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; - - [FieldOffset(132)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; - - [FieldOffset(144)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; - - [FieldOffset(156)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; - - [FieldOffset(168)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; - - [FieldOffset(180)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; - - [FieldOffset(192)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; - - [FieldOffset(204)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; - [FieldOffset(216)] - internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; + protected bool __ownsNativeInstance; - [FieldOffset(228)] - internal byte isAnonymous; + internal static global::CppSharp.Parser.AST.LayoutField __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.LayoutField(native.ToPointer(), skipVTables); + } - [FieldOffset(232)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BaseClassSpecifier___N_std_N___1_S_allocator__S0_ Bases; + internal static global::CppSharp.Parser.AST.LayoutField __CreateInstance(global::CppSharp.Parser.AST.LayoutField.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.LayoutField(native, skipVTables); + } - [FieldOffset(244)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Field___N_std_N___1_S_allocator__S0_ Fields; + private static void* __CopyValue(global::CppSharp.Parser.AST.LayoutField.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); + global::CppSharp.Parser.AST.LayoutField.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(256)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_N___1_S_allocator__S0_ Methods; + private LayoutField(global::CppSharp.Parser.AST.LayoutField.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(268)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_AccessSpecifierDecl___N_std_N___1_S_allocator__S0_ Specifiers; + protected LayoutField(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(280)] - internal byte isPOD; + public LayoutField() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [FieldOffset(281)] - internal byte isAbstract; + public LayoutField(global::CppSharp.Parser.AST.LayoutField other) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(other, null)) + throw new global::System.ArgumentNullException("other", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = other.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(282)] - internal byte isUnion; + public void Dispose() + { + Dispose(disposing: true); + } - [FieldOffset(283)] - internal byte isDynamic; + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.LayoutField __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } - [FieldOffset(284)] - internal byte isPolymorphic; + public uint Offset + { + get + { + return ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->offset; + } - [FieldOffset(285)] - internal byte hasNonTrivialDefaultConstructor; + set + { + ((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->offset = value; + } + } - [FieldOffset(286)] - internal byte hasNonTrivialCopyConstructor; + public string Name + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->name)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - [FieldOffset(287)] - internal byte hasNonTrivialDestructor; + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->name), value); + } + } - [FieldOffset(288)] - internal byte isExternCContext; + public global::CppSharp.Parser.AST.QualifiedType QualifiedType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->qualifiedType)); + } - [FieldOffset(289)] - internal byte isInjected; + set + { + ((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } - [FieldOffset(292)] - internal global::System.IntPtr layout; + public global::System.IntPtr FieldPtr + { + get + { + return ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->fieldPtr; + } - [FieldOffset(296)] - internal global::System.IntPtr templatedDecl; + set + { + ((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->fieldPtr = (global::System.IntPtr) value; + } + } + } - [FieldOffset(300)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ Arguments; + public unsafe partial class LayoutBase : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 8)] + public partial struct __Internal + { + [FieldOffset(0)] + internal uint offset; - [FieldOffset(312)] - internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; + [FieldOffset(4)] + internal global::System.IntPtr _class; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST34ClassTemplatePartialSpecializationC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST10LayoutBaseC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST34ClassTemplatePartialSpecializationC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST10LayoutBaseC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr other); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST34ClassTemplatePartialSpecializationD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST10LayoutBaseD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.LayoutBase __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.LayoutBase(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization __CreateInstance(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.LayoutBase __CreateInstance(global::CppSharp.Parser.AST.LayoutBase.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization(native, skipVTables); + return new global::CppSharp.Parser.AST.LayoutBase(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.LayoutBase.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); - global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); + global::CppSharp.Parser.AST.LayoutBase.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private ClassTemplatePartialSpecialization(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native, bool skipVTables = false) + private LayoutBase(global::CppSharp.Parser.AST.LayoutBase.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected ClassTemplatePartialSpecialization(void* native, bool skipVTables = false) - : base((void*) null) + protected LayoutBase(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public ClassTemplatePartialSpecialization() - : this((void*) null) + public LayoutBase() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public ClassTemplatePartialSpecialization(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization _0) - : this((void*) null) + public LayoutBase(global::CppSharp.Parser.AST.LayoutBase other) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; + if (ReferenceEquals(other, null)) + throw new global::System.ArgumentNullException("other", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = other.__Instance; __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.LayoutBase __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -11876,169 +12126,200 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } + + public uint Offset + { + get + { + return ((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->offset; + } + + set + { + ((global::CppSharp.Parser.AST.LayoutBase.__Internal*)__Instance)->offset = value; + } + } + + public global::CppSharp.Parser.AST.Class Class + { + get + { + global::CppSharp.Parser.AST.Class __result0; + if (((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class)) + __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class]; + else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.LayoutBase.__Internal*)__Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } } - public unsafe partial class FunctionTemplate : global::CppSharp.Parser.AST.Template, IDisposable + public unsafe partial class ClassLayout : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 136)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 72)] + public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::CppSharp.Parser.AST.CppAbi ABI; [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(12)] - internal global::System.IntPtr _namespace; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_VFTableInfo___N_std_N___1_S_allocator__S0_ VFTables; [FieldOffset(16)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(20)] - internal int lineNumberStart; - - [FieldOffset(24)] - internal int lineNumberEnd; + internal global::CppSharp.Parser.AST.VTableLayout.__Internal layout; [FieldOffset(28)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - - [FieldOffset(52)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + internal byte hasOwnVFPtr; - [FieldOffset(64)] - internal byte isIncomplete; + [FieldOffset(32)] + internal int VBPtrOffset; - [FieldOffset(65)] - internal byte isDependent; + [FieldOffset(36)] + internal int alignment; - [FieldOffset(66)] - internal byte isImplicit; + [FieldOffset(40)] + internal int size; - [FieldOffset(67)] - internal byte isInvalid; + [FieldOffset(44)] + internal int dataSize; - [FieldOffset(68)] - internal global::System.IntPtr completeDeclaration; + [FieldOffset(48)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_LayoutField___N_std_N___1_S_allocator__S0_ Fields; - [FieldOffset(72)] - internal uint definitionOrder; + [FieldOffset(60)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_LayoutBase___N_std_N___1_S_allocator__S0_ Bases; - [FieldOffset(76)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayoutC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); - [FieldOffset(88)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayoutC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - [FieldOffset(100)] - internal global::System.IntPtr originalPtr; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayoutD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); - [FieldOffset(104)] - internal global::System.IntPtr comment; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout11getVFTablesEj")] + internal static extern void GetVFTables(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); - [FieldOffset(108)] - internal global::System.IntPtr TemplatedDecl; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout11addVFTablesERNS1_11VFTableInfoE")] + internal static extern void AddVFTables(global::System.IntPtr __instance, global::System.IntPtr s); - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Parameters; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout13clearVFTablesEv")] + internal static extern void ClearVFTables(global::System.IntPtr __instance); - [FieldOffset(124)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_FunctionTemplateSpecialization___N_std_N___1_S_allocator__S0_ Specializations; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout9getFieldsEj")] + internal static extern void GetFields(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplateC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout9addFieldsERNS1_11LayoutFieldE")] + internal static extern void AddFields(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplateC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout11clearFieldsEv")] + internal static extern void ClearFields(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplateD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout8getBasesEj")] + internal static extern void GetBases(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate18getSpecializationsEj")] - internal static extern global::System.IntPtr GetSpecializations(global::System.IntPtr __instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout8addBasesERNS1_10LayoutBaseE")] + internal static extern void AddBases(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate18addSpecializationsERPNS1_30FunctionTemplateSpecializationE")] - internal static extern void AddSpecializations(global::System.IntPtr __instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout10clearBasesEv")] + internal static extern void ClearBases(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate20clearSpecializationsEv")] - internal static extern void ClearSpecializations(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout16getVFTablesCountEv")] + internal static extern uint GetVFTablesCount(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate18FindSpecializationERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE")] - internal static extern global::System.IntPtr FindSpecialization(global::System.IntPtr __instance, global::System.IntPtr usr); + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout14getFieldsCountEv")] + internal static extern uint GetFieldsCount(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate23getSpecializationsCountEv")] - internal static extern uint GetSpecializationsCount(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout13getBasesCountEv")] + internal static extern uint GetBasesCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.FunctionTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.ClassLayout __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FunctionTemplate(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.ClassLayout(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.FunctionTemplate __CreateInstance(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.ClassLayout __CreateInstance(global::CppSharp.Parser.AST.ClassLayout.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FunctionTemplate(native, skipVTables); + return new global::CppSharp.Parser.AST.ClassLayout(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ClassLayout.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); - global::CppSharp.Parser.AST.FunctionTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); + global::CppSharp.Parser.AST.ClassLayout.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private FunctionTemplate(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native, bool skipVTables = false) + private ClassLayout(global::CppSharp.Parser.AST.ClassLayout.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected FunctionTemplate(void* native, bool skipVTables = false) - : base((void*) null) + protected ClassLayout(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public FunctionTemplate() - : this((void*) null) + public ClassLayout() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public FunctionTemplate(global::CppSharp.Parser.AST.FunctionTemplate _0) - : this((void*) null) + public ClassLayout(global::CppSharp.Parser.AST.ClassLayout _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -12047,11 +12328,16 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.ClassLayout __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -12060,266 +12346,188 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.FunctionTemplateSpecialization GetSpecializations(uint i) + public global::CppSharp.Parser.AST.VFTableInfo GetVFTables(uint i) { - var __ret = __Internal.GetSpecializations((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(__ret); - return __result0; + var __ret = new global::CppSharp.Parser.AST.VFTableInfo.__Internal(); + __Internal.GetVFTables(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.VFTableInfo.__CreateInstance(__ret); } - public void AddSpecializations(global::CppSharp.Parser.AST.FunctionTemplateSpecialization s) + public void AddVFTables(global::CppSharp.Parser.AST.VFTableInfo s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddSpecializations((__Instance + __PointerAdjustment), __arg0); + __Internal.AddVFTables((__Instance + __PointerAdjustment), __arg0); } - public void ClearSpecializations() + public void ClearVFTables() { - __Internal.ClearSpecializations((__Instance + __PointerAdjustment)); + __Internal.ClearVFTables((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.FunctionTemplateSpecialization FindSpecialization(string usr) + public global::CppSharp.Parser.AST.LayoutField GetFields(uint i) { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, usr); - var __arg0 = __basicString0.__Instance; - var __ret = __Internal.FindSpecialization((__Instance + __PointerAdjustment), __arg0); - __basicString0.Dispose(false); - global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(__ret); - return __result0; + var __ret = new global::CppSharp.Parser.AST.LayoutField.__Internal(); + __Internal.GetFields(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.LayoutField.__CreateInstance(__ret); } - public uint SpecializationsCount + public void AddFields(global::CppSharp.Parser.AST.LayoutField s) { - get - { - var __ret = __Internal.GetSpecializationsCount((__Instance + __PointerAdjustment)); - return __ret; - } + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddFields((__Instance + __PointerAdjustment), __arg0); } - } - public unsafe partial class FunctionTemplateSpecialization : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 24)] - public partial struct __Internal + public void ClearFields() { - [FieldOffset(0)] - internal global::System.IntPtr _template; - - [FieldOffset(4)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ Arguments; - - [FieldOffset(16)] - internal global::System.IntPtr specializedFunction; - - [FieldOffset(20)] - internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization12getArgumentsEj")] - internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization12addArgumentsERNS1_16TemplateArgumentE")] - internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization14clearArgumentsEv")] - internal static extern void ClearArguments(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization17getArgumentsCountEv")] - internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); + __Internal.ClearFields((__Instance + __PointerAdjustment)); } - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.FunctionTemplateSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::CppSharp.Parser.AST.LayoutBase GetBases(uint i) { - return new global::CppSharp.Parser.AST.FunctionTemplateSpecialization(native.ToPointer(), skipVTables); + var __ret = new global::CppSharp.Parser.AST.LayoutBase.__Internal(); + __Internal.GetBases(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.LayoutBase.__CreateInstance(__ret); } - internal static global::CppSharp.Parser.AST.FunctionTemplateSpecialization __CreateInstance(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native, bool skipVTables = false) + public void AddBases(global::CppSharp.Parser.AST.LayoutBase s) { - return new global::CppSharp.Parser.AST.FunctionTemplateSpecialization(native, skipVTables); + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddBases((__Instance + __PointerAdjustment), __arg0); } - private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native) + public void ClearBases() { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); - global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); + __Internal.ClearBases((__Instance + __PointerAdjustment)); } - private FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + public global::CppSharp.Parser.AST.CppAbi ABI { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + get + { + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->ABI; + } - protected FunctionTemplateSpecialization(void* native, bool skipVTables = false) - { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); + set + { + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->ABI = value; + } } - public FunctionTemplateSpecialization() + public global::CppSharp.Parser.AST.VTableLayout Layout { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + get + { + return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->layout)); + } - public FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization _0) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + set + { + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->layout = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.VTableLayout.__Internal() : *(global::CppSharp.Parser.AST.VTableLayout.__Internal*) value.__Instance; + } } - public void Dispose() + public bool HasOwnVFPtr { - Dispose(disposing: true); - } + get + { + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->hasOwnVFPtr != 0; + } - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.FunctionTemplateSpecialization __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + set + { + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->hasOwnVFPtr = (byte) (value ? 1 : 0); + } } - public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) + public int VBPtrOffset { - var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); - __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); - } + get + { + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->VBPtrOffset; + } - public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); + set + { + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->VBPtrOffset = value; + } } - public void ClearArguments() + public int Alignment { - __Internal.ClearArguments((__Instance + __PointerAdjustment)); + get + { + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->alignment; + } + + set + { + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->alignment = value; + } } - public global::CppSharp.Parser.AST.FunctionTemplate Template + public int Size { get { - global::CppSharp.Parser.AST.FunctionTemplate __result0; - if (((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.FunctionTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template)) - __result0 = (global::CppSharp.Parser.AST.FunctionTemplate) global::CppSharp.Parser.AST.FunctionTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template]; - else __result0 = global::CppSharp.Parser.AST.FunctionTemplate.__CreateInstance(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template); - return __result0; + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->size; } set { - ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*)__Instance)->_template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->size = value; } } - public global::CppSharp.Parser.AST.Function SpecializedFunction + public int DataSize { get { - global::CppSharp.Parser.AST.Function __result0; - if (((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction)) - __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction]; - else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction); - return __result0; + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->dataSize; } set { - ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*)__Instance)->specializedFunction = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->dataSize = value; } } - public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind + public uint VFTablesCount { get { - return ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializationKind; + var __ret = __Internal.GetVFTablesCount((__Instance + __PointerAdjustment)); + return __ret; } + } - set + public uint FieldsCount + { + get { - ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*)__Instance)->specializationKind = value; + var __ret = __Internal.GetFieldsCount((__Instance + __PointerAdjustment)); + return __ret; } } - public uint ArgumentsCount + public uint BasesCount { get { - var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetBasesCount((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class VarTemplate : global::CppSharp.Parser.AST.Template, IDisposable + public unsafe partial class Class : global::CppSharp.Parser.AST.DeclarationContext, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 136)] + [StructLayout(LayoutKind.Explicit, Size = 296)] public new partial struct __Internal { [FieldOffset(0)] @@ -12383,85 +12591,204 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(108)] - internal global::System.IntPtr TemplatedDecl; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Parameters; + [FieldOffset(120)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; - [FieldOffset(124)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_VarTemplateSpecialization___N_std_N___1_S_allocator__S0_ Specializations; + [FieldOffset(132)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplateC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + [FieldOffset(144)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplateC2ERKS2_")] + [FieldOffset(156)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; + + [FieldOffset(168)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; + + [FieldOffset(180)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; + + [FieldOffset(192)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; + + [FieldOffset(204)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; + + [FieldOffset(216)] + internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; + + [FieldOffset(228)] + internal byte isAnonymous; + + [FieldOffset(232)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BaseClassSpecifier___N_std_N___1_S_allocator__S0_ Bases; + + [FieldOffset(244)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Field___N_std_N___1_S_allocator__S0_ Fields; + + [FieldOffset(256)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_N___1_S_allocator__S0_ Methods; + + [FieldOffset(268)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_AccessSpecifierDecl___N_std_N___1_S_allocator__S0_ Specifiers; + + [FieldOffset(280)] + internal byte isPOD; + + [FieldOffset(281)] + internal byte isAbstract; + + [FieldOffset(282)] + internal byte isUnion; + + [FieldOffset(283)] + internal byte isDynamic; + + [FieldOffset(284)] + internal byte isPolymorphic; + + [FieldOffset(285)] + internal byte hasNonTrivialDefaultConstructor; + + [FieldOffset(286)] + internal byte hasNonTrivialCopyConstructor; + + [FieldOffset(287)] + internal byte hasNonTrivialDestructor; + + [FieldOffset(288)] + internal byte isExternCContext; + + [FieldOffset(289)] + internal byte isInjected; + + [FieldOffset(292)] + internal global::System.IntPtr layout; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5ClassC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5ClassC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplateD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST5ClassD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate18getSpecializationsEj")] - internal static extern global::System.IntPtr GetSpecializations(global::System.IntPtr __instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class8getBasesEj")] + internal static extern global::System.IntPtr GetBases(global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate18addSpecializationsERPNS1_25VarTemplateSpecializationE")] - internal static extern void AddSpecializations(global::System.IntPtr __instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class8addBasesERPNS1_18BaseClassSpecifierE")] + internal static extern void AddBases(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate20clearSpecializationsEv")] - internal static extern void ClearSpecializations(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class10clearBasesEv")] + internal static extern void ClearBases(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate18FindSpecializationERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE")] - internal static extern global::System.IntPtr FindSpecialization(global::System.IntPtr __instance, global::System.IntPtr usr); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class9getFieldsEj")] + internal static extern global::System.IntPtr GetFields(global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate25FindPartialSpecializationERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE")] - internal static extern global::System.IntPtr FindPartialSpecialization(global::System.IntPtr __instance, global::System.IntPtr usr); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class9addFieldsERPNS1_5FieldE")] + internal static extern void AddFields(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate23getSpecializationsCountEv")] - internal static extern uint GetSpecializationsCount(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class11clearFieldsEv")] + internal static extern void ClearFields(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class10getMethodsEj")] + internal static extern global::System.IntPtr GetMethods(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class10addMethodsERPNS1_6MethodE")] + internal static extern void AddMethods(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class12clearMethodsEv")] + internal static extern void ClearMethods(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class13getSpecifiersEj")] + internal static extern global::System.IntPtr GetSpecifiers(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class13addSpecifiersERPNS1_19AccessSpecifierDeclE")] + internal static extern void AddSpecifiers(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class15clearSpecifiersEv")] + internal static extern void ClearSpecifiers(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class13getBasesCountEv")] + internal static extern uint GetBasesCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class14getFieldsCountEv")] + internal static extern uint GetFieldsCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class15getMethodsCountEv")] + internal static extern uint GetMethodsCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class18getSpecifiersCountEv")] + internal static extern uint GetSpecifiersCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.VarTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Class __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VarTemplate(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Class(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.VarTemplate __CreateInstance(global::CppSharp.Parser.AST.VarTemplate.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Class __CreateInstance(global::CppSharp.Parser.AST.Class.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VarTemplate(native, skipVTables); + return new global::CppSharp.Parser.AST.Class(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplate.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Class.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); - global::CppSharp.Parser.AST.VarTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); + global::CppSharp.Parser.AST.Class.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private VarTemplate(global::CppSharp.Parser.AST.VarTemplate.__Internal native, bool skipVTables = false) + private Class(global::CppSharp.Parser.AST.Class.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected VarTemplate(void* native, bool skipVTables = false) + protected Class(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -12470,19 +12797,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public VarTemplate() + public Class() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public VarTemplate(global::CppSharp.Parser.AST.VarTemplate _0) + public Class(global::CppSharp.Parser.AST.Class _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -12504,80 +12831,297 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.VarTemplateSpecialization GetSpecializations(uint i) + public global::CppSharp.Parser.AST.BaseClassSpecifier GetBases(uint i) { - var __ret = __Internal.GetSpecializations((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.VarTemplateSpecialization __result0; + var __ret = __Internal.GetBases((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.BaseClassSpecifier __result0; if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.VarTemplateSpecialization) global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.VarTemplateSpecialization.__CreateInstance(__ret); + else if (global::CppSharp.Parser.AST.BaseClassSpecifier.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.BaseClassSpecifier) global::CppSharp.Parser.AST.BaseClassSpecifier.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.BaseClassSpecifier.__CreateInstance(__ret); return __result0; } - public void AddSpecializations(global::CppSharp.Parser.AST.VarTemplateSpecialization s) + public void AddBases(global::CppSharp.Parser.AST.BaseClassSpecifier s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddSpecializations((__Instance + __PointerAdjustment), __arg0); + __Internal.AddBases((__Instance + __PointerAdjustment), __arg0); } - public void ClearSpecializations() + public void ClearBases() { - __Internal.ClearSpecializations((__Instance + __PointerAdjustment)); + __Internal.ClearBases((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.VarTemplateSpecialization FindSpecialization(string usr) + public global::CppSharp.Parser.AST.Field GetFields(uint i) { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, usr); - var __arg0 = __basicString0.__Instance; - var __ret = __Internal.FindSpecialization((__Instance + __PointerAdjustment), __arg0); - __basicString0.Dispose(false); - global::CppSharp.Parser.AST.VarTemplateSpecialization __result0; + var __ret = __Internal.GetFields((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Field __result0; if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.VarTemplateSpecialization) global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.VarTemplateSpecialization.__CreateInstance(__ret); + else if (global::CppSharp.Parser.AST.Field.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Field) global::CppSharp.Parser.AST.Field.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Field.__CreateInstance(__ret); return __result0; } - public global::CppSharp.Parser.AST.VarTemplatePartialSpecialization FindPartialSpecialization(string usr) + public void AddFields(global::CppSharp.Parser.AST.Field s) { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, usr); - var __arg0 = __basicString0.__Instance; - var __ret = __Internal.FindPartialSpecialization((__Instance + __PointerAdjustment), __arg0); - __basicString0.Dispose(false); - global::CppSharp.Parser.AST.VarTemplatePartialSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.VarTemplatePartialSpecialization) global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__CreateInstance(__ret); - return __result0; + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddFields((__Instance + __PointerAdjustment), __arg0); } - public uint SpecializationsCount + public void ClearFields() { - get - { - var __ret = __Internal.GetSpecializationsCount((__Instance + __PointerAdjustment)); - return __ret; - } + __Internal.ClearFields((__Instance + __PointerAdjustment)); } - } - public unsafe partial class VarTemplateSpecialization : global::CppSharp.Parser.AST.Variable, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 148)] - public new partial struct __Internal + public global::CppSharp.Parser.AST.Method GetMethods(uint i) { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + var __ret = __Internal.GetMethods((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Method __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Method.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Method) global::CppSharp.Parser.AST.Method.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Method.__CreateInstance(__ret); + return __result0; + } - [FieldOffset(4)] - internal int maxFieldAlignment; + public void AddMethods(global::CppSharp.Parser.AST.Method s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddMethods((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearMethods() + { + __Internal.ClearMethods((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.AccessSpecifierDecl GetSpecifiers(uint i) + { + var __ret = __Internal.GetSpecifiers((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.AccessSpecifierDecl __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.AccessSpecifierDecl.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.AccessSpecifierDecl) global::CppSharp.Parser.AST.AccessSpecifierDecl.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.AccessSpecifierDecl.__CreateInstance(__ret); + return __result0; + } + + public void AddSpecifiers(global::CppSharp.Parser.AST.AccessSpecifierDecl s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddSpecifiers((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearSpecifiers() + { + __Internal.ClearSpecifiers((__Instance + __PointerAdjustment)); + } + + public bool IsPOD + { + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isPOD != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isPOD = (byte) (value ? 1 : 0); + } + } + + public bool IsAbstract + { + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isAbstract != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isAbstract = (byte) (value ? 1 : 0); + } + } + + public bool IsUnion + { + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isUnion != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isUnion = (byte) (value ? 1 : 0); + } + } + + public bool IsDynamic + { + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isDynamic != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isDynamic = (byte) (value ? 1 : 0); + } + } + + public bool IsPolymorphic + { + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isPolymorphic != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isPolymorphic = (byte) (value ? 1 : 0); + } + } + + public bool HasNonTrivialDefaultConstructor + { + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialDefaultConstructor != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->hasNonTrivialDefaultConstructor = (byte) (value ? 1 : 0); + } + } + + public bool HasNonTrivialCopyConstructor + { + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialCopyConstructor != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->hasNonTrivialCopyConstructor = (byte) (value ? 1 : 0); + } + } + + public bool HasNonTrivialDestructor + { + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialDestructor != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->hasNonTrivialDestructor = (byte) (value ? 1 : 0); + } + } + + public bool IsExternCContext + { + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isExternCContext != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isExternCContext = (byte) (value ? 1 : 0); + } + } + + public bool IsInjected + { + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isInjected != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isInjected = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.ClassLayout Layout + { + get + { + global::CppSharp.Parser.AST.ClassLayout __result0; + if (((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ClassLayout.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout)) + __result0 = (global::CppSharp.Parser.AST.ClassLayout) global::CppSharp.Parser.AST.ClassLayout.NativeToManagedMap[((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout]; + else __result0 = global::CppSharp.Parser.AST.ClassLayout.__CreateInstance(((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->layout = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public uint BasesCount + { + get + { + var __ret = __Internal.GetBasesCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public uint FieldsCount + { + get + { + var __ret = __Internal.GetFieldsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public uint MethodsCount + { + get + { + var __ret = __Internal.GetMethodsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public uint SpecifiersCount + { + get + { + var __ret = __Internal.GetSpecifiersCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class Template : global::CppSharp.Parser.AST.Declaration, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 124)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; [FieldOffset(8)] internal global::CppSharp.Parser.AST.AccessSpecifier access; @@ -12634,81 +13178,77 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(108)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C mangled; - - [FieldOffset(120)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - - [FieldOffset(128)] - internal global::System.IntPtr templatedDecl; + internal global::System.IntPtr TemplatedDecl; - [FieldOffset(132)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ Arguments; + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Parameters; - [FieldOffset(144)] - internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateC2ENS1_15DeclarationKindE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.DeclarationKind kind); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecializationC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecializationC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecializationD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecialization12getArgumentsEj")] - internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST8Template13getParametersEj")] + internal static extern global::System.IntPtr GetParameters(global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecialization12addArgumentsERNS1_16TemplateArgumentE")] - internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST8Template13addParametersERPNS1_11DeclarationE")] + internal static extern void AddParameters(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecialization14clearArgumentsEv")] - internal static extern void ClearArguments(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST8Template15clearParametersEv")] + internal static extern void ClearParameters(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecialization17getArgumentsCountEv")] - internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST8Template18getParametersCountEv")] + internal static extern uint GetParametersCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.VarTemplateSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Template __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VarTemplateSpecialization(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Template(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.VarTemplateSpecialization __CreateInstance(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Template __CreateInstance(global::CppSharp.Parser.AST.Template.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VarTemplateSpecialization(native, skipVTables); + return new global::CppSharp.Parser.AST.Template(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Template.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); - global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + global::CppSharp.Parser.AST.Template.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private VarTemplateSpecialization(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal native, bool skipVTables = false) + private Template(global::CppSharp.Parser.AST.Template.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected VarTemplateSpecialization(void* native, bool skipVTables = false) + protected Template(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -12717,19 +13257,28 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public VarTemplateSpecialization() + public Template(global::CppSharp.Parser.AST.DeclarationKind kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), kind); + } + + public Template() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public VarTemplateSpecialization(global::CppSharp.Parser.AST.VarTemplateSpecialization _0) + public Template(global::CppSharp.Parser.AST.Template _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -12751,70 +13300,66 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) + public global::CppSharp.Parser.AST.Declaration GetParameters(uint i) { - var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); - __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); + var __ret = __Internal.GetParameters((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Declaration __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(__ret); + return __result0; } - public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + public void AddParameters(global::CppSharp.Parser.AST.Declaration s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); + __Internal.AddParameters((__Instance + __PointerAdjustment), __arg0); } - public void ClearArguments() + public void ClearParameters() { - __Internal.ClearArguments((__Instance + __PointerAdjustment)); + __Internal.ClearParameters((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.VarTemplate TemplatedDecl + public static implicit operator global::CppSharp.Parser.AST.Template(global::CppSharp.Parser.AST.DeclarationKind kind) { - get - { - global::CppSharp.Parser.AST.VarTemplate __result0; - if (((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.VarTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl)) - __result0 = (global::CppSharp.Parser.AST.VarTemplate) global::CppSharp.Parser.AST.VarTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl]; - else __result0 = global::CppSharp.Parser.AST.VarTemplate.__CreateInstance(((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*)__Instance)->templatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + return new global::CppSharp.Parser.AST.Template(kind); } - public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind + public global::CppSharp.Parser.AST.Declaration TemplatedDecl { get { - return ((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->specializationKind; + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl); + return __result0; } set { - ((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*)__Instance)->specializationKind = value; + ((global::CppSharp.Parser.AST.Template.__Internal*)__Instance)->TemplatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public uint ArgumentsCount + public uint ParametersCount { get { - var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetParametersCount((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class VarTemplatePartialSpecialization : global::CppSharp.Parser.AST.VarTemplateSpecialization, IDisposable + public unsafe partial class TypeAliasTemplate : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 148)] + [StructLayout(LayoutKind.Explicit, Size = 124)] public new partial struct __Internal { [FieldOffset(0)] @@ -12878,61 +13423,52 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(108)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C mangled; - - [FieldOffset(120)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - - [FieldOffset(128)] - internal global::System.IntPtr templatedDecl; - - [FieldOffset(132)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ Arguments; + internal global::System.IntPtr TemplatedDecl; - [FieldOffset(144)] - internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Parameters; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST32VarTemplatePartialSpecializationC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST17TypeAliasTemplateC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST32VarTemplatePartialSpecializationC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST17TypeAliasTemplateC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST32VarTemplatePartialSpecializationD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST17TypeAliasTemplateD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.VarTemplatePartialSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TypeAliasTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VarTemplatePartialSpecialization(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TypeAliasTemplate(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.VarTemplatePartialSpecialization __CreateInstance(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TypeAliasTemplate __CreateInstance(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VarTemplatePartialSpecialization(native, skipVTables); + return new global::CppSharp.Parser.AST.TypeAliasTemplate(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); - global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); + global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private VarTemplatePartialSpecialization(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal native, bool skipVTables = false) + private TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected VarTemplatePartialSpecialization(void* native, bool skipVTables = false) + protected TypeAliasTemplate(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -12941,19 +13477,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public VarTemplatePartialSpecialization() + public TypeAliasTemplate() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public VarTemplatePartialSpecialization(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization _0) + public TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -12976,9 +13512,9 @@ namespace CppSharp } } - public unsafe partial class Namespace : global::CppSharp.Parser.AST.DeclarationContext, IDisposable + public unsafe partial class TemplateParameter : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 232)] + [StructLayout(LayoutKind.Explicit, Size = 120)] public new partial struct __Internal { [FieldOffset(0)] @@ -13042,82 +13578,55 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(108)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; - - [FieldOffset(120)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; - - [FieldOffset(132)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; - - [FieldOffset(144)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; - - [FieldOffset(156)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; - - [FieldOffset(168)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; - - [FieldOffset(180)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; - - [FieldOffset(192)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; - - [FieldOffset(204)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; - - [FieldOffset(216)] - internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; + internal uint depth; - [FieldOffset(228)] - internal byte isAnonymous; + [FieldOffset(112)] + internal uint index; - [FieldOffset(229)] - internal byte isInline; + [FieldOffset(116)] + internal byte isParameterPack; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterC2ENS1_15DeclarationKindE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.DeclarationKind kind); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.Namespace __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Namespace(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TemplateParameter(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Namespace __CreateInstance(global::CppSharp.Parser.AST.Namespace.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TemplateParameter.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Namespace(native, skipVTables); + return new global::CppSharp.Parser.AST.TemplateParameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Namespace.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameter.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); - global::CppSharp.Parser.AST.Namespace.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); + global::CppSharp.Parser.AST.TemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Namespace(global::CppSharp.Parser.AST.Namespace.__Internal native, bool skipVTables = false) + private TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Namespace(void* native, bool skipVTables = false) + protected TemplateParameter(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -13126,19 +13635,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Namespace() + public TemplateParameter(global::CppSharp.Parser.AST.DeclarationKind kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + __Internal.ctor((__Instance + __PointerAdjustment), kind); } - public Namespace(global::CppSharp.Parser.AST.Namespace _0) + public TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -13160,223 +13669,172 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public bool IsInline + public static implicit operator global::CppSharp.Parser.AST.TemplateParameter(global::CppSharp.Parser.AST.DeclarationKind kind) + { + return new global::CppSharp.Parser.AST.TemplateParameter(kind); + } + + public uint Depth { get { - return ((global::CppSharp.Parser.AST.Namespace.__Internal*) __Instance)->isInline != 0; + return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->depth; } set { - ((global::CppSharp.Parser.AST.Namespace.__Internal*)__Instance)->isInline = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*)__Instance)->depth = value; } } - } - public unsafe partial class PreprocessedEntity : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 12)] - public partial struct __Internal + public uint Index { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.MacroLocation macroLocation; - - [FieldOffset(4)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18PreprocessedEntityC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18PreprocessedEntityC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - } - - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.PreprocessedEntity __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.PreprocessedEntity(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.PreprocessedEntity __CreateInstance(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.PreprocessedEntity(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); - *(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) ret = native; - return ret.ToPointer(); - } - - private PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected PreprocessedEntity(void* native, bool skipVTables = false) - { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public PreprocessedEntity() - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } - - public PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity _0) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) _0.__Instance); - } - - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.PreprocessedEntity __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public global::CppSharp.Parser.AST.MacroLocation MacroLocation - { - get - { - return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->macroLocation; - } - - set - { - ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*)__Instance)->macroLocation = value; - } - } - - public global::System.IntPtr OriginalPtr - { - get - { - return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->originalPtr; - } + get + { + return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->index; + } set { - ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*)__Instance)->originalPtr = (global::System.IntPtr) value; + ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*)__Instance)->index = value; } } - public global::CppSharp.Parser.AST.DeclarationKind Kind + public bool IsParameterPack { get { - return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->kind; + return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->isParameterPack != 0; } set { - ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*)__Instance)->kind = value; + ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*)__Instance)->isParameterPack = (byte) (value ? 1 : 0); } } } - public unsafe partial class MacroDefinition : global::CppSharp.Parser.AST.PreprocessedEntity, IDisposable + public unsafe partial class TemplateTemplateParameter : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 44)] + [StructLayout(LayoutKind.Explicit, Size = 128)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.MacroLocation macroLocation; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal global::System.IntPtr originalPtr; + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(12)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + internal global::System.IntPtr _namespace; - [FieldOffset(24)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C expression; + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; - [FieldOffset(36)] + [FieldOffset(20)] internal int lineNumberStart; - [FieldOffset(40)] + [FieldOffset(24)] internal int lineNumberEnd; + [FieldOffset(28)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(52)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(64)] + internal byte isIncomplete; + + [FieldOffset(65)] + internal byte isDependent; + + [FieldOffset(66)] + internal byte isImplicit; + + [FieldOffset(67)] + internal byte isInvalid; + + [FieldOffset(68)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(72)] + internal uint definitionOrder; + + [FieldOffset(76)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(88)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(100)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(104)] + internal global::System.IntPtr comment; + + [FieldOffset(108)] + internal global::System.IntPtr TemplatedDecl; + + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Parameters; + + [FieldOffset(124)] + internal byte isParameterPack; + + [FieldOffset(125)] + internal byte isPackExpansion; + + [FieldOffset(126)] + internal byte isExpandedParameterPack; + [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15MacroDefinitionC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15MacroDefinitionC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15MacroDefinitionD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.MacroDefinition __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TemplateTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.MacroDefinition(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TemplateTemplateParameter(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.MacroDefinition __CreateInstance(global::CppSharp.Parser.AST.MacroDefinition.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TemplateTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.MacroDefinition(native, skipVTables); + return new global::CppSharp.Parser.AST.TemplateTemplateParameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.MacroDefinition.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); - global::CppSharp.Parser.AST.MacroDefinition.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); + global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private MacroDefinition(global::CppSharp.Parser.AST.MacroDefinition.__Internal native, bool skipVTables = false) + private TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected MacroDefinition(void* native, bool skipVTables = false) + protected TemplateTemplateParameter(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -13385,19 +13843,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public MacroDefinition() + public TemplateTemplateParameter() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public MacroDefinition(global::CppSharp.Parser.AST.MacroDefinition _0) + public TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -13410,7 +13868,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.PreprocessedEntity __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -13419,129 +13877,164 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public string Name + public bool IsParameterPack { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->name)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isParameterPack != 0; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->name), value); + ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*)__Instance)->isParameterPack = (byte) (value ? 1 : 0); } } - public string Expression + public bool IsPackExpansion { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->expression)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isPackExpansion != 0; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->expression), value); + ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*)__Instance)->isPackExpansion = (byte) (value ? 1 : 0); } } - public int LineNumberStart + public bool IsExpandedParameterPack { get { - return ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->lineNumberStart; + return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack != 0; } set { - ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->lineNumberStart = value; + ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*)__Instance)->isExpandedParameterPack = (byte) (value ? 1 : 0); } } + } - public int LineNumberEnd - { - get - { - return ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->lineNumberEnd; - } - - set - { - ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->lineNumberEnd = value; - } - } - } - - public unsafe partial class MacroExpansion : global::CppSharp.Parser.AST.PreprocessedEntity, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 40)] - public new partial struct __Internal + public unsafe partial class TypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 128)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.MacroLocation macroLocation; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal global::System.IntPtr originalPtr; + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(12)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + internal global::System.IntPtr _namespace; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(20)] + internal int lineNumberStart; [FieldOffset(24)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C text; + internal int lineNumberEnd; - [FieldOffset(36)] - internal global::System.IntPtr definition; + [FieldOffset(28)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(52)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(64)] + internal byte isIncomplete; + + [FieldOffset(65)] + internal byte isDependent; + + [FieldOffset(66)] + internal byte isImplicit; + + [FieldOffset(67)] + internal byte isInvalid; + + [FieldOffset(68)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(72)] + internal uint definitionOrder; + + [FieldOffset(76)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(88)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(100)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(104)] + internal global::System.IntPtr comment; + + [FieldOffset(108)] + internal uint depth; + + [FieldOffset(112)] + internal uint index; + + [FieldOffset(116)] + internal byte isParameterPack; + + [FieldOffset(120)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal defaultArgument; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14MacroExpansionC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST21TypeTemplateParameterC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14MacroExpansionC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST21TypeTemplateParameterC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14MacroExpansionD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST21TypeTemplateParameterD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.MacroExpansion __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TypeTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.MacroExpansion(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TypeTemplateParameter(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.MacroExpansion __CreateInstance(global::CppSharp.Parser.AST.MacroExpansion.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TypeTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.MacroExpansion(native, skipVTables); + return new global::CppSharp.Parser.AST.TypeTemplateParameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.MacroExpansion.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); - global::CppSharp.Parser.AST.MacroExpansion.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); + global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private MacroExpansion(global::CppSharp.Parser.AST.MacroExpansion.__Internal native, bool skipVTables = false) + private TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected MacroExpansion(void* native, bool skipVTables = false) + protected TypeTemplateParameter(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -13550,19 +14043,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public MacroExpansion() + public TypeTemplateParameter() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public MacroExpansion(global::CppSharp.Parser.AST.MacroExpansion _0) + public TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -13575,7 +14068,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.PreprocessedEntity __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -13584,60 +14077,23 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public string Name - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->name)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*)__Instance)->name), value); - } - } - - public string Text - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->text)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*)__Instance)->text), value); - } - } - - public global::CppSharp.Parser.AST.MacroDefinition Definition + public global::CppSharp.Parser.AST.QualifiedType DefaultArgument { get { - global::CppSharp.Parser.AST.MacroDefinition __result0; - if (((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition)) - __result0 = (global::CppSharp.Parser.AST.MacroDefinition) global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap[((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition]; - else __result0 = global::CppSharp.Parser.AST.MacroDefinition.__CreateInstance(((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition); - return __result0; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal*) __Instance)->defaultArgument)); } set { - ((global::CppSharp.Parser.AST.MacroExpansion.__Internal*)__Instance)->definition = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal*)__Instance)->defaultArgument = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } } - public unsafe partial class TranslationUnit : global::CppSharp.Parser.AST.Namespace, IDisposable + public unsafe partial class NonTypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 260)] + [StructLayout(LayoutKind.Explicit, Size = 136)] public new partial struct __Internal { [FieldOffset(0)] @@ -13701,111 +14157,70 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(108)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; - - [FieldOffset(120)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; - - [FieldOffset(132)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; - - [FieldOffset(144)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; - - [FieldOffset(156)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; - - [FieldOffset(168)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; - - [FieldOffset(180)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; - - [FieldOffset(192)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; + internal uint depth; - [FieldOffset(204)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; + [FieldOffset(112)] + internal uint index; - [FieldOffset(216)] - internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; + [FieldOffset(116)] + internal byte isParameterPack; - [FieldOffset(228)] - internal byte isAnonymous; + [FieldOffset(120)] + internal global::System.IntPtr defaultArgument; - [FieldOffset(229)] - internal byte isInline; + [FieldOffset(124)] + internal global::System.IntPtr defaultArgumentNew; - [FieldOffset(232)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C fileName; + [FieldOffset(128)] + internal uint position; - [FieldOffset(244)] - internal byte isSystemHeader; + [FieldOffset(132)] + internal byte isPackExpansion; - [FieldOffset(248)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_MacroDefinition___N_std_N___1_S_allocator__S0_ Macros; + [FieldOffset(133)] + internal byte isExpandedParameterPack; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnitC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnitC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnitD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnit9getMacrosEj")] - internal static extern global::System.IntPtr GetMacros(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnit9addMacrosERPNS1_15MacroDefinitionE")] - internal static extern void AddMacros(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnit11clearMacrosEv")] - internal static extern void ClearMacros(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnit14getMacrosCountEv")] - internal static extern uint GetMacrosCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.TranslationUnit __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.NonTypeTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TranslationUnit(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.NonTypeTemplateParameter(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TranslationUnit __CreateInstance(global::CppSharp.Parser.AST.TranslationUnit.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.NonTypeTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TranslationUnit(native, skipVTables); + return new global::CppSharp.Parser.AST.NonTypeTemplateParameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TranslationUnit.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); - global::CppSharp.Parser.AST.TranslationUnit.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); + global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TranslationUnit(global::CppSharp.Parser.AST.TranslationUnit.__Internal native, bool skipVTables = false) + private NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TranslationUnit(void* native, bool skipVTables = false) + protected NonTypeTemplateParameter(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -13814,19 +14229,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TranslationUnit() + public NonTypeTemplateParameter() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TranslationUnit(global::CppSharp.Parser.AST.TranslationUnit _0) + public NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -13848,192 +14263,248 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.MacroDefinition GetMacros(uint i) + public global::CppSharp.Parser.AST.ExpressionObsolete DefaultArgument { - var __ret = __Internal.GetMacros((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.MacroDefinition __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.MacroDefinition) global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.MacroDefinition.__CreateInstance(__ret); - return __result0; - } + get + { + global::CppSharp.Parser.AST.ExpressionObsolete __result0; + if (((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ExpressionObsolete.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument)) + __result0 = (global::CppSharp.Parser.AST.ExpressionObsolete) global::CppSharp.Parser.AST.ExpressionObsolete.NativeToManagedMap[((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument]; + else __result0 = global::CppSharp.Parser.AST.ExpressionObsolete.__CreateInstance(((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument); + return __result0; + } - public void AddMacros(global::CppSharp.Parser.AST.MacroDefinition s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddMacros((__Instance + __PointerAdjustment), __arg0); + set + { + ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->defaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } } - public void ClearMacros() + public global::CppSharp.Parser.AST.Expr DefaultArgumentNew { - __Internal.ClearMacros((__Instance + __PointerAdjustment)); + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgumentNew == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgumentNew)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgumentNew]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgumentNew); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->defaultArgumentNew = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } } - public string FileName + public uint Position { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TranslationUnit.__Internal*) __Instance)->fileName)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->position; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TranslationUnit.__Internal*)__Instance)->fileName), value); + ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->position = value; } } - public bool IsSystemHeader + public bool IsPackExpansion { get { - return ((global::CppSharp.Parser.AST.TranslationUnit.__Internal*) __Instance)->isSystemHeader != 0; + return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->isPackExpansion != 0; } set { - ((global::CppSharp.Parser.AST.TranslationUnit.__Internal*)__Instance)->isSystemHeader = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->isPackExpansion = (byte) (value ? 1 : 0); } } - public uint MacrosCount + public bool IsExpandedParameterPack { get { - var __ret = __Internal.GetMacrosCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack != 0; + } + + set + { + ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->isExpandedParameterPack = (byte) (value ? 1 : 0); } } } - public unsafe partial class NativeLibrary : IDisposable + public unsafe partial class ClassTemplate : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 40)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 136)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C fileName; + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(12)] - internal global::CppSharp.Parser.AST.ArchType archType; + internal global::System.IntPtr _namespace; [FieldOffset(16)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S_allocator__S0_ Symbols; + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(20)] + internal int lineNumberStart; + + [FieldOffset(24)] + internal int lineNumberEnd; [FieldOffset(28)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S_allocator__S0_ Dependencies; + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(52)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(64)] + internal byte isIncomplete; + + [FieldOffset(65)] + internal byte isDependent; + + [FieldOffset(66)] + internal byte isImplicit; + + [FieldOffset(67)] + internal byte isInvalid; + + [FieldOffset(68)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(72)] + internal uint definitionOrder; + + [FieldOffset(76)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(88)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(100)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(104)] + internal global::System.IntPtr comment; + + [FieldOffset(108)] + internal global::System.IntPtr TemplatedDecl; + + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Parameters; + + [FieldOffset(124)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_ClassTemplateSpecialization___N_std_N___1_S_allocator__S0_ Specializations; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibraryC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplateC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibraryC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplateC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibraryD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplateD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary10getSymbolsEj")] - internal static extern global::System.IntPtr GetSymbols(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary10addSymbolsEPKc")] - internal static extern void AddSymbols(global::System.IntPtr __instance, [MarshalAs(UnmanagedType.LPStr)] string s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary12clearSymbolsEv")] - internal static extern void ClearSymbols(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate18getSpecializationsEj")] + internal static extern global::System.IntPtr GetSpecializations(global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary15getDependenciesEj")] - internal static extern global::System.IntPtr GetDependencies(global::System.IntPtr __instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate18addSpecializationsERPNS1_27ClassTemplateSpecializationE")] + internal static extern void AddSpecializations(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary15addDependenciesEPKc")] - internal static extern void AddDependencies(global::System.IntPtr __instance, [MarshalAs(UnmanagedType.LPStr)] string s); + EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate20clearSpecializationsEv")] + internal static extern void ClearSpecializations(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary17clearDependenciesEv")] - internal static extern void ClearDependencies(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate18FindSpecializationERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE")] + internal static extern global::System.IntPtr FindSpecialization(global::System.IntPtr __instance, global::System.IntPtr usr); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary15getSymbolsCountEv")] - internal static extern uint GetSymbolsCount(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate25FindPartialSpecializationERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE")] + internal static extern global::System.IntPtr FindPartialSpecialization(global::System.IntPtr __instance, global::System.IntPtr usr); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary20getDependenciesCountEv")] - internal static extern uint GetDependenciesCount(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate23getSpecializationsCountEv")] + internal static extern uint GetSpecializationsCount(global::System.IntPtr __instance); } - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.NativeLibrary __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.ClassTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.NativeLibrary(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.ClassTemplate(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.NativeLibrary __CreateInstance(global::CppSharp.Parser.AST.NativeLibrary.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.ClassTemplate __CreateInstance(global::CppSharp.Parser.AST.ClassTemplate.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.NativeLibrary(native, skipVTables); + return new global::CppSharp.Parser.AST.ClassTemplate(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.NativeLibrary.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplate.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); - global::CppSharp.Parser.AST.NativeLibrary.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal)); + global::CppSharp.Parser.AST.ClassTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private NativeLibrary(global::CppSharp.Parser.AST.NativeLibrary.__Internal native, bool skipVTables = false) + private ClassTemplate(global::CppSharp.Parser.AST.ClassTemplate.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected NativeLibrary(void* native, bool skipVTables = false) + protected ClassTemplate(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public NativeLibrary() + public ClassTemplate() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public NativeLibrary(global::CppSharp.Parser.AST.NativeLibrary _0) + public ClassTemplate(global::CppSharp.Parser.AST.ClassTemplate _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -14042,16 +14513,11 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.NativeLibrary __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -14060,418 +14526,283 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public string GetSymbols(uint i) - { - var __ret = __Internal.GetSymbols((__Instance + __PointerAdjustment), i); - return Marshal.PtrToStringAnsi(__ret); - } - - public void AddSymbols(string s) + public global::CppSharp.Parser.AST.ClassTemplateSpecialization GetSpecializations(uint i) { - __Internal.AddSymbols((__Instance + __PointerAdjustment), s); + var __ret = __Internal.GetSpecializations((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.ClassTemplateSpecialization __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.ClassTemplateSpecialization) global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.ClassTemplateSpecialization.__CreateInstance(__ret); + return __result0; } - public void ClearSymbols() + public void AddSpecializations(global::CppSharp.Parser.AST.ClassTemplateSpecialization s) { - __Internal.ClearSymbols((__Instance + __PointerAdjustment)); + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddSpecializations((__Instance + __PointerAdjustment), __arg0); } - public string GetDependencies(uint i) + public void ClearSpecializations() { - var __ret = __Internal.GetDependencies((__Instance + __PointerAdjustment), i); - return Marshal.PtrToStringAnsi(__ret); + __Internal.ClearSpecializations((__Instance + __PointerAdjustment)); } - public void AddDependencies(string s) + public global::CppSharp.Parser.AST.ClassTemplateSpecialization FindSpecialization(string usr) { - __Internal.AddDependencies((__Instance + __PointerAdjustment), s); - } - - public void ClearDependencies() - { - __Internal.ClearDependencies((__Instance + __PointerAdjustment)); - } - - public string FileName - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.NativeLibrary.__Internal*) __Instance)->fileName)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.NativeLibrary.__Internal*)__Instance)->fileName), value); - } - } - - public global::CppSharp.Parser.AST.ArchType ArchType - { - get - { - return ((global::CppSharp.Parser.AST.NativeLibrary.__Internal*) __Instance)->archType; - } - - set - { - ((global::CppSharp.Parser.AST.NativeLibrary.__Internal*)__Instance)->archType = value; - } + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, usr); + var __arg0 = __basicString0.__Instance; + var __ret = __Internal.FindSpecialization((__Instance + __PointerAdjustment), __arg0); + __basicString0.Dispose(false); + global::CppSharp.Parser.AST.ClassTemplateSpecialization __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.ClassTemplateSpecialization) global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.ClassTemplateSpecialization.__CreateInstance(__ret); + return __result0; } - public uint SymbolsCount + public global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization FindPartialSpecialization(string usr) { - get - { - var __ret = __Internal.GetSymbolsCount((__Instance + __PointerAdjustment)); - return __ret; - } + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, usr); + var __arg0 = __basicString0.__Instance; + var __ret = __Internal.FindPartialSpecialization((__Instance + __PointerAdjustment), __arg0); + __basicString0.Dispose(false); + global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization) global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__CreateInstance(__ret); + return __result0; } - public uint DependenciesCount + public uint SpecializationsCount { get { - var __ret = __Internal.GetDependenciesCount((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetSpecializationsCount((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class ASTContext : IDisposable + public unsafe partial class ClassTemplateSpecialization : global::CppSharp.Parser.AST.Class, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 12)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 316)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TranslationUnit___N_std_N___1_S_allocator__S0_ TranslationUnits; + internal global::CppSharp.Parser.AST.DeclarationKind kind; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContextC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + [FieldOffset(4)] + internal int maxFieldAlignment; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContextC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContextD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); + [FieldOffset(12)] + internal global::System.IntPtr _namespace; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext18FindOrCreateModuleENSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE")] - internal static extern global::System.IntPtr FindOrCreateModule(global::System.IntPtr __instance, global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C File); + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext19getTranslationUnitsEj")] - internal static extern global::System.IntPtr GetTranslationUnits(global::System.IntPtr __instance, uint i); + [FieldOffset(20)] + internal int lineNumberStart; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext19addTranslationUnitsERPNS1_15TranslationUnitE")] - internal static extern void AddTranslationUnits(global::System.IntPtr __instance, global::System.IntPtr s); + [FieldOffset(24)] + internal int lineNumberEnd; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext21clearTranslationUnitsEv")] - internal static extern void ClearTranslationUnits(global::System.IntPtr __instance); + [FieldOffset(28)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext24getTranslationUnitsCountEv")] - internal static extern uint GetTranslationUnitsCount(global::System.IntPtr __instance); - } + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - public global::System.IntPtr __Instance { get; protected set; } + [FieldOffset(52)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; + [FieldOffset(64)] + internal byte isIncomplete; - protected bool __ownsNativeInstance; + [FieldOffset(65)] + internal byte isDependent; - internal static global::CppSharp.Parser.AST.ASTContext __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.ASTContext(native.ToPointer(), skipVTables); - } + [FieldOffset(66)] + internal byte isImplicit; - internal static global::CppSharp.Parser.AST.ASTContext __CreateInstance(global::CppSharp.Parser.AST.ASTContext.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.ASTContext(native, skipVTables); - } + [FieldOffset(67)] + internal byte isInvalid; - private static void* __CopyValue(global::CppSharp.Parser.AST.ASTContext.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); - global::CppSharp.Parser.AST.ASTContext.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [FieldOffset(68)] + internal global::System.IntPtr completeDeclaration; - private ASTContext(global::CppSharp.Parser.AST.ASTContext.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [FieldOffset(72)] + internal uint definitionOrder; - protected ASTContext(void* native, bool skipVTables = false) - { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [FieldOffset(76)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; - public ASTContext() - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + [FieldOffset(88)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; - public ASTContext(global::CppSharp.Parser.AST.ASTContext _0) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(100)] + internal global::System.IntPtr originalPtr; - public void Dispose() - { - Dispose(disposing: true); - } + [FieldOffset(104)] + internal global::System.IntPtr comment; - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.ASTContext __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + [FieldOffset(108)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; - public global::CppSharp.Parser.AST.TranslationUnit FindOrCreateModule(string File) - { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, File); - var __arg0 = *(global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C*) __basicString0.__Instance; - var __ret = __Internal.FindOrCreateModule((__Instance + __PointerAdjustment), __arg0); - __basicString0.Dispose(false); - global::CppSharp.Parser.AST.TranslationUnit __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.TranslationUnit) global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.TranslationUnit.__CreateInstance(__ret); - return __result0; - } + [FieldOffset(120)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; - public global::CppSharp.Parser.AST.TranslationUnit GetTranslationUnits(uint i) - { - var __ret = __Internal.GetTranslationUnits((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.TranslationUnit __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.TranslationUnit) global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.TranslationUnit.__CreateInstance(__ret); - return __result0; - } + [FieldOffset(132)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; - public void AddTranslationUnits(global::CppSharp.Parser.AST.TranslationUnit s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddTranslationUnits((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(144)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; - public void ClearTranslationUnits() - { - __Internal.ClearTranslationUnits((__Instance + __PointerAdjustment)); - } + [FieldOffset(156)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; - public uint TranslationUnitsCount - { - get - { - var __ret = __Internal.GetTranslationUnitsCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - } + [FieldOffset(168)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; - public unsafe partial class Comment : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 4)] - public partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + [FieldOffset(180)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST7CommentC2ENS1_11CommentKindE")] - internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.CommentKind kind); + [FieldOffset(192)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST7CommentC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - } + [FieldOffset(204)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; - public global::System.IntPtr __Instance { get; protected set; } + [FieldOffset(216)] + internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; + [FieldOffset(228)] + internal byte isAnonymous; - protected bool __ownsNativeInstance; + [FieldOffset(232)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BaseClassSpecifier___N_std_N___1_S_allocator__S0_ Bases; - internal static global::CppSharp.Parser.AST.Comment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Comment(native.ToPointer(), skipVTables); - } + [FieldOffset(244)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Field___N_std_N___1_S_allocator__S0_ Fields; - internal static global::CppSharp.Parser.AST.Comment __CreateInstance(global::CppSharp.Parser.AST.Comment.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Comment(native, skipVTables); - } + [FieldOffset(256)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_N___1_S_allocator__S0_ Methods; - private static void* __CopyValue(global::CppSharp.Parser.AST.Comment.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); - *(global::CppSharp.Parser.AST.Comment.__Internal*) ret = native; - return ret.ToPointer(); - } + [FieldOffset(268)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_AccessSpecifierDecl___N_std_N___1_S_allocator__S0_ Specifiers; - private Comment(global::CppSharp.Parser.AST.Comment.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [FieldOffset(280)] + internal byte isPOD; - protected Comment(void* native, bool skipVTables = false) - { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [FieldOffset(281)] + internal byte isAbstract; - public Comment(global::CppSharp.Parser.AST.CommentKind kind) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), kind); - } + [FieldOffset(282)] + internal byte isUnion; - public Comment(global::CppSharp.Parser.AST.Comment _0) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.Comment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.Comment.__Internal*) _0.__Instance); - } + [FieldOffset(283)] + internal byte isDynamic; - public void Dispose() - { - Dispose(disposing: true); - } + [FieldOffset(284)] + internal byte isPolymorphic; - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Comment __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + [FieldOffset(285)] + internal byte hasNonTrivialDefaultConstructor; - public static implicit operator global::CppSharp.Parser.AST.Comment(global::CppSharp.Parser.AST.CommentKind kind) - { - return new global::CppSharp.Parser.AST.Comment(kind); - } + [FieldOffset(286)] + internal byte hasNonTrivialCopyConstructor; - public global::CppSharp.Parser.AST.CommentKind Kind - { - get - { - return ((global::CppSharp.Parser.AST.Comment.__Internal*) __Instance)->kind; - } + [FieldOffset(287)] + internal byte hasNonTrivialDestructor; - set - { - ((global::CppSharp.Parser.AST.Comment.__Internal*)__Instance)->kind = value; - } - } - } + [FieldOffset(288)] + internal byte isExternCContext; - public unsafe partial class BlockContentComment : global::CppSharp.Parser.AST.Comment, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 4)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + [FieldOffset(289)] + internal byte isInjected; + + [FieldOffset(292)] + internal global::System.IntPtr layout; + + [FieldOffset(296)] + internal global::System.IntPtr templatedDecl; + + [FieldOffset(300)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ Arguments; + + [FieldOffset(312)] + internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecializationC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecializationC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecializationD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecialization12getArgumentsEj")] + internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19BlockContentCommentC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecialization12addArgumentsERNS1_16TemplateArgumentE")] + internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19BlockContentCommentC2ENS1_11CommentKindE")] - internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.CommentKind Kind); + EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecialization14clearArgumentsEv")] + internal static extern void ClearArguments(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19BlockContentCommentC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecialization17getArgumentsCountEv")] + internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.BlockContentComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.ClassTemplateSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BlockContentComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.ClassTemplateSpecialization(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.BlockContentComment __CreateInstance(global::CppSharp.Parser.AST.BlockContentComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.ClassTemplateSpecialization __CreateInstance(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BlockContentComment(native, skipVTables); + return new global::CppSharp.Parser.AST.ClassTemplateSpecialization(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.BlockContentComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); - *(global::CppSharp.Parser.AST.BlockContentComment.__Internal*) ret = native; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); + global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private BlockContentComment(global::CppSharp.Parser.AST.BlockContentComment.__Internal native, bool skipVTables = false) + private ClassTemplateSpecialization(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected BlockContentComment(void* native, bool skipVTables = false) + protected ClassTemplateSpecialization(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -14480,111 +14811,294 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public BlockContentComment() + public ClassTemplateSpecialization() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public BlockContentComment(global::CppSharp.Parser.AST.CommentKind Kind) + public ClassTemplateSpecialization(global::CppSharp.Parser.AST.ClassTemplateSpecialization _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), Kind); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public BlockContentComment(global::CppSharp.Parser.AST.BlockContentComment _0) - : this((void*) null) + public override void Dispose(bool disposing) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.BlockContentComment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BlockContentComment.__Internal*) _0.__Instance); + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } - public static implicit operator global::CppSharp.Parser.AST.BlockContentComment(global::CppSharp.Parser.AST.CommentKind Kind) + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) { - return new global::CppSharp.Parser.AST.BlockContentComment(Kind); + var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); + __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); + } + + public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearArguments() + { + __Internal.ClearArguments((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.ClassTemplate TemplatedDecl + { + get + { + global::CppSharp.Parser.AST.ClassTemplate __result0; + if (((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ClassTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl)) + __result0 = (global::CppSharp.Parser.AST.ClassTemplate) global::CppSharp.Parser.AST.ClassTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl]; + else __result0 = global::CppSharp.Parser.AST.ClassTemplate.__CreateInstance(((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*)__Instance)->templatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind + { + get + { + return ((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->specializationKind; + } + + set + { + ((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*)__Instance)->specializationKind = value; + } + } + + public uint ArgumentsCount + { + get + { + var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); + return __ret; + } } } - public unsafe partial class FullComment : global::CppSharp.Parser.AST.Comment, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 16)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + public unsafe partial class ClassTemplatePartialSpecialization : global::CppSharp.Parser.AST.ClassTemplateSpecialization, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 316)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(12)] + internal global::System.IntPtr _namespace; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(20)] + internal int lineNumberStart; + + [FieldOffset(24)] + internal int lineNumberEnd; + + [FieldOffset(28)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(52)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(64)] + internal byte isIncomplete; + + [FieldOffset(65)] + internal byte isDependent; + + [FieldOffset(66)] + internal byte isImplicit; + + [FieldOffset(67)] + internal byte isInvalid; + + [FieldOffset(68)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(72)] + internal uint definitionOrder; + + [FieldOffset(76)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(88)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(100)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(104)] + internal global::System.IntPtr comment; + + [FieldOffset(108)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; + + [FieldOffset(120)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; + + [FieldOffset(132)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; + + [FieldOffset(144)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; + + [FieldOffset(156)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; + + [FieldOffset(168)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; + + [FieldOffset(180)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; + + [FieldOffset(192)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; + + [FieldOffset(204)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; + + [FieldOffset(216)] + internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; + + [FieldOffset(228)] + internal byte isAnonymous; + + [FieldOffset(232)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BaseClassSpecifier___N_std_N___1_S_allocator__S0_ Bases; + + [FieldOffset(244)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Field___N_std_N___1_S_allocator__S0_ Fields; + + [FieldOffset(256)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_N___1_S_allocator__S0_ Methods; + + [FieldOffset(268)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_AccessSpecifierDecl___N_std_N___1_S_allocator__S0_ Specifiers; + + [FieldOffset(280)] + internal byte isPOD; + + [FieldOffset(281)] + internal byte isAbstract; + + [FieldOffset(282)] + internal byte isUnion; + + [FieldOffset(283)] + internal byte isDynamic; + + [FieldOffset(284)] + internal byte isPolymorphic; + + [FieldOffset(285)] + internal byte hasNonTrivialDefaultConstructor; + + [FieldOffset(286)] + internal byte hasNonTrivialCopyConstructor; + + [FieldOffset(287)] + internal byte hasNonTrivialDestructor; + + [FieldOffset(288)] + internal byte isExternCContext; - [FieldOffset(4)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BlockContentComment___N_std_N___1_S_allocator__S0_ Blocks; + [FieldOffset(289)] + internal byte isInjected; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11FullCommentC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + [FieldOffset(292)] + internal global::System.IntPtr layout; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11FullCommentC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + [FieldOffset(296)] + internal global::System.IntPtr templatedDecl; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11FullCommentD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); + [FieldOffset(300)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ Arguments; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11FullComment9getBlocksEj")] - internal static extern global::System.IntPtr GetBlocks(global::System.IntPtr __instance, uint i); + [FieldOffset(312)] + internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11FullComment9addBlocksERPNS1_19BlockContentCommentE")] - internal static extern void AddBlocks(global::System.IntPtr __instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST34ClassTemplatePartialSpecializationC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11FullComment11clearBlocksEv")] - internal static extern void ClearBlocks(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST34ClassTemplatePartialSpecializationC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11FullComment14getBlocksCountEv")] - internal static extern uint GetBlocksCount(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST34ClassTemplatePartialSpecializationD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.FullComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FullComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.FullComment __CreateInstance(global::CppSharp.Parser.AST.FullComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization __CreateInstance(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FullComment(native, skipVTables); + return new global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.FullComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); - global::CppSharp.Parser.AST.FullComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); + global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private FullComment(global::CppSharp.Parser.AST.FullComment.__Internal native, bool skipVTables = false) + private ClassTemplatePartialSpecialization(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected FullComment(void* native, bool skipVTables = false) + protected ClassTemplatePartialSpecialization(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -14593,19 +15107,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public FullComment() + public ClassTemplatePartialSpecialization() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public FullComment(global::CppSharp.Parser.AST.FullComment _0) + public ClassTemplatePartialSpecialization(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -14618,7 +15132,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Comment __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -14626,222 +15140,148 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - - public global::CppSharp.Parser.AST.BlockContentComment GetBlocks(uint i) - { - var __ret = __Internal.GetBlocks((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.BlockContentComment __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.BlockContentComment.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.BlockContentComment) global::CppSharp.Parser.AST.BlockContentComment.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.BlockContentComment.__CreateInstance(__ret); - return __result0; - } - - public void AddBlocks(global::CppSharp.Parser.AST.BlockContentComment s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddBlocks((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearBlocks() - { - __Internal.ClearBlocks((__Instance + __PointerAdjustment)); - } - - public uint BlocksCount - { - get - { - var __ret = __Internal.GetBlocksCount((__Instance + __PointerAdjustment)); - return __ret; - } - } } - public unsafe partial class InlineContentComment : global::CppSharp.Parser.AST.Comment, IDisposable + public unsafe partial class FunctionTemplate : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 136)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal byte hasTrailingNewline; + internal int maxFieldAlignment; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20InlineContentCommentC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20InlineContentCommentC2ENS1_11CommentKindE")] - internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.CommentKind Kind); + [FieldOffset(12)] + internal global::System.IntPtr _namespace; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20InlineContentCommentC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - } + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; - internal static new global::CppSharp.Parser.AST.InlineContentComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.InlineContentComment(native.ToPointer(), skipVTables); - } + [FieldOffset(20)] + internal int lineNumberStart; - internal static global::CppSharp.Parser.AST.InlineContentComment __CreateInstance(global::CppSharp.Parser.AST.InlineContentComment.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.InlineContentComment(native, skipVTables); - } + [FieldOffset(24)] + internal int lineNumberEnd; - private static void* __CopyValue(global::CppSharp.Parser.AST.InlineContentComment.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal)); - *(global::CppSharp.Parser.AST.InlineContentComment.__Internal*) ret = native; - return ret.ToPointer(); - } + [FieldOffset(28)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - private InlineContentComment(global::CppSharp.Parser.AST.InlineContentComment.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - protected InlineContentComment(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [FieldOffset(52)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; - public InlineContentComment() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + [FieldOffset(64)] + internal byte isIncomplete; - public InlineContentComment(global::CppSharp.Parser.AST.CommentKind Kind) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), Kind); - } + [FieldOffset(65)] + internal byte isDependent; - public InlineContentComment(global::CppSharp.Parser.AST.InlineContentComment _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.InlineContentComment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.InlineContentComment.__Internal*) _0.__Instance); - } + [FieldOffset(66)] + internal byte isImplicit; - public static implicit operator global::CppSharp.Parser.AST.InlineContentComment(global::CppSharp.Parser.AST.CommentKind Kind) - { - return new global::CppSharp.Parser.AST.InlineContentComment(Kind); - } + [FieldOffset(67)] + internal byte isInvalid; - public bool HasTrailingNewline - { - get - { - return ((global::CppSharp.Parser.AST.InlineContentComment.__Internal*) __Instance)->hasTrailingNewline != 0; - } + [FieldOffset(68)] + internal global::System.IntPtr completeDeclaration; - set - { - ((global::CppSharp.Parser.AST.InlineContentComment.__Internal*)__Instance)->hasTrailingNewline = (byte) (value ? 1 : 0); - } - } - } + [FieldOffset(72)] + internal uint definitionOrder; - public unsafe partial class ParagraphComment : global::CppSharp.Parser.AST.BlockContentComment, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 20)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + [FieldOffset(76)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; - [FieldOffset(4)] - internal byte isWhitespace; + [FieldOffset(88)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; - [FieldOffset(8)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_InlineContentComment___N_std_N___1_S_allocator__S0_ Content; + [FieldOffset(100)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(104)] + internal global::System.IntPtr comment; + + [FieldOffset(108)] + internal global::System.IntPtr TemplatedDecl; + + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Parameters; + + [FieldOffset(124)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_FunctionTemplateSpecialization___N_std_N___1_S_allocator__S0_ Specializations; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16ParagraphCommentC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplateC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16ParagraphCommentC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplateC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16ParagraphCommentD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplateD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16ParagraphComment10getContentEj")] - internal static extern global::System.IntPtr GetContent(global::System.IntPtr __instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate18getSpecializationsEj")] + internal static extern global::System.IntPtr GetSpecializations(global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16ParagraphComment10addContentERPNS1_20InlineContentCommentE")] - internal static extern void AddContent(global::System.IntPtr __instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate18addSpecializationsERPNS1_30FunctionTemplateSpecializationE")] + internal static extern void AddSpecializations(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16ParagraphComment12clearContentEv")] - internal static extern void ClearContent(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate20clearSpecializationsEv")] + internal static extern void ClearSpecializations(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16ParagraphComment15getContentCountEv")] - internal static extern uint GetContentCount(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate18FindSpecializationERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE")] + internal static extern global::System.IntPtr FindSpecialization(global::System.IntPtr __instance, global::System.IntPtr usr); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate23getSpecializationsCountEv")] + internal static extern uint GetSpecializationsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.ParagraphComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.FunctionTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ParagraphComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.FunctionTemplate(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.ParagraphComment __CreateInstance(global::CppSharp.Parser.AST.ParagraphComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.FunctionTemplate __CreateInstance(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ParagraphComment(native, skipVTables); + return new global::CppSharp.Parser.AST.FunctionTemplate(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ParagraphComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParagraphComment.__Internal)); - global::CppSharp.Parser.AST.ParagraphComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); + global::CppSharp.Parser.AST.FunctionTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private ParagraphComment(global::CppSharp.Parser.AST.ParagraphComment.__Internal native, bool skipVTables = false) + private FunctionTemplate(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected ParagraphComment(void* native, bool skipVTables = false) + protected FunctionTemplate(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -14850,19 +15290,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public ParagraphComment() + public FunctionTemplate() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParagraphComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public ParagraphComment(global::CppSharp.Parser.AST.ParagraphComment _0) + public FunctionTemplate(global::CppSharp.Parser.AST.FunctionTemplate _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParagraphComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -14875,7 +15315,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Comment __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -14884,283 +15324,158 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.InlineContentComment GetContent(uint i) + public global::CppSharp.Parser.AST.FunctionTemplateSpecialization GetSpecializations(uint i) { - var __ret = __Internal.GetContent((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.InlineContentComment __result0; + var __ret = __Internal.GetSpecializations((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0; if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.InlineContentComment.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.InlineContentComment) global::CppSharp.Parser.AST.InlineContentComment.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.InlineContentComment.__CreateInstance(__ret); + else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(__ret); return __result0; } - public void AddContent(global::CppSharp.Parser.AST.InlineContentComment s) + public void AddSpecializations(global::CppSharp.Parser.AST.FunctionTemplateSpecialization s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddContent((__Instance + __PointerAdjustment), __arg0); + __Internal.AddSpecializations((__Instance + __PointerAdjustment), __arg0); } - public void ClearContent() + public void ClearSpecializations() { - __Internal.ClearContent((__Instance + __PointerAdjustment)); + __Internal.ClearSpecializations((__Instance + __PointerAdjustment)); } - public bool IsWhitespace + public global::CppSharp.Parser.AST.FunctionTemplateSpecialization FindSpecialization(string usr) { - get - { - return ((global::CppSharp.Parser.AST.ParagraphComment.__Internal*) __Instance)->isWhitespace != 0; - } - - set - { - ((global::CppSharp.Parser.AST.ParagraphComment.__Internal*)__Instance)->isWhitespace = (byte) (value ? 1 : 0); - } + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, usr); + var __arg0 = __basicString0.__Instance; + var __ret = __Internal.FindSpecialization((__Instance + __PointerAdjustment), __arg0); + __basicString0.Dispose(false); + global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(__ret); + return __result0; } - public uint ContentCount + public uint SpecializationsCount { get { - var __ret = __Internal.GetContentCount((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetSpecializationsCount((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class BlockCommandComment : global::CppSharp.Parser.AST.BlockContentComment, IDisposable + public unsafe partial class FunctionTemplateSpecialization : IDisposable { [StructLayout(LayoutKind.Explicit, Size = 24)] - public new partial struct __Internal + public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + internal global::System.IntPtr _template; [FieldOffset(4)] - internal uint commandId; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ Arguments; - [FieldOffset(8)] - internal global::System.IntPtr paragraphComment; + [FieldOffset(16)] + internal global::System.IntPtr specializedFunction; - [FieldOffset(12)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_N___1_S_allocator__S0_ Arguments; + [FieldOffset(20)] + internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandCommentC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandCommentC2ENS1_11CommentKindE")] - internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.CommentKind Kind); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandCommentC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandCommentD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandComment12getArgumentsEj")] + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization12getArgumentsEj")] internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandComment12addArgumentsERNS2_8ArgumentE")] + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization12addArgumentsERNS1_16TemplateArgumentE")] internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandComment14clearArgumentsEv")] - internal static extern void ClearArguments(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandComment17getArgumentsCountEv")] - internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); - } - - public unsafe partial class Argument : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 12)] - public partial struct __Internal - { - [FieldOffset(0)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C text; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandComment8ArgumentC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandComment8ArgumentC2ERKS3_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandComment8ArgumentD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); - } - - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.BlockCommandComment.Argument __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.BlockCommandComment.Argument(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.BlockCommandComment.Argument __CreateInstance(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.BlockCommandComment.Argument(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal)); - global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private Argument(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected Argument(void* native, bool skipVTables = false) - { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public Argument() - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } - - public Argument(global::CppSharp.Parser.AST.BlockCommandComment.Argument _0) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } - - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.BlockCommandComment.Argument __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public string Text - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal*) __Instance)->text)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal*)__Instance)->text), value); - } - } + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization14clearArgumentsEv")] + internal static extern void ClearArguments(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization17getArgumentsCountEv")] + internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.BlockCommandComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.FunctionTemplateSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BlockCommandComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.FunctionTemplateSpecialization(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.BlockCommandComment __CreateInstance(global::CppSharp.Parser.AST.BlockCommandComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.FunctionTemplateSpecialization __CreateInstance(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BlockCommandComment(native, skipVTables); + return new global::CppSharp.Parser.AST.FunctionTemplateSpecialization(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.BlockCommandComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__Internal)); - global::CppSharp.Parser.AST.BlockCommandComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); + global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private BlockCommandComment(global::CppSharp.Parser.AST.BlockCommandComment.__Internal native, bool skipVTables = false) + private FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected BlockCommandComment(void* native, bool skipVTables = false) - : base((void*) null) + protected FunctionTemplateSpecialization(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public BlockCommandComment() - : this((void*) null) + public FunctionTemplateSpecialization() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public BlockCommandComment(global::CppSharp.Parser.AST.CommentKind Kind) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), Kind); - } - - public BlockCommandComment(global::CppSharp.Parser.AST.BlockCommandComment _0) - : this((void*) null) + public FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -15169,11 +15484,16 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Comment __dummy; + global::CppSharp.Parser.AST.FunctionTemplateSpecialization __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -15182,14 +15502,14 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.BlockCommandComment.Argument GetArguments(uint i) + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) { - var __ret = new global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal(); + var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.BlockCommandComment.Argument.__CreateInstance(__ret); + return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); } - public void AddArguments(global::CppSharp.Parser.AST.BlockCommandComment.Argument s) + public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); @@ -15202,39 +15522,52 @@ namespace CppSharp __Internal.ClearArguments((__Instance + __PointerAdjustment)); } - public static implicit operator global::CppSharp.Parser.AST.BlockCommandComment(global::CppSharp.Parser.AST.CommentKind Kind) + public global::CppSharp.Parser.AST.FunctionTemplate Template { - return new global::CppSharp.Parser.AST.BlockCommandComment(Kind); + get + { + global::CppSharp.Parser.AST.FunctionTemplate __result0; + if (((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.FunctionTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template)) + __result0 = (global::CppSharp.Parser.AST.FunctionTemplate) global::CppSharp.Parser.AST.FunctionTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template]; + else __result0 = global::CppSharp.Parser.AST.FunctionTemplate.__CreateInstance(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*)__Instance)->_template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } } - public uint CommandId + public global::CppSharp.Parser.AST.Function SpecializedFunction { get { - return ((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*) __Instance)->commandId; + global::CppSharp.Parser.AST.Function __result0; + if (((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction)) + __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction]; + else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction); + return __result0; } set { - ((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*)__Instance)->commandId = value; + ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*)__Instance)->specializedFunction = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public global::CppSharp.Parser.AST.ParagraphComment ParagraphComment + public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind { get { - global::CppSharp.Parser.AST.ParagraphComment __result0; - if (((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*) __Instance)->paragraphComment == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.ParagraphComment.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*) __Instance)->paragraphComment)) - __result0 = (global::CppSharp.Parser.AST.ParagraphComment) global::CppSharp.Parser.AST.ParagraphComment.NativeToManagedMap[((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*) __Instance)->paragraphComment]; - else __result0 = global::CppSharp.Parser.AST.ParagraphComment.__CreateInstance(((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*) __Instance)->paragraphComment); - return __result0; + return ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializationKind; } set { - ((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*)__Instance)->paragraphComment = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*)__Instance)->specializationKind = value; } } @@ -15248,227 +15581,151 @@ namespace CppSharp } } - public unsafe partial class ParamCommandComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable + public unsafe partial class VarTemplate : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 136)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal uint commandId; + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::System.IntPtr paragraphComment; + internal global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(12)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_N___1_S_allocator__S0_ Arguments; - - [FieldOffset(24)] - internal global::CppSharp.Parser.AST.ParamCommandComment.PassDirection direction; - - [FieldOffset(28)] - internal uint paramIndex; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19ParamCommandCommentC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19ParamCommandCommentC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19ParamCommandCommentD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); - } - - public enum PassDirection : uint - { - In = 0, - Out = 1, - InOut = 2 - } + internal global::System.IntPtr _namespace; - internal static new global::CppSharp.Parser.AST.ParamCommandComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.ParamCommandComment(native.ToPointer(), skipVTables); - } + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; - internal static global::CppSharp.Parser.AST.ParamCommandComment __CreateInstance(global::CppSharp.Parser.AST.ParamCommandComment.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.ParamCommandComment(native, skipVTables); - } + [FieldOffset(20)] + internal int lineNumberStart; - private static void* __CopyValue(global::CppSharp.Parser.AST.ParamCommandComment.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParamCommandComment.__Internal)); - global::CppSharp.Parser.AST.ParamCommandComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [FieldOffset(24)] + internal int lineNumberEnd; - private ParamCommandComment(global::CppSharp.Parser.AST.ParamCommandComment.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [FieldOffset(28)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - protected ParamCommandComment(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - public ParamCommandComment() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParamCommandComment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + [FieldOffset(52)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; - public ParamCommandComment(global::CppSharp.Parser.AST.ParamCommandComment _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParamCommandComment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(64)] + internal byte isIncomplete; - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Comment __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + [FieldOffset(65)] + internal byte isDependent; - public global::CppSharp.Parser.AST.ParamCommandComment.PassDirection Direction - { - get - { - return ((global::CppSharp.Parser.AST.ParamCommandComment.__Internal*) __Instance)->direction; - } + [FieldOffset(66)] + internal byte isImplicit; - set - { - ((global::CppSharp.Parser.AST.ParamCommandComment.__Internal*)__Instance)->direction = value; - } - } + [FieldOffset(67)] + internal byte isInvalid; - public uint ParamIndex - { - get - { - return ((global::CppSharp.Parser.AST.ParamCommandComment.__Internal*) __Instance)->paramIndex; - } + [FieldOffset(68)] + internal global::System.IntPtr completeDeclaration; - set - { - ((global::CppSharp.Parser.AST.ParamCommandComment.__Internal*)__Instance)->paramIndex = value; - } - } - } + [FieldOffset(72)] + internal uint definitionOrder; - public unsafe partial class TParamCommandComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 36)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + [FieldOffset(76)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; - [FieldOffset(4)] - internal uint commandId; + [FieldOffset(88)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; - [FieldOffset(8)] - internal global::System.IntPtr paragraphComment; + [FieldOffset(100)] + internal global::System.IntPtr originalPtr; - [FieldOffset(12)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_N___1_S_allocator__S0_ Arguments; + [FieldOffset(104)] + internal global::System.IntPtr comment; - [FieldOffset(24)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector__i___N_std_N___1_S_allocator__i Position; + [FieldOffset(108)] + internal global::System.IntPtr TemplatedDecl; + + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Parameters; + + [FieldOffset(124)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_VarTemplateSpecialization___N_std_N___1_S_allocator__S0_ Specializations; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20TParamCommandCommentC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplateC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20TParamCommandCommentC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplateC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20TParamCommandCommentD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplateD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20TParamCommandComment11getPositionEj")] - internal static extern uint GetPosition(global::System.IntPtr __instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate18getSpecializationsEj")] + internal static extern global::System.IntPtr GetSpecializations(global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20TParamCommandComment11addPositionERj")] - internal static extern void AddPosition(global::System.IntPtr __instance, uint* s); + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate18addSpecializationsERPNS1_25VarTemplateSpecializationE")] + internal static extern void AddSpecializations(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20TParamCommandComment13clearPositionEv")] - internal static extern void ClearPosition(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate20clearSpecializationsEv")] + internal static extern void ClearSpecializations(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20TParamCommandComment16getPositionCountEv")] - internal static extern uint GetPositionCount(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate18FindSpecializationERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE")] + internal static extern global::System.IntPtr FindSpecialization(global::System.IntPtr __instance, global::System.IntPtr usr); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate25FindPartialSpecializationERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE")] + internal static extern global::System.IntPtr FindPartialSpecialization(global::System.IntPtr __instance, global::System.IntPtr usr); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate23getSpecializationsCountEv")] + internal static extern uint GetSpecializationsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.TParamCommandComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.VarTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TParamCommandComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.VarTemplate(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TParamCommandComment __CreateInstance(global::CppSharp.Parser.AST.TParamCommandComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VarTemplate __CreateInstance(global::CppSharp.Parser.AST.VarTemplate.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TParamCommandComment(native, skipVTables); + return new global::CppSharp.Parser.AST.VarTemplate(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TParamCommandComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplate.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TParamCommandComment.__Internal)); - global::CppSharp.Parser.AST.TParamCommandComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); + global::CppSharp.Parser.AST.VarTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TParamCommandComment(global::CppSharp.Parser.AST.TParamCommandComment.__Internal native, bool skipVTables = false) + private VarTemplate(global::CppSharp.Parser.AST.VarTemplate.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TParamCommandComment(void* native, bool skipVTables = false) + protected VarTemplate(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -15477,19 +15734,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TParamCommandComment() + public VarTemplate() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TParamCommandComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TParamCommandComment(global::CppSharp.Parser.AST.TParamCommandComment _0) + public VarTemplate(global::CppSharp.Parser.AST.VarTemplate _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TParamCommandComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -15502,7 +15759,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Comment __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -15511,228 +15768,211 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public uint GetPosition(uint i) - { - var __ret = __Internal.GetPosition((__Instance + __PointerAdjustment), i); - return __ret; - } - - public void AddPosition(ref uint s) - { - fixed (uint* __s0 = &s) - { - var __arg0 = __s0; - __Internal.AddPosition((__Instance + __PointerAdjustment), __arg0); - } - } - - public void ClearPosition() - { - __Internal.ClearPosition((__Instance + __PointerAdjustment)); - } - - public uint PositionCount - { - get - { - var __ret = __Internal.GetPositionCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - } - - public unsafe partial class VerbatimBlockLineComment : global::CppSharp.Parser.AST.Comment, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 16)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; - - [FieldOffset(4)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C text; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST24VerbatimBlockLineCommentC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST24VerbatimBlockLineCommentC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST24VerbatimBlockLineCommentD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); - } - - internal static new global::CppSharp.Parser.AST.VerbatimBlockLineComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.VerbatimBlockLineComment(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.VerbatimBlockLineComment __CreateInstance(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.VerbatimBlockLineComment(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal)); - global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private VerbatimBlockLineComment(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + public global::CppSharp.Parser.AST.VarTemplateSpecialization GetSpecializations(uint i) { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + var __ret = __Internal.GetSpecializations((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.VarTemplateSpecialization __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.VarTemplateSpecialization) global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.VarTemplateSpecialization.__CreateInstance(__ret); + return __result0; } - protected VerbatimBlockLineComment(void* native, bool skipVTables = false) - : base((void*) null) + public void AddSpecializations(global::CppSharp.Parser.AST.VarTemplateSpecialization s) { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddSpecializations((__Instance + __PointerAdjustment), __arg0); } - public VerbatimBlockLineComment() - : this((void*) null) + public void ClearSpecializations() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + __Internal.ClearSpecializations((__Instance + __PointerAdjustment)); } - public VerbatimBlockLineComment(global::CppSharp.Parser.AST.VerbatimBlockLineComment _0) - : this((void*) null) + public global::CppSharp.Parser.AST.VarTemplateSpecialization FindSpecialization(string usr) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, usr); + var __arg0 = __basicString0.__Instance; + var __ret = __Internal.FindSpecialization((__Instance + __PointerAdjustment), __arg0); + __basicString0.Dispose(false); + global::CppSharp.Parser.AST.VarTemplateSpecialization __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.VarTemplateSpecialization) global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.VarTemplateSpecialization.__CreateInstance(__ret); + return __result0; } - public override void Dispose(bool disposing) + public global::CppSharp.Parser.AST.VarTemplatePartialSpecialization FindPartialSpecialization(string usr) { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Comment __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, usr); + var __arg0 = __basicString0.__Instance; + var __ret = __Internal.FindPartialSpecialization((__Instance + __PointerAdjustment), __arg0); + __basicString0.Dispose(false); + global::CppSharp.Parser.AST.VarTemplatePartialSpecialization __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.VarTemplatePartialSpecialization) global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__CreateInstance(__ret); + return __result0; } - public string Text + public uint SpecializationsCount { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal*) __Instance)->text)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal*)__Instance)->text), value); + var __ret = __Internal.GetSpecializationsCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class VerbatimBlockComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable + public unsafe partial class VarTemplateSpecialization : global::CppSharp.Parser.AST.Variable, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 36)] + [StructLayout(LayoutKind.Explicit, Size = 148)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal uint commandId; + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::System.IntPtr paragraphComment; + internal global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(12)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_N___1_S_allocator__S0_ Arguments; + internal global::System.IntPtr _namespace; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(20)] + internal int lineNumberStart; [FieldOffset(24)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_VerbatimBlockLineComment___N_std_N___1_S_allocator__S0_ Lines; + internal int lineNumberEnd; + + [FieldOffset(28)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(52)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(64)] + internal byte isIncomplete; + + [FieldOffset(65)] + internal byte isDependent; + + [FieldOffset(66)] + internal byte isImplicit; + + [FieldOffset(67)] + internal byte isInvalid; + + [FieldOffset(68)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(72)] + internal uint definitionOrder; + + [FieldOffset(76)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(88)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(100)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(104)] + internal global::System.IntPtr comment; + + [FieldOffset(108)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C mangled; + + [FieldOffset(120)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(128)] + internal global::System.IntPtr templatedDecl; + + [FieldOffset(132)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ Arguments; + + [FieldOffset(144)] + internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20VerbatimBlockCommentC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecializationC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20VerbatimBlockCommentC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecializationC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20VerbatimBlockCommentD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecializationD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20VerbatimBlockComment8getLinesEj")] - internal static extern global::System.IntPtr GetLines(global::System.IntPtr __instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecialization12getArgumentsEj")] + internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20VerbatimBlockComment8addLinesERPNS1_24VerbatimBlockLineCommentE")] - internal static extern void AddLines(global::System.IntPtr __instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecialization12addArgumentsERNS1_16TemplateArgumentE")] + internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20VerbatimBlockComment10clearLinesEv")] - internal static extern void ClearLines(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecialization14clearArgumentsEv")] + internal static extern void ClearArguments(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20VerbatimBlockComment13getLinesCountEv")] - internal static extern uint GetLinesCount(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecialization17getArgumentsCountEv")] + internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.VerbatimBlockComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.VarTemplateSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VerbatimBlockComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.VarTemplateSpecialization(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.VerbatimBlockComment __CreateInstance(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VarTemplateSpecialization __CreateInstance(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VerbatimBlockComment(native, skipVTables); + return new global::CppSharp.Parser.AST.VarTemplateSpecialization(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal)); - global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); + global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private VerbatimBlockComment(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal native, bool skipVTables = false) + private VarTemplateSpecialization(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected VerbatimBlockComment(void* native, bool skipVTables = false) + protected VarTemplateSpecialization(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -15741,19 +15981,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public VerbatimBlockComment() + public VarTemplateSpecialization() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public VerbatimBlockComment(global::CppSharp.Parser.AST.VerbatimBlockComment _0) + public VarTemplateSpecialization(global::CppSharp.Parser.AST.VarTemplateSpecialization _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -15766,7 +16006,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Comment __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -15775,101 +16015,188 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.VerbatimBlockLineComment GetLines(uint i) + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) { - var __ret = __Internal.GetLines((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.VerbatimBlockLineComment __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.VerbatimBlockLineComment.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.VerbatimBlockLineComment) global::CppSharp.Parser.AST.VerbatimBlockLineComment.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.VerbatimBlockLineComment.__CreateInstance(__ret); - return __result0; + var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); + __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); } - public void AddLines(global::CppSharp.Parser.AST.VerbatimBlockLineComment s) + public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddLines((__Instance + __PointerAdjustment), __arg0); + __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); } - public void ClearLines() + public void ClearArguments() { - __Internal.ClearLines((__Instance + __PointerAdjustment)); + __Internal.ClearArguments((__Instance + __PointerAdjustment)); } - public uint LinesCount + public global::CppSharp.Parser.AST.VarTemplate TemplatedDecl { get { - var __ret = __Internal.GetLinesCount((__Instance + __PointerAdjustment)); + global::CppSharp.Parser.AST.VarTemplate __result0; + if (((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.VarTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl)) + __result0 = (global::CppSharp.Parser.AST.VarTemplate) global::CppSharp.Parser.AST.VarTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl]; + else __result0 = global::CppSharp.Parser.AST.VarTemplate.__CreateInstance(((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*)__Instance)->templatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind + { + get + { + return ((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->specializationKind; + } + + set + { + ((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*)__Instance)->specializationKind = value; + } + } + + public uint ArgumentsCount + { + get + { + var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class VerbatimLineComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable + public unsafe partial class VarTemplatePartialSpecialization : global::CppSharp.Parser.AST.VarTemplateSpecialization, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 36)] + [StructLayout(LayoutKind.Explicit, Size = 148)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal uint commandId; + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::System.IntPtr paragraphComment; + internal global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(12)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_N___1_S_allocator__S0_ Arguments; + internal global::System.IntPtr _namespace; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(20)] + internal int lineNumberStart; [FieldOffset(24)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C text; + internal int lineNumberEnd; + + [FieldOffset(28)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(52)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(64)] + internal byte isIncomplete; + + [FieldOffset(65)] + internal byte isDependent; + + [FieldOffset(66)] + internal byte isImplicit; + + [FieldOffset(67)] + internal byte isInvalid; + + [FieldOffset(68)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(72)] + internal uint definitionOrder; + + [FieldOffset(76)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(88)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(100)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(104)] + internal global::System.IntPtr comment; + + [FieldOffset(108)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C mangled; + + [FieldOffset(120)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(128)] + internal global::System.IntPtr templatedDecl; + + [FieldOffset(132)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ Arguments; + + [FieldOffset(144)] + internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19VerbatimLineCommentC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST32VarTemplatePartialSpecializationC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19VerbatimLineCommentC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST32VarTemplatePartialSpecializationC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19VerbatimLineCommentD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST32VarTemplatePartialSpecializationD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.VerbatimLineComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.VarTemplatePartialSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VerbatimLineComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.VarTemplatePartialSpecialization(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.VerbatimLineComment __CreateInstance(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VarTemplatePartialSpecialization __CreateInstance(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VerbatimLineComment(native, skipVTables); + return new global::CppSharp.Parser.AST.VarTemplatePartialSpecialization(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal)); - global::CppSharp.Parser.AST.VerbatimLineComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); + global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private VerbatimLineComment(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal native, bool skipVTables = false) + private VarTemplatePartialSpecialization(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected VerbatimLineComment(void* native, bool skipVTables = false) + protected VarTemplatePartialSpecialization(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -15878,19 +16205,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public VerbatimLineComment() + public VarTemplatePartialSpecialization() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public VerbatimLineComment(global::CppSharp.Parser.AST.VerbatimLineComment _0) + public VarTemplatePartialSpecialization(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -15903,7 +16230,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Comment __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -15911,230 +16238,150 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - - public string Text - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VerbatimLineComment.__Internal*) __Instance)->text)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VerbatimLineComment.__Internal*)__Instance)->text), value); - } - } } - public unsafe partial class InlineCommandComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable + public unsafe partial class Namespace : global::CppSharp.Parser.AST.DeclarationContext, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 28)] + [StructLayout(LayoutKind.Explicit, Size = 232)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal byte hasTrailingNewline; + internal int maxFieldAlignment; [FieldOffset(8)] - internal uint commandId; + internal global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(12)] - internal global::CppSharp.Parser.AST.InlineCommandComment.RenderKind commentRenderKind; + internal global::System.IntPtr _namespace; [FieldOffset(16)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_InlineCommandComment_S_Argument___N_std_N___1_S_allocator__S0_ Arguments; + internal global::CppSharp.Parser.SourceLocation.__Internal location; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandCommentC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + [FieldOffset(20)] + internal int lineNumberStart; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandCommentC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + [FieldOffset(24)] + internal int lineNumberEnd; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandCommentD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); + [FieldOffset(28)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandComment12getArgumentsEj")] - internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandComment12addArgumentsERNS2_8ArgumentE")] - internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); + [FieldOffset(52)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandComment14clearArgumentsEv")] - internal static extern void ClearArguments(global::System.IntPtr __instance); + [FieldOffset(64)] + internal byte isIncomplete; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandComment17getArgumentsCountEv")] - internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); - } + [FieldOffset(65)] + internal byte isDependent; - public enum RenderKind : uint - { - RenderNormal = 0, - RenderBold = 1, - RenderMonospaced = 2, - RenderEmphasized = 3 - } + [FieldOffset(66)] + internal byte isImplicit; - public unsafe partial class Argument : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 12)] - public partial struct __Internal - { - [FieldOffset(0)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C text; + [FieldOffset(67)] + internal byte isInvalid; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandComment8ArgumentC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + [FieldOffset(68)] + internal global::System.IntPtr completeDeclaration; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandComment8ArgumentC2ERKS3_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + [FieldOffset(72)] + internal uint definitionOrder; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandComment8ArgumentD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); - } + [FieldOffset(76)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; - public global::System.IntPtr __Instance { get; protected set; } + [FieldOffset(88)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; + [FieldOffset(100)] + internal global::System.IntPtr originalPtr; - protected bool __ownsNativeInstance; + [FieldOffset(104)] + internal global::System.IntPtr comment; - internal static global::CppSharp.Parser.AST.InlineCommandComment.Argument __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.InlineCommandComment.Argument(native.ToPointer(), skipVTables); - } + [FieldOffset(108)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; - internal static global::CppSharp.Parser.AST.InlineCommandComment.Argument __CreateInstance(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.InlineCommandComment.Argument(native, skipVTables); - } + [FieldOffset(120)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; - private static void* __CopyValue(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal)); - global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [FieldOffset(132)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; - private Argument(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [FieldOffset(144)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; - protected Argument(void* native, bool skipVTables = false) - { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [FieldOffset(156)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; - public Argument() - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + [FieldOffset(168)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; - public Argument(global::CppSharp.Parser.AST.InlineCommandComment.Argument _0) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(180)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; - public void Dispose() - { - Dispose(disposing: true); - } + [FieldOffset(192)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.InlineCommandComment.Argument __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + [FieldOffset(204)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; - public string Text - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal*) __Instance)->text)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + [FieldOffset(216)] + internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal*)__Instance)->text), value); - } - } + [FieldOffset(228)] + internal byte isAnonymous; + + [FieldOffset(229)] + internal byte isInline; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.InlineCommandComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Namespace __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.InlineCommandComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Namespace(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.InlineCommandComment __CreateInstance(global::CppSharp.Parser.AST.InlineCommandComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Namespace __CreateInstance(global::CppSharp.Parser.AST.Namespace.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.InlineCommandComment(native, skipVTables); + return new global::CppSharp.Parser.AST.Namespace(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.InlineCommandComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Namespace.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.__Internal)); - global::CppSharp.Parser.AST.InlineCommandComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); + global::CppSharp.Parser.AST.Namespace.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private InlineCommandComment(global::CppSharp.Parser.AST.InlineCommandComment.__Internal native, bool skipVTables = false) + private Namespace(global::CppSharp.Parser.AST.Namespace.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected InlineCommandComment(void* native, bool skipVTables = false) + protected Namespace(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -16143,19 +16390,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public InlineCommandComment() + public Namespace() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public InlineCommandComment(global::CppSharp.Parser.AST.InlineCommandComment _0) + public Namespace(global::CppSharp.Parser.AST.Namespace _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -16168,7 +16415,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Comment __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -16177,369 +16424,223 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.InlineCommandComment.Argument GetArguments(uint i) - { - var __ret = new global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal(); - __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.InlineCommandComment.Argument.__CreateInstance(__ret); - } - - public void AddArguments(global::CppSharp.Parser.AST.InlineCommandComment.Argument s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearArguments() - { - __Internal.ClearArguments((__Instance + __PointerAdjustment)); - } - - public uint CommandId - { - get - { - return ((global::CppSharp.Parser.AST.InlineCommandComment.__Internal*) __Instance)->commandId; - } - - set - { - ((global::CppSharp.Parser.AST.InlineCommandComment.__Internal*)__Instance)->commandId = value; - } - } - - public global::CppSharp.Parser.AST.InlineCommandComment.RenderKind CommentRenderKind + public bool IsInline { get { - return ((global::CppSharp.Parser.AST.InlineCommandComment.__Internal*) __Instance)->commentRenderKind; + return ((global::CppSharp.Parser.AST.Namespace.__Internal*) __Instance)->isInline != 0; } set { - ((global::CppSharp.Parser.AST.InlineCommandComment.__Internal*)__Instance)->commentRenderKind = value; - } - } - - public uint ArgumentsCount - { - get - { - var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.Namespace.__Internal*)__Instance)->isInline = (byte) (value ? 1 : 0); } } } - public unsafe partial class HTMLTagComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable + public unsafe partial class PreprocessedEntity : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 8)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 12)] + public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + internal global::CppSharp.Parser.AST.MacroLocation macroLocation; [FieldOffset(4)] - internal byte hasTrailingNewline; + internal global::System.IntPtr originalPtr; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14HTMLTagCommentC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14HTMLTagCommentC2ENS1_11CommentKindE")] - internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.CommentKind Kind); + EntryPoint="_ZN8CppSharp9CppParser3AST18PreprocessedEntityC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14HTMLTagCommentC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST18PreprocessedEntityC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); } - internal static new global::CppSharp.Parser.AST.HTMLTagComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.PreprocessedEntity __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.HTMLTagComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.PreprocessedEntity(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.HTMLTagComment __CreateInstance(global::CppSharp.Parser.AST.HTMLTagComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.PreprocessedEntity __CreateInstance(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.HTMLTagComment(native, skipVTables); + return new global::CppSharp.Parser.AST.PreprocessedEntity(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.HTMLTagComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal)); - *(global::CppSharp.Parser.AST.HTMLTagComment.__Internal*) ret = native; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); + *(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) ret = native; return ret.ToPointer(); } - private HTMLTagComment(global::CppSharp.Parser.AST.HTMLTagComment.__Internal native, bool skipVTables = false) + private PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected HTMLTagComment(void* native, bool skipVTables = false) - : base((void*) null) + protected PreprocessedEntity(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public HTMLTagComment() - : this((void*) null) + public PreprocessedEntity() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public HTMLTagComment(global::CppSharp.Parser.AST.CommentKind Kind) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), Kind); - } - - public HTMLTagComment(global::CppSharp.Parser.AST.HTMLTagComment _0) - : this((void*) null) + public PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.HTMLTagComment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.HTMLTagComment.__Internal*) _0.__Instance); + *((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) _0.__Instance); } - public static implicit operator global::CppSharp.Parser.AST.HTMLTagComment(global::CppSharp.Parser.AST.CommentKind Kind) + public void Dispose() { - return new global::CppSharp.Parser.AST.HTMLTagComment(Kind); + Dispose(disposing: true); } - } - public unsafe partial class HTMLStartTagComment : global::CppSharp.Parser.AST.HTMLTagComment, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 32)] - public new partial struct __Internal + public virtual void Dispose(bool disposing) { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; - - [FieldOffset(4)] - internal byte hasTrailingNewline; - - [FieldOffset(8)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C tagName; - - [FieldOffset(20)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_HTMLStartTagComment_S_Attribute___N_std_N___1_S_allocator__S0_ Attributes; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagCommentC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagCommentC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagCommentD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagComment13getAttributesEj")] - internal static extern void GetAttributes(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagComment13addAttributesERNS2_9AttributeE")] - internal static extern void AddAttributes(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagComment15clearAttributesEv")] - internal static extern void ClearAttributes(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagComment18getAttributesCountEv")] - internal static extern uint GetAttributesCount(global::System.IntPtr __instance); + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.PreprocessedEntity __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } - public unsafe partial class Attribute : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 24)] - public partial struct __Internal - { - [FieldOffset(0)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - - [FieldOffset(12)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C value; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagComment9AttributeC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagComment9AttributeC2ERKS3_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagComment9AttributeD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); - } - - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute __CreateInstance(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal native, bool skipVTables = false) + public global::CppSharp.Parser.AST.MacroLocation MacroLocation + { + get { - return new global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute(native, skipVTables); + return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->macroLocation; } - private static void* __CopyValue(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal native) + set { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal)); - global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); + ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*)__Instance)->macroLocation = value; } + } - private Attribute(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + public global::System.IntPtr OriginalPtr + { + get { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->originalPtr; } - protected Attribute(void* native, bool skipVTables = false) + set { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); + ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*)__Instance)->originalPtr = (global::System.IntPtr) value; } + } - public Attribute() + public global::CppSharp.Parser.AST.DeclarationKind Kind + { + get { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->kind; } - public Attribute(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute _0) + set { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*)__Instance)->kind = value; } + } + } - public void Dispose() - { - Dispose(disposing: true); - } + public unsafe partial class MacroDefinition : global::CppSharp.Parser.AST.PreprocessedEntity, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 44)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.MacroLocation macroLocation; - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + [FieldOffset(4)] + internal global::System.IntPtr originalPtr; - public string Name - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal*) __Instance)->name)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal*)__Instance)->name), value); - } - } + [FieldOffset(12)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - public string Value - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal*) __Instance)->value)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + [FieldOffset(24)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C expression; - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal*)__Instance)->value), value); - } - } + [FieldOffset(36)] + internal int lineNumberStart; + + [FieldOffset(40)] + internal int lineNumberEnd; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15MacroDefinitionC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15MacroDefinitionC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15MacroDefinitionD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.HTMLStartTagComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.MacroDefinition __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.HTMLStartTagComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.MacroDefinition(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.HTMLStartTagComment __CreateInstance(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.MacroDefinition __CreateInstance(global::CppSharp.Parser.AST.MacroDefinition.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.HTMLStartTagComment(native, skipVTables); + return new global::CppSharp.Parser.AST.MacroDefinition(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.MacroDefinition.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal)); - global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); + global::CppSharp.Parser.AST.MacroDefinition.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private HTMLStartTagComment(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal native, bool skipVTables = false) + private MacroDefinition(global::CppSharp.Parser.AST.MacroDefinition.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected HTMLStartTagComment(void* native, bool skipVTables = false) + protected MacroDefinition(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -16548,19 +16649,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public HTMLStartTagComment() + public MacroDefinition() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public HTMLStartTagComment(global::CppSharp.Parser.AST.HTMLStartTagComment _0) + public MacroDefinition(global::CppSharp.Parser.AST.MacroDefinition _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -16573,7 +16674,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Comment __dummy; + global::CppSharp.Parser.AST.PreprocessedEntity __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -16582,31 +16683,27 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute GetAttributes(uint i) - { - var __ret = new global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal(); - __Internal.GetAttributes(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__CreateInstance(__ret); - } - - public void AddAttributes(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute s) + public string Name { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddAttributes((__Instance + __PointerAdjustment), __arg0); - } + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->name)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - public void ClearAttributes() - { - __Internal.ClearAttributes((__Instance + __PointerAdjustment)); + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->name), value); + } } - public string TagName + public string Expression { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal*) __Instance)->tagName)); + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->expression)); var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); __basicStringRet0.Dispose(false); return __stringRet0; @@ -16614,75 +16711,101 @@ namespace CppSharp set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal*)__Instance)->tagName), value); + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->expression), value); } } - public uint AttributesCount + public int LineNumberStart { get { - var __ret = __Internal.GetAttributesCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->lineNumberStart; + } + + set + { + ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->lineNumberStart = value; + } + } + + public int LineNumberEnd + { + get + { + return ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->lineNumberEnd; + } + + set + { + ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->lineNumberEnd = value; } } } - public unsafe partial class HTMLEndTagComment : global::CppSharp.Parser.AST.HTMLTagComment, IDisposable + public unsafe partial class MacroExpansion : global::CppSharp.Parser.AST.PreprocessedEntity, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 20)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + internal global::CppSharp.Parser.AST.MacroLocation macroLocation; [FieldOffset(4)] - internal byte hasTrailingNewline; + internal global::System.IntPtr originalPtr; [FieldOffset(8)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C tagName; + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(12)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(24)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C text; + + [FieldOffset(36)] + internal global::System.IntPtr definition; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17HTMLEndTagCommentC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST14MacroExpansionC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17HTMLEndTagCommentC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST14MacroExpansionC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17HTMLEndTagCommentD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST14MacroExpansionD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.HTMLEndTagComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.MacroExpansion __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.HTMLEndTagComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.MacroExpansion(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.HTMLEndTagComment __CreateInstance(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.MacroExpansion __CreateInstance(global::CppSharp.Parser.AST.MacroExpansion.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.HTMLEndTagComment(native, skipVTables); + return new global::CppSharp.Parser.AST.MacroExpansion(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.MacroExpansion.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); - global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); + global::CppSharp.Parser.AST.MacroExpansion.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private HTMLEndTagComment(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal native, bool skipVTables = false) + private MacroExpansion(global::CppSharp.Parser.AST.MacroExpansion.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected HTMLEndTagComment(void* native, bool skipVTables = false) + protected MacroExpansion(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -16691,19 +16814,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public HTMLEndTagComment() + public MacroExpansion() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public HTMLEndTagComment(global::CppSharp.Parser.AST.HTMLEndTagComment _0) + public MacroExpansion(global::CppSharp.Parser.AST.MacroExpansion _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -16716,7 +16839,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Comment __dummy; + global::CppSharp.Parser.AST.PreprocessedEntity __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -16725,11 +16848,11 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public string TagName + public string Name { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal*) __Instance)->tagName)); + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->name)); var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); __basicStringRet0.Dispose(false); return __stringRet0; @@ -16737,66 +16860,216 @@ namespace CppSharp set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal*)__Instance)->tagName), value); + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*)__Instance)->name), value); + } + } + + public string Text + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->text)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*)__Instance)->text), value); + } + } + + public global::CppSharp.Parser.AST.MacroDefinition Definition + { + get + { + global::CppSharp.Parser.AST.MacroDefinition __result0; + if (((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition)) + __result0 = (global::CppSharp.Parser.AST.MacroDefinition) global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap[((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition]; + else __result0 = global::CppSharp.Parser.AST.MacroDefinition.__CreateInstance(((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.MacroExpansion.__Internal*)__Instance)->definition = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class TextComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable + public unsafe partial class TranslationUnit : global::CppSharp.Parser.AST.Namespace, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 20)] + [StructLayout(LayoutKind.Explicit, Size = 260)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal byte hasTrailingNewline; + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C text; + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(12)] + internal global::System.IntPtr _namespace; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(20)] + internal int lineNumberStart; + + [FieldOffset(24)] + internal int lineNumberEnd; + + [FieldOffset(28)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(52)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(64)] + internal byte isIncomplete; + + [FieldOffset(65)] + internal byte isDependent; + + [FieldOffset(66)] + internal byte isImplicit; + + [FieldOffset(67)] + internal byte isInvalid; + + [FieldOffset(68)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(72)] + internal uint definitionOrder; + + [FieldOffset(76)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(88)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(100)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(104)] + internal global::System.IntPtr comment; + + [FieldOffset(108)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; + + [FieldOffset(120)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; + + [FieldOffset(132)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; + + [FieldOffset(144)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; + + [FieldOffset(156)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; + + [FieldOffset(168)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; + + [FieldOffset(180)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; + + [FieldOffset(192)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; + + [FieldOffset(204)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; + + [FieldOffset(216)] + internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; + + [FieldOffset(228)] + internal byte isAnonymous; + + [FieldOffset(229)] + internal byte isInline; + + [FieldOffset(232)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C fileName; + + [FieldOffset(244)] + internal byte isSystemHeader; + + [FieldOffset(248)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_MacroDefinition___N_std_N___1_S_allocator__S0_ Macros; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TextCommentC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnitC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TextCommentC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnitC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TextCommentD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnitD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnit9getMacrosEj")] + internal static extern global::System.IntPtr GetMacros(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnit9addMacrosERPNS1_15MacroDefinitionE")] + internal static extern void AddMacros(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnit11clearMacrosEv")] + internal static extern void ClearMacros(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnit14getMacrosCountEv")] + internal static extern uint GetMacrosCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.TextComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TranslationUnit __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TextComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TranslationUnit(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TextComment __CreateInstance(global::CppSharp.Parser.AST.TextComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TranslationUnit __CreateInstance(global::CppSharp.Parser.AST.TranslationUnit.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TextComment(native, skipVTables); + return new global::CppSharp.Parser.AST.TranslationUnit(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TextComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TranslationUnit.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); - global::CppSharp.Parser.AST.TextComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); + global::CppSharp.Parser.AST.TranslationUnit.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TextComment(global::CppSharp.Parser.AST.TextComment.__Internal native, bool skipVTables = false) + private TranslationUnit(global::CppSharp.Parser.AST.TranslationUnit.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TextComment(void* native, bool skipVTables = false) + protected TranslationUnit(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -16805,19 +17078,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TextComment() + public TranslationUnit() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TextComment(global::CppSharp.Parser.AST.TextComment _0) + public TranslationUnit(global::CppSharp.Parser.AST.TranslationUnit _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -16830,7 +17103,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Comment __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -16839,106 +17112,168 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public string Text + public global::CppSharp.Parser.AST.MacroDefinition GetMacros(uint i) + { + var __ret = __Internal.GetMacros((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.MacroDefinition __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.MacroDefinition) global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.MacroDefinition.__CreateInstance(__ret); + return __result0; + } + + public void AddMacros(global::CppSharp.Parser.AST.MacroDefinition s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddMacros((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearMacros() + { + __Internal.ClearMacros((__Instance + __PointerAdjustment)); + } + + public string FileName { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TextComment.__Internal*) __Instance)->text)); + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TranslationUnit.__Internal*) __Instance)->fileName)); var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); __basicStringRet0.Dispose(false); return __stringRet0; } - set + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TranslationUnit.__Internal*)__Instance)->fileName), value); + } + } + + public bool IsSystemHeader + { + get + { + return ((global::CppSharp.Parser.AST.TranslationUnit.__Internal*) __Instance)->isSystemHeader != 0; + } + + set + { + ((global::CppSharp.Parser.AST.TranslationUnit.__Internal*)__Instance)->isSystemHeader = (byte) (value ? 1 : 0); + } + } + + public uint MacrosCount + { + get { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TextComment.__Internal*)__Instance)->text), value); + var __ret = __Internal.GetMacrosCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class RawComment : IDisposable + public unsafe partial class ASTContext : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.RawCommentKind kind; - - [FieldOffset(4)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C text; - - [FieldOffset(16)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C briefText; - - [FieldOffset(28)] - internal global::System.IntPtr fullCommentBlock; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TranslationUnit___N_std_N___1_S_allocator__S0_ TranslationUnits; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10RawCommentC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContextC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10RawCommentC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContextC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10RawCommentD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContextD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext18FindOrCreateModuleENSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE")] + internal static extern global::System.IntPtr FindOrCreateModule(global::System.IntPtr __instance, global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C File); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext19getTranslationUnitsEj")] + internal static extern global::System.IntPtr GetTranslationUnits(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext19addTranslationUnitsERPNS1_15TranslationUnitE")] + internal static extern void AddTranslationUnits(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext21clearTranslationUnitsEv")] + internal static extern void ClearTranslationUnits(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext24getTranslationUnitsCountEv")] + internal static extern uint GetTranslationUnitsCount(global::System.IntPtr __instance); } public global::System.IntPtr __Instance { get; protected set; } protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); protected internal void*[] __OriginalVTables; protected bool __ownsNativeInstance; - internal static global::CppSharp.Parser.AST.RawComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.ASTContext __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.RawComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.ASTContext(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.RawComment __CreateInstance(global::CppSharp.Parser.AST.RawComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.ASTContext __CreateInstance(global::CppSharp.Parser.AST.ASTContext.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.RawComment(native, skipVTables); + return new global::CppSharp.Parser.AST.ASTContext(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.RawComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ASTContext.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); - global::CppSharp.Parser.AST.RawComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); + global::CppSharp.Parser.AST.ASTContext.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private RawComment(global::CppSharp.Parser.AST.RawComment.__Internal native, bool skipVTables = false) + private ASTContext(global::CppSharp.Parser.AST.ASTContext.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected RawComment(void* native, bool skipVTables = false) + protected ASTContext(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public RawComment() + public ASTContext() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public RawComment(global::CppSharp.Parser.AST.RawComment _0) + public ASTContext(global::CppSharp.Parser.AST.ASTContext _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -16956,7 +17291,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.RawComment __dummy; + global::CppSharp.Parser.AST.ASTContext __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -16965,66 +17300,51 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.RawCommentKind Kind + public global::CppSharp.Parser.AST.TranslationUnit FindOrCreateModule(string File) { - get - { - return ((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->kind; - } - - set - { - ((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->kind = value; - } + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, File); + var __arg0 = *(global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C*) __basicString0.__Instance; + var __ret = __Internal.FindOrCreateModule((__Instance + __PointerAdjustment), __arg0); + __basicString0.Dispose(false); + global::CppSharp.Parser.AST.TranslationUnit __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.TranslationUnit) global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.TranslationUnit.__CreateInstance(__ret); + return __result0; } - public string Text + public global::CppSharp.Parser.AST.TranslationUnit GetTranslationUnits(uint i) { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->text)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->text), value); - } + var __ret = __Internal.GetTranslationUnits((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.TranslationUnit __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.TranslationUnit) global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.TranslationUnit.__CreateInstance(__ret); + return __result0; } - public string BriefText + public void AddTranslationUnits(global::CppSharp.Parser.AST.TranslationUnit s) { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->briefText)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddTranslationUnits((__Instance + __PointerAdjustment), __arg0); + } - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->briefText), value); - } + public void ClearTranslationUnits() + { + __Internal.ClearTranslationUnits((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.FullComment FullCommentBlock + public uint TranslationUnitsCount { get { - global::CppSharp.Parser.AST.FullComment __result0; - if (((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.FullComment.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock)) - __result0 = (global::CppSharp.Parser.AST.FullComment) global::CppSharp.Parser.AST.FullComment.NativeToManagedMap[((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock]; - else __result0 = global::CppSharp.Parser.AST.FullComment.__CreateInstance(((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->fullCommentBlock = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + var __ret = __Internal.GetTranslationUnitsCount((__Instance + __PointerAdjustment)); + return __ret; } } } @@ -17032,99 +17352,6 @@ namespace CppSharp } } -namespace CppSharp -{ - namespace Parser - { - public unsafe partial struct SourceLocation - { - [StructLayout(LayoutKind.Explicit, Size = 4)] - public partial struct __Internal - { - [FieldOffset(0)] - internal uint ID; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser14SourceLocationC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser14SourceLocationC2Ej")] - internal static extern void ctor(global::System.IntPtr __instance, uint ID); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser14SourceLocationC2ERKS1_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - } - - private SourceLocation.__Internal __instance; - internal SourceLocation.__Internal __Instance { get { return __instance; } } - - internal static global::CppSharp.Parser.SourceLocation __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.SourceLocation(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.SourceLocation __CreateInstance(global::CppSharp.Parser.SourceLocation.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.SourceLocation(native, skipVTables); - } - - private SourceLocation(global::CppSharp.Parser.SourceLocation.__Internal native, bool skipVTables = false) - : this() - { - __instance = native; - } - - private SourceLocation(void* native, bool skipVTables = false) : this() - { - __instance = *(global::CppSharp.Parser.SourceLocation.__Internal*) native; - } - - public SourceLocation(uint ID) - : this() - { - fixed (__Internal* __instancePtr = &__instance) - { - __Internal.ctor(new global::System.IntPtr(__instancePtr), ID); - } - } - - public SourceLocation(global::CppSharp.Parser.SourceLocation _0) - : this() - { - var ____arg0 = _0.__Instance; - var __arg0 = new global::System.IntPtr(&____arg0); - fixed (__Internal* __instancePtr = &__instance) - { - __Internal.cctor(new global::System.IntPtr(__instancePtr), __arg0); - } - } - - public static implicit operator global::CppSharp.Parser.SourceLocation(uint ID) - { - return new global::CppSharp.Parser.SourceLocation(ID); - } - - public uint ID - { - get - { - return __instance.ID; - } - - set - { - __instance.ID = value; - } - } - } - } -} - namespace CppSharp { namespace Parser diff --git a/src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/Std.cs b/src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/Std.cs index 972e88e1..97f7211b 100644 --- a/src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/Std.cs +++ b/src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/Std.cs @@ -585,7 +585,7 @@ namespace Std } [StructLayout(LayoutKind.Explicit, Size = 12)] - public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expression___N_std_N___1_S_allocator__S0_ + public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_ExpressionObsolete___N_std_N___1_S_allocator__S0_ { [FieldOffset(0)] internal global::System.IntPtr __begin_; diff --git a/src/CppParser/Bindings/CSharp/i686-pc-win32-msvc/CppSharp.CppParser.cs b/src/CppParser/Bindings/CSharp/i686-pc-win32-msvc/CppSharp.CppParser.cs index 0454fe1f..90967fcd 100644 --- a/src/CppParser/Bindings/CSharp/i686-pc-win32-msvc/CppSharp.CppParser.cs +++ b/src/CppParser/Bindings/CSharp/i686-pc-win32-msvc/CppSharp.CppParser.cs @@ -17,79 +17,6 @@ namespace CppSharp { namespace AST { - public enum TypeKind - { - Tag = 0, - Array = 1, - Function = 2, - Pointer = 3, - MemberPointer = 4, - Typedef = 5, - Attributed = 6, - Decayed = 7, - TemplateSpecialization = 8, - DependentTemplateSpecialization = 9, - TemplateParameter = 10, - TemplateParameterSubstitution = 11, - InjectedClassName = 12, - DependentName = 13, - PackExpansion = 14, - Builtin = 15, - UnaryTransform = 16, - Vector = 17 - } - - public enum DeclarationKind - { - DeclarationContext = 0, - Typedef = 1, - TypeAlias = 2, - Parameter = 3, - Function = 4, - Method = 5, - Enumeration = 6, - EnumerationItem = 7, - Variable = 8, - Field = 9, - AccessSpecifier = 10, - Class = 11, - Template = 12, - TypeAliasTemplate = 13, - ClassTemplate = 14, - ClassTemplateSpecialization = 15, - ClassTemplatePartialSpecialization = 16, - FunctionTemplate = 17, - Namespace = 18, - PreprocessedEntity = 19, - MacroDefinition = 20, - MacroExpansion = 21, - TranslationUnit = 22, - Friend = 23, - TemplateTemplateParm = 24, - TemplateTypeParm = 25, - NonTypeTemplateParm = 26, - VarTemplate = 27, - VarTemplateSpecialization = 28, - VarTemplatePartialSpecialization = 29 - } - - public enum AccessSpecifier - { - Private = 0, - Protected = 1, - Public = 2 - } - - public enum MacroLocation - { - Unknown = 0, - ClassHead = 1, - ClassBody = 2, - FunctionHead = 3, - FunctionParameters = 4, - FunctionBody = 5 - } - public enum RawCommentKind { Invalid = 0, @@ -121,176 +48,6 @@ namespace CppSharp VerbatimBlockLineComment = 14 } - public enum FriendKind - { - None = 0, - Declared = 1, - Undeclared = 2 - } - - public enum CXXOperatorKind - { - None = 0, - New = 1, - Delete = 2, - ArrayNew = 3, - ArrayDelete = 4, - Plus = 5, - Minus = 6, - Star = 7, - Slash = 8, - Percent = 9, - Caret = 10, - Amp = 11, - Pipe = 12, - Tilde = 13, - Exclaim = 14, - Equal = 15, - Less = 16, - Greater = 17, - PlusEqual = 18, - MinusEqual = 19, - StarEqual = 20, - SlashEqual = 21, - PercentEqual = 22, - CaretEqual = 23, - AmpEqual = 24, - PipeEqual = 25, - LessLess = 26, - GreaterGreater = 27, - LessLessEqual = 28, - GreaterGreaterEqual = 29, - EqualEqual = 30, - ExclaimEqual = 31, - LessEqual = 32, - GreaterEqual = 33, - Spaceship = 34, - AmpAmp = 35, - PipePipe = 36, - PlusPlus = 37, - MinusMinus = 38, - Comma = 39, - ArrowStar = 40, - Arrow = 41, - Call = 42, - Subscript = 43, - Conditional = 44, - Coawait = 45 - } - - public enum CallingConvention - { - Default = 0, - C = 1, - StdCall = 2, - ThisCall = 3, - FastCall = 4, - Unknown = 5 - } - - public enum StatementClass - { - Any = 0, - BinaryOperator = 1, - CallExprClass = 2, - DeclRefExprClass = 3, - CXXConstructExprClass = 4, - CXXOperatorCallExpr = 5, - ImplicitCastExpr = 6, - ExplicitCastExpr = 7 - } - - public enum TemplateSpecializationKind - { - Undeclared = 0, - ImplicitInstantiation = 1, - ExplicitSpecialization = 2, - ExplicitInstantiationDeclaration = 3, - ExplicitInstantiationDefinition = 4 - } - - public enum CXXMethodKind - { - Normal = 0, - Constructor = 1, - Destructor = 2, - Conversion = 3, - Operator = 4, - UsingDirective = 5 - } - - public enum RefQualifierKind - { - None = 0, - LValue = 1, - RValue = 2 - } - - public enum CppAbi - { - Itanium = 0, - Microsoft = 1, - ARM = 2, - iOS = 3, - iOS64 = 4 - } - - public enum VTableComponentKind - { - VCallOffset = 0, - VBaseOffset = 1, - OffsetToTop = 2, - RTTI = 3, - FunctionPointer = 4, - CompleteDtorPointer = 5, - DeletingDtorPointer = 6, - UnusedFunctionPointer = 7 - } - - public enum PrimitiveType - { - Null = 0, - Void = 1, - Bool = 2, - WideChar = 3, - Char = 4, - SChar = 5, - UChar = 6, - Char16 = 7, - Char32 = 8, - Short = 9, - UShort = 10, - Int = 11, - UInt = 12, - Long = 13, - ULong = 14, - LongLong = 15, - ULongLong = 16, - Int128 = 17, - UInt128 = 18, - Half = 19, - Float = 20, - Double = 21, - LongDouble = 22, - Float128 = 23, - IntPtr = 24 - } - - public enum ExceptionSpecType - { - None = 0, - DynamicNone = 1, - Dynamic = 2, - MSAny = 3, - BasicNoexcept = 4, - DependentNoexcept = 5, - NoexceptFalse = 6, - NoexceptTrue = 7, - Unevaluated = 8, - Uninstantiated = 9, - Unparsed = 10 - } - public enum ArchType { UnknownArch = 0, @@ -298,78 +55,129 @@ namespace CppSharp X86_64 = 2 } - public unsafe partial class Type : IDisposable + public unsafe partial class NativeLibrary : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 52)] public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C fileName; - [FieldOffset(4)] - internal byte isDependent; + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.ArchType archType; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Type@AST@CppParser@CppSharp@@QAE@W4TypeKind@123@@Z")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.TypeKind kind); + [FieldOffset(28)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C___N_std_S_allocator__S0_ Symbols; + + [FieldOffset(40)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C___N_std_S_allocator__S0_ Dependencies; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Type@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0NativeLibrary@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0NativeLibrary@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??1NativeLibrary@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getSymbols@NativeLibrary@AST@CppParser@CppSharp@@QAEPBDI@Z")] + internal static extern global::System.IntPtr GetSymbols(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?addSymbols@NativeLibrary@AST@CppParser@CppSharp@@QAEXPBD@Z")] + internal static extern void AddSymbols(global::System.IntPtr __instance, [MarshalAs(UnmanagedType.LPStr)] string s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?clearSymbols@NativeLibrary@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearSymbols(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getDependencies@NativeLibrary@AST@CppParser@CppSharp@@QAEPBDI@Z")] + internal static extern global::System.IntPtr GetDependencies(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?addDependencies@NativeLibrary@AST@CppParser@CppSharp@@QAEXPBD@Z")] + internal static extern void AddDependencies(global::System.IntPtr __instance, [MarshalAs(UnmanagedType.LPStr)] string s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?clearDependencies@NativeLibrary@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearDependencies(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getSymbolsCount@NativeLibrary@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetSymbolsCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getDependenciesCount@NativeLibrary@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetDependenciesCount(global::System.IntPtr __instance); } public global::System.IntPtr __Instance { get; protected set; } protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); protected internal void*[] __OriginalVTables; protected bool __ownsNativeInstance; - internal static global::CppSharp.Parser.AST.Type __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.NativeLibrary __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Type(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.NativeLibrary(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Type __CreateInstance(global::CppSharp.Parser.AST.Type.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.NativeLibrary __CreateInstance(global::CppSharp.Parser.AST.NativeLibrary.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Type(native, skipVTables); + return new global::CppSharp.Parser.AST.NativeLibrary(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Type.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.NativeLibrary.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Type.__Internal)); - global::CppSharp.Parser.AST.Type.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); + global::CppSharp.Parser.AST.NativeLibrary.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Type(global::CppSharp.Parser.AST.Type.__Internal native, bool skipVTables = false) + private NativeLibrary(global::CppSharp.Parser.AST.NativeLibrary.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Type(void* native, bool skipVTables = false) + protected NativeLibrary(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public Type(global::CppSharp.Parser.AST.TypeKind kind) + public NativeLibrary() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Type.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), kind); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public Type(global::CppSharp.Parser.AST.Type _0) + public NativeLibrary(global::CppSharp.Parser.AST.NativeLibrary _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Type.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -387,117 +195,167 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Type __dummy; + global::CppSharp.Parser.AST.NativeLibrary __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - public static implicit operator global::CppSharp.Parser.AST.Type(global::CppSharp.Parser.AST.TypeKind kind) + public string GetSymbols(uint i) { - return new global::CppSharp.Parser.AST.Type(kind); + var __ret = __Internal.GetSymbols((__Instance + __PointerAdjustment), i); + return Marshal.PtrToStringAnsi(__ret); } - public global::CppSharp.Parser.AST.TypeKind Kind + public void AddSymbols(string s) + { + __Internal.AddSymbols((__Instance + __PointerAdjustment), s); + } + + public void ClearSymbols() + { + __Internal.ClearSymbols((__Instance + __PointerAdjustment)); + } + + public string GetDependencies(uint i) + { + var __ret = __Internal.GetDependencies((__Instance + __PointerAdjustment), i); + return Marshal.PtrToStringAnsi(__ret); + } + + public void AddDependencies(string s) + { + __Internal.AddDependencies((__Instance + __PointerAdjustment), s); + } + + public void ClearDependencies() + { + __Internal.ClearDependencies((__Instance + __PointerAdjustment)); + } + + public string FileName { get { - return ((global::CppSharp.Parser.AST.Type.__Internal*) __Instance)->kind; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.NativeLibrary.__Internal*) __Instance)->fileName)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.Type.__Internal*)__Instance)->kind = value; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.NativeLibrary.__Internal*)__Instance)->fileName), value); } } - public bool IsDependent + public global::CppSharp.Parser.AST.ArchType ArchType { get { - return ((global::CppSharp.Parser.AST.Type.__Internal*) __Instance)->isDependent != 0; + return ((global::CppSharp.Parser.AST.NativeLibrary.__Internal*) __Instance)->archType; } set { - ((global::CppSharp.Parser.AST.Type.__Internal*)__Instance)->isDependent = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.NativeLibrary.__Internal*)__Instance)->archType = value; + } + } + + public uint SymbolsCount + { + get + { + var __ret = __Internal.GetSymbolsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public uint DependenciesCount + { + get + { + var __ret = __Internal.GetDependenciesCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class TypeQualifiers : IDisposable + public unsafe partial class Comment : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 3)] + [StructLayout(LayoutKind.Explicit, Size = 4)] public partial struct __Internal { [FieldOffset(0)] - internal byte isConst; - - [FieldOffset(1)] - internal byte isVolatile; + internal global::CppSharp.Parser.AST.CommentKind kind; - [FieldOffset(2)] - internal byte isRestrict; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0Comment@AST@CppParser@CppSharp@@QAE@W4CommentKind@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.CommentKind kind); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TypeQualifiers@AST@CppParser@CppSharp@@QAE@ABU0123@@Z")] + EntryPoint="??0Comment@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); } public global::System.IntPtr __Instance { get; protected set; } protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); protected internal void*[] __OriginalVTables; protected bool __ownsNativeInstance; - internal static global::CppSharp.Parser.AST.TypeQualifiers __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Comment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypeQualifiers(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Comment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TypeQualifiers __CreateInstance(global::CppSharp.Parser.AST.TypeQualifiers.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Comment __CreateInstance(global::CppSharp.Parser.AST.Comment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypeQualifiers(native, skipVTables); + return new global::CppSharp.Parser.AST.Comment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypeQualifiers.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Comment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeQualifiers.__Internal)); - *(global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) ret = native; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); + *(global::CppSharp.Parser.AST.Comment.__Internal*) ret = native; return ret.ToPointer(); } - private TypeQualifiers(global::CppSharp.Parser.AST.TypeQualifiers.__Internal native, bool skipVTables = false) + private Comment(global::CppSharp.Parser.AST.Comment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TypeQualifiers(void* native, bool skipVTables = false) + protected Comment(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public TypeQualifiers(global::CppSharp.Parser.AST.TypeQualifiers _0) + public Comment(global::CppSharp.Parser.AST.CommentKind kind) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeQualifiers.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) _0.__Instance); + __Internal.ctor((__Instance + __PointerAdjustment), kind); } - public TypeQualifiers() + public Comment(global::CppSharp.Parser.AST.Comment _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeQualifiers.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.Comment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.Comment.__Internal*) _0.__Instance); } public void Dispose() @@ -509,228 +367,194 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.TypeQualifiers __dummy; + global::CppSharp.Parser.AST.Comment __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - public bool IsConst - { - get - { - return ((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) __Instance)->isConst != 0; - } - - set - { - ((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*)__Instance)->isConst = (byte) (value ? 1 : 0); - } - } - - public bool IsVolatile + public static implicit operator global::CppSharp.Parser.AST.Comment(global::CppSharp.Parser.AST.CommentKind kind) { - get - { - return ((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) __Instance)->isVolatile != 0; - } - - set - { - ((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*)__Instance)->isVolatile = (byte) (value ? 1 : 0); - } + return new global::CppSharp.Parser.AST.Comment(kind); } - public bool IsRestrict + public global::CppSharp.Parser.AST.CommentKind Kind { get { - return ((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) __Instance)->isRestrict != 0; + return ((global::CppSharp.Parser.AST.Comment.__Internal*) __Instance)->kind; } set { - ((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*)__Instance)->isRestrict = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Comment.__Internal*)__Instance)->kind = value; } } } - public unsafe partial class QualifiedType : IDisposable + public unsafe partial class BlockContentComment : global::CppSharp.Parser.AST.Comment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 8)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 4)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::System.IntPtr type; - - [FieldOffset(4)] - internal global::CppSharp.Parser.AST.TypeQualifiers.__Internal qualifiers; + internal global::CppSharp.Parser.AST.CommentKind kind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0QualifiedType@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0BlockContentComment@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0QualifiedType@AST@CppParser@CppSharp@@QAE@ABU0123@@Z")] + EntryPoint="??0BlockContentComment@AST@CppParser@CppSharp@@QAE@W4CommentKind@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.CommentKind Kind); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0BlockContentComment@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); } - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.QualifiedType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.BlockContentComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.QualifiedType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.BlockContentComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.QualifiedType __CreateInstance(global::CppSharp.Parser.AST.QualifiedType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.BlockContentComment __CreateInstance(global::CppSharp.Parser.AST.BlockContentComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.QualifiedType(native, skipVTables); + return new global::CppSharp.Parser.AST.BlockContentComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.QualifiedType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.BlockContentComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.QualifiedType.__Internal)); - *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) ret = native; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); + *(global::CppSharp.Parser.AST.BlockContentComment.__Internal*) ret = native; return ret.ToPointer(); } - private QualifiedType(global::CppSharp.Parser.AST.QualifiedType.__Internal native, bool skipVTables = false) + private BlockContentComment(global::CppSharp.Parser.AST.BlockContentComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected QualifiedType(void* native, bool skipVTables = false) + protected BlockContentComment(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public QualifiedType() + public BlockContentComment() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.QualifiedType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public QualifiedType(global::CppSharp.Parser.AST.QualifiedType _0) + public BlockContentComment(global::CppSharp.Parser.AST.CommentKind Kind) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.QualifiedType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.QualifiedType.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.QualifiedType.__Internal*) _0.__Instance); - } - - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.QualifiedType __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + __Internal.ctor((__Instance + __PointerAdjustment), Kind); } - public global::CppSharp.Parser.AST.Type Type + public BlockContentComment(global::CppSharp.Parser.AST.BlockContentComment _0) + : this((void*) null) { - get - { - global::CppSharp.Parser.AST.Type __result0; - if (((global::CppSharp.Parser.AST.QualifiedType.__Internal*) __Instance)->type == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.QualifiedType.__Internal*) __Instance)->type)) - __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((global::CppSharp.Parser.AST.QualifiedType.__Internal*) __Instance)->type]; - else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((global::CppSharp.Parser.AST.QualifiedType.__Internal*) __Instance)->type); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.QualifiedType.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.BlockContentComment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BlockContentComment.__Internal*) _0.__Instance); } - public global::CppSharp.Parser.AST.TypeQualifiers Qualifiers + public static implicit operator global::CppSharp.Parser.AST.BlockContentComment(global::CppSharp.Parser.AST.CommentKind Kind) { - get - { - return global::CppSharp.Parser.AST.TypeQualifiers.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.QualifiedType.__Internal*) __Instance)->qualifiers)); - } - - set - { - ((global::CppSharp.Parser.AST.QualifiedType.__Internal*)__Instance)->qualifiers = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.TypeQualifiers.__Internal() : *(global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) value.__Instance; - } + return new global::CppSharp.Parser.AST.BlockContentComment(Kind); } } - public unsafe partial class TagType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class FullComment : global::CppSharp.Parser.AST.Comment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 12)] + [StructLayout(LayoutKind.Explicit, Size = 16)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(4)] - internal byte isDependent; - - [FieldOffset(8)] - internal global::System.IntPtr declaration; + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BlockContentComment___N_std_S_allocator__S0_ Blocks; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TagType@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0FullComment@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TagType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0FullComment@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??1FullComment@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getBlocks@FullComment@AST@CppParser@CppSharp@@QAEPAVBlockContentComment@234@I@Z")] + internal static extern global::System.IntPtr GetBlocks(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?addBlocks@FullComment@AST@CppParser@CppSharp@@QAEXAAPAVBlockContentComment@234@@Z")] + internal static extern void AddBlocks(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?clearBlocks@FullComment@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearBlocks(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getBlocksCount@FullComment@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetBlocksCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.TagType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.FullComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TagType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.FullComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TagType __CreateInstance(global::CppSharp.Parser.AST.TagType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.FullComment __CreateInstance(global::CppSharp.Parser.AST.FullComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TagType(native, skipVTables); + return new global::CppSharp.Parser.AST.FullComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TagType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.FullComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); - global::CppSharp.Parser.AST.TagType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); + global::CppSharp.Parser.AST.FullComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TagType(global::CppSharp.Parser.AST.TagType.__Internal native, bool skipVTables = false) + private FullComment(global::CppSharp.Parser.AST.FullComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TagType(void* native, bool skipVTables = false) + protected FullComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -739,19 +563,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TagType() + public FullComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TagType(global::CppSharp.Parser.AST.TagType _0) + public FullComment(global::CppSharp.Parser.AST.FullComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -760,92 +584,105 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.Declaration Declaration + public override void Dispose(bool disposing) { - get - { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration); - return __result0; - } + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Comment __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } - set + public global::CppSharp.Parser.AST.BlockContentComment GetBlocks(uint i) + { + var __ret = __Internal.GetBlocks((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.BlockContentComment __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.BlockContentComment.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.BlockContentComment) global::CppSharp.Parser.AST.BlockContentComment.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.BlockContentComment.__CreateInstance(__ret); + return __result0; + } + + public void AddBlocks(global::CppSharp.Parser.AST.BlockContentComment s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddBlocks((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearBlocks() + { + __Internal.ClearBlocks((__Instance + __PointerAdjustment)); + } + + public uint BlocksCount + { + get { - ((global::CppSharp.Parser.AST.TagType.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + var __ret = __Internal.GetBlocksCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class ArrayType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class InlineContentComment : global::CppSharp.Parser.AST.Comment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 28)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(4)] - internal byte isDependent; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - - [FieldOffset(16)] - internal global::CppSharp.Parser.AST.ArrayType.ArraySize sizeType; - - [FieldOffset(20)] - internal int size; - - [FieldOffset(24)] - internal int elementSize; + internal byte hasTrailingNewline; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0ArrayType@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0InlineContentComment@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0ArrayType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0InlineContentComment@AST@CppParser@CppSharp@@QAE@W4CommentKind@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.CommentKind Kind); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0InlineContentComment@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); } - public enum ArraySize + internal static new global::CppSharp.Parser.AST.InlineContentComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - Constant = 0, - Variable = 1, - Dependent = 2, - Incomplete = 3 + return new global::CppSharp.Parser.AST.InlineContentComment(native.ToPointer(), skipVTables); } - internal static new global::CppSharp.Parser.AST.ArrayType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.InlineContentComment __CreateInstance(global::CppSharp.Parser.AST.InlineContentComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ArrayType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.InlineContentComment(native, skipVTables); } - internal static global::CppSharp.Parser.AST.ArrayType __CreateInstance(global::CppSharp.Parser.AST.ArrayType.__Internal native, bool skipVTables = false) + private static void* __CopyValue(global::CppSharp.Parser.AST.InlineContentComment.__Internal native) { - return new global::CppSharp.Parser.AST.ArrayType(native, skipVTables); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal)); + *(global::CppSharp.Parser.AST.InlineContentComment.__Internal*) ret = native; + return ret.ToPointer(); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ArrayType.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); - global::CppSharp.Parser.AST.ArrayType.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private ArrayType(global::CppSharp.Parser.AST.ArrayType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + private InlineContentComment(global::CppSharp.Parser.AST.InlineContentComment.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected ArrayType(void* native, bool skipVTables = false) + protected InlineContentComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -854,164 +691,127 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public ArrayType() + public InlineContentComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public ArrayType(global::CppSharp.Parser.AST.ArrayType _0) + public InlineContentComment(global::CppSharp.Parser.AST.CommentKind Kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } - - public global::CppSharp.Parser.AST.QualifiedType QualifiedType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->qualifiedType)); - } - - set - { - ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } + __Internal.ctor((__Instance + __PointerAdjustment), Kind); } - public global::CppSharp.Parser.AST.ArrayType.ArraySize SizeType + public InlineContentComment(global::CppSharp.Parser.AST.InlineContentComment _0) + : this((void*) null) { - get - { - return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->sizeType; - } - - set - { - ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->sizeType = value; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.InlineContentComment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.InlineContentComment.__Internal*) _0.__Instance); } - public int Size + public static implicit operator global::CppSharp.Parser.AST.InlineContentComment(global::CppSharp.Parser.AST.CommentKind Kind) { - get - { - return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->size; - } - - set - { - ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->size = value; - } + return new global::CppSharp.Parser.AST.InlineContentComment(Kind); } - public int ElementSize + public bool HasTrailingNewline { get { - return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->elementSize; + return ((global::CppSharp.Parser.AST.InlineContentComment.__Internal*) __Instance)->hasTrailingNewline != 0; } set { - ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->elementSize = value; + ((global::CppSharp.Parser.AST.InlineContentComment.__Internal*)__Instance)->hasTrailingNewline = (byte) (value ? 1 : 0); } } } - public unsafe partial class FunctionType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class ParagraphComment : global::CppSharp.Parser.AST.BlockContentComment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 36)] + [StructLayout(LayoutKind.Explicit, Size = 20)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(4)] - internal byte isDependent; + internal byte isWhitespace; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; - - [FieldOffset(16)] - internal global::CppSharp.Parser.AST.CallingConvention callingConvention; - - [FieldOffset(20)] - internal global::CppSharp.Parser.AST.ExceptionSpecType exceptionSpecType; - - [FieldOffset(24)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_S_allocator__S0_ Parameters; + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_InlineContentComment___N_std_S_allocator__S0_ Content; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0FunctionType@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0ParagraphComment@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0FunctionType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0ParagraphComment@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1FunctionType@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??1ParagraphComment@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor(global::System.IntPtr __instance, int delete); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getParameters@FunctionType@AST@CppParser@CppSharp@@QAEPAVParameter@234@I@Z")] - internal static extern global::System.IntPtr GetParameters(global::System.IntPtr __instance, uint i); + EntryPoint="?getContent@ParagraphComment@AST@CppParser@CppSharp@@QAEPAVInlineContentComment@234@I@Z")] + internal static extern global::System.IntPtr GetContent(global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addParameters@FunctionType@AST@CppParser@CppSharp@@QAEXAAPAVParameter@234@@Z")] - internal static extern void AddParameters(global::System.IntPtr __instance, global::System.IntPtr s); + EntryPoint="?addContent@ParagraphComment@AST@CppParser@CppSharp@@QAEXAAPAVInlineContentComment@234@@Z")] + internal static extern void AddContent(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearParameters@FunctionType@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearParameters(global::System.IntPtr __instance); + EntryPoint="?clearContent@ParagraphComment@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearContent(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getParametersCount@FunctionType@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetParametersCount(global::System.IntPtr __instance); + EntryPoint="?getContentCount@ParagraphComment@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetContentCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.FunctionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.ParagraphComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FunctionType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.ParagraphComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.FunctionType __CreateInstance(global::CppSharp.Parser.AST.FunctionType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.ParagraphComment __CreateInstance(global::CppSharp.Parser.AST.ParagraphComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FunctionType(native, skipVTables); + return new global::CppSharp.Parser.AST.ParagraphComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ParagraphComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); - global::CppSharp.Parser.AST.FunctionType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParagraphComment.__Internal)); + global::CppSharp.Parser.AST.ParagraphComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private FunctionType(global::CppSharp.Parser.AST.FunctionType.__Internal native, bool skipVTables = false) + private ParagraphComment(global::CppSharp.Parser.AST.ParagraphComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected FunctionType(void* native, bool skipVTables = false) + protected ParagraphComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -1020,19 +820,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public FunctionType() + public ParagraphComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParagraphComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public FunctionType(global::CppSharp.Parser.AST.FunctionType _0) + public ParagraphComment(global::CppSharp.Parser.AST.ParagraphComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParagraphComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -1045,7 +845,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Type __dummy; + global::CppSharp.Parser.AST.Comment __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -1054,246 +854,253 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.Parameter GetParameters(uint i) + public global::CppSharp.Parser.AST.InlineContentComment GetContent(uint i) { - var __ret = __Internal.GetParameters((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Parameter __result0; + var __ret = __Internal.GetContent((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.InlineContentComment __result0; if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Parameter.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Parameter) global::CppSharp.Parser.AST.Parameter.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Parameter.__CreateInstance(__ret); + else if (global::CppSharp.Parser.AST.InlineContentComment.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.InlineContentComment) global::CppSharp.Parser.AST.InlineContentComment.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.InlineContentComment.__CreateInstance(__ret); return __result0; } - public void AddParameters(global::CppSharp.Parser.AST.Parameter s) + public void AddContent(global::CppSharp.Parser.AST.InlineContentComment s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddParameters((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearParameters() - { - __Internal.ClearParameters((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.QualifiedType ReturnType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->returnType)); - } - - set - { - ((global::CppSharp.Parser.AST.FunctionType.__Internal*)__Instance)->returnType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } + __Internal.AddContent((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.CallingConvention CallingConvention + public void ClearContent() { - get - { - return ((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->callingConvention; - } - - set - { - ((global::CppSharp.Parser.AST.FunctionType.__Internal*)__Instance)->callingConvention = value; - } + __Internal.ClearContent((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.ExceptionSpecType ExceptionSpecType + public bool IsWhitespace { get { - return ((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->exceptionSpecType; + return ((global::CppSharp.Parser.AST.ParagraphComment.__Internal*) __Instance)->isWhitespace != 0; } set { - ((global::CppSharp.Parser.AST.FunctionType.__Internal*)__Instance)->exceptionSpecType = value; + ((global::CppSharp.Parser.AST.ParagraphComment.__Internal*)__Instance)->isWhitespace = (byte) (value ? 1 : 0); } } - public uint ParametersCount + public uint ContentCount { get { - var __ret = __Internal.GetParametersCount((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetContentCount((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class PointerType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class BlockCommandComment : global::CppSharp.Parser.AST.BlockContentComment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 20)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(4)] - internal byte isDependent; + internal uint commandId; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedPointee; + internal global::System.IntPtr paragraphComment; - [FieldOffset(16)] - internal global::CppSharp.Parser.AST.PointerType.TypeModifier modifier; + [FieldOffset(12)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_S_allocator__S0_ Arguments; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0PointerType@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0BlockCommandComment@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0PointerType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0BlockCommandComment@AST@CppParser@CppSharp@@QAE@W4CommentKind@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.CommentKind Kind); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0BlockCommandComment@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - } - public enum TypeModifier - { - Value = 0, - Pointer = 1, - LVReference = 2, - RVReference = 3 - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??1BlockCommandComment@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); - internal static new global::CppSharp.Parser.AST.PointerType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.PointerType(native.ToPointer(), skipVTables); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getArguments@BlockCommandComment@AST@CppParser@CppSharp@@QAE?AVArgument@1234@I@Z")] + internal static extern void GetArguments(global::System.IntPtr __instance, global::System.IntPtr @return, uint i); - internal static global::CppSharp.Parser.AST.PointerType __CreateInstance(global::CppSharp.Parser.AST.PointerType.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.PointerType(native, skipVTables); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?addArguments@BlockCommandComment@AST@CppParser@CppSharp@@QAEXAAVArgument@1234@@Z")] + internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); - private static void* __CopyValue(global::CppSharp.Parser.AST.PointerType.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); - global::CppSharp.Parser.AST.PointerType.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?clearArguments@BlockCommandComment@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearArguments(global::System.IntPtr __instance); - private PointerType(global::CppSharp.Parser.AST.PointerType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getArgumentsCount@BlockCommandComment@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); } - protected PointerType(void* native, bool skipVTables = false) - : base((void*) null) + public unsafe partial class Argument : IDisposable { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [StructLayout(LayoutKind.Explicit, Size = 24)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; - public PointerType() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0Argument@BlockCommandComment@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); - public PointerType(global::CppSharp.Parser.AST.PointerType _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0Argument@BlockCommandComment@AST@CppParser@CppSharp@@QAE@ABV01234@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - public global::CppSharp.Parser.AST.QualifiedType QualifiedPointee - { - get + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??1Argument@BlockCommandComment@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.BlockCommandComment.Argument __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->qualifiedPointee)); + return new global::CppSharp.Parser.AST.BlockCommandComment.Argument(native.ToPointer(), skipVTables); } - set + internal static global::CppSharp.Parser.AST.BlockCommandComment.Argument __CreateInstance(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal native, bool skipVTables = false) { - ((global::CppSharp.Parser.AST.PointerType.__Internal*)__Instance)->qualifiedPointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + return new global::CppSharp.Parser.AST.BlockCommandComment.Argument(native, skipVTables); } - } - public global::CppSharp.Parser.AST.PointerType.TypeModifier Modifier - { - get + private static void* __CopyValue(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal native) { - return ((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->modifier; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal)); + global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - set + private Argument(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - ((global::CppSharp.Parser.AST.PointerType.__Internal*)__Instance)->modifier = value; + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; } - } - } - public unsafe partial class MemberPointerType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 16)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + protected Argument(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(4)] - internal byte isDependent; + public Argument() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; + public Argument(global::CppSharp.Parser.AST.BlockCommandComment.Argument _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0MemberPointerType@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + public void Dispose() + { + Dispose(disposing: true); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0MemberPointerType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.BlockCommandComment.Argument __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public string Text + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal*) __Instance)->text)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal*)__Instance)->text), value); + } + } } - internal static new global::CppSharp.Parser.AST.MemberPointerType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.BlockCommandComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.MemberPointerType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.BlockCommandComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.MemberPointerType __CreateInstance(global::CppSharp.Parser.AST.MemberPointerType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.BlockCommandComment __CreateInstance(global::CppSharp.Parser.AST.BlockCommandComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.MemberPointerType(native, skipVTables); + return new global::CppSharp.Parser.AST.BlockCommandComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.MemberPointerType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.BlockCommandComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); - global::CppSharp.Parser.AST.MemberPointerType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__Internal)); + global::CppSharp.Parser.AST.BlockCommandComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType.__Internal native, bool skipVTables = false) + private BlockCommandComment(global::CppSharp.Parser.AST.BlockCommandComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected MemberPointerType(void* native, bool skipVTables = false) + protected BlockCommandComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -1302,19 +1109,28 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public MemberPointerType() + public BlockCommandComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType _0) + public BlockCommandComment(global::CppSharp.Parser.AST.CommentKind Kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), Kind); + } + + public BlockCommandComment(global::CppSharp.Parser.AST.BlockCommandComment _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -1323,171 +1139,156 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Pointee + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Comment __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.BlockCommandComment.Argument GetArguments(uint i) + { + var __ret = new global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal(); + __Internal.GetArguments((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); + return global::CppSharp.Parser.AST.BlockCommandComment.Argument.__CreateInstance(__ret); + } + + public void AddArguments(global::CppSharp.Parser.AST.BlockCommandComment.Argument s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearArguments() + { + __Internal.ClearArguments((__Instance + __PointerAdjustment)); + } + + public static implicit operator global::CppSharp.Parser.AST.BlockCommandComment(global::CppSharp.Parser.AST.CommentKind Kind) + { + return new global::CppSharp.Parser.AST.BlockCommandComment(Kind); + } + + public uint CommandId { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MemberPointerType.__Internal*) __Instance)->pointee)); + return ((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*) __Instance)->commandId; } set { - ((global::CppSharp.Parser.AST.MemberPointerType.__Internal*)__Instance)->pointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*)__Instance)->commandId = value; } } - } - public unsafe partial class TypedefType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 12)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - internal byte isDependent; - - [FieldOffset(8)] - internal global::System.IntPtr declaration; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TypedefType@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TypedefType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - } - - internal static new global::CppSharp.Parser.AST.TypedefType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.TypedefType(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.TypedefType __CreateInstance(global::CppSharp.Parser.AST.TypedefType.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.TypedefType(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefType.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); - global::CppSharp.Parser.AST.TypedefType.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private TypedefType(global::CppSharp.Parser.AST.TypedefType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected TypedefType(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public TypedefType() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } - - public TypedefType(global::CppSharp.Parser.AST.TypedefType _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } - - public global::CppSharp.Parser.AST.TypedefNameDecl Declaration + public global::CppSharp.Parser.AST.ParagraphComment ParagraphComment { get { - global::CppSharp.Parser.AST.TypedefNameDecl __result0; - if (((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TypedefNameDecl.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration)) - __result0 = (global::CppSharp.Parser.AST.TypedefNameDecl) global::CppSharp.Parser.AST.TypedefNameDecl.NativeToManagedMap[((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration]; - else __result0 = global::CppSharp.Parser.AST.TypedefNameDecl.__CreateInstance(((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration); + global::CppSharp.Parser.AST.ParagraphComment __result0; + if (((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*) __Instance)->paragraphComment == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ParagraphComment.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*) __Instance)->paragraphComment)) + __result0 = (global::CppSharp.Parser.AST.ParagraphComment) global::CppSharp.Parser.AST.ParagraphComment.NativeToManagedMap[((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*) __Instance)->paragraphComment]; + else __result0 = global::CppSharp.Parser.AST.ParagraphComment.__CreateInstance(((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*) __Instance)->paragraphComment); return __result0; } set { - ((global::CppSharp.Parser.AST.TypedefType.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*)__Instance)->paragraphComment = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public uint ArgumentsCount + { + get + { + var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class AttributedType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class ParamCommandComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(4)] - internal byte isDependent; + internal uint commandId; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal modified; + internal global::System.IntPtr paragraphComment; - [FieldOffset(16)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal equivalent; + [FieldOffset(12)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_S_allocator__S0_ Arguments; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.ParamCommandComment.PassDirection direction; + + [FieldOffset(28)] + internal uint paramIndex; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0AttributedType@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0ParamCommandComment@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0AttributedType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0ParamCommandComment@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??1ParamCommandComment@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); } - internal static new global::CppSharp.Parser.AST.AttributedType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public enum PassDirection { - return new global::CppSharp.Parser.AST.AttributedType(native.ToPointer(), skipVTables); + In = 0, + Out = 1, + InOut = 2 } - internal static global::CppSharp.Parser.AST.AttributedType __CreateInstance(global::CppSharp.Parser.AST.AttributedType.__Internal native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.ParamCommandComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.AttributedType(native, skipVTables); + return new global::CppSharp.Parser.AST.ParamCommandComment(native.ToPointer(), skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.AttributedType.__Internal native) + internal static global::CppSharp.Parser.AST.ParamCommandComment __CreateInstance(global::CppSharp.Parser.AST.ParamCommandComment.__Internal native, bool skipVTables = false) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); - global::CppSharp.Parser.AST.AttributedType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return new global::CppSharp.Parser.AST.ParamCommandComment(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ParamCommandComment.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParamCommandComment.__Internal)); + global::CppSharp.Parser.AST.ParamCommandComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private AttributedType(global::CppSharp.Parser.AST.AttributedType.__Internal native, bool skipVTables = false) + private ParamCommandComment(global::CppSharp.Parser.AST.ParamCommandComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected AttributedType(void* native, bool skipVTables = false) + protected ParamCommandComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -1496,19 +1297,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public AttributedType() + public ParamCommandComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParamCommandComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public AttributedType(global::CppSharp.Parser.AST.AttributedType _0) + public ParamCommandComment(global::CppSharp.Parser.AST.ParamCommandComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParamCommandComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -1517,89 +1318,127 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Modified + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Comment __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.ParamCommandComment.PassDirection Direction { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.AttributedType.__Internal*) __Instance)->modified)); + return ((global::CppSharp.Parser.AST.ParamCommandComment.__Internal*) __Instance)->direction; } set { - ((global::CppSharp.Parser.AST.AttributedType.__Internal*)__Instance)->modified = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.ParamCommandComment.__Internal*)__Instance)->direction = value; } } - public global::CppSharp.Parser.AST.QualifiedType Equivalent + public uint ParamIndex { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.AttributedType.__Internal*) __Instance)->equivalent)); + return ((global::CppSharp.Parser.AST.ParamCommandComment.__Internal*) __Instance)->paramIndex; } set { - ((global::CppSharp.Parser.AST.AttributedType.__Internal*)__Instance)->equivalent = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.ParamCommandComment.__Internal*)__Instance)->paramIndex = value; } } } - public unsafe partial class DecayedType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class TParamCommandComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 36)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(4)] - internal byte isDependent; + internal uint commandId; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal decayed; + internal global::System.IntPtr paragraphComment; - [FieldOffset(16)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal original; + [FieldOffset(12)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_S_allocator__S0_ Arguments; [FieldOffset(24)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; + internal global::Std.Vector.__Internalc__N_std_S_vector__i___N_std_S_allocator__i Position; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0DecayedType@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0TParamCommandComment@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0DecayedType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0TParamCommandComment@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??1TParamCommandComment@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getPosition@TParamCommandComment@AST@CppParser@CppSharp@@QAEII@Z")] + internal static extern uint GetPosition(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?addPosition@TParamCommandComment@AST@CppParser@CppSharp@@QAEXAAI@Z")] + internal static extern void AddPosition(global::System.IntPtr __instance, uint* s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?clearPosition@TParamCommandComment@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearPosition(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getPositionCount@TParamCommandComment@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetPositionCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.DecayedType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TParamCommandComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.DecayedType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TParamCommandComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.DecayedType __CreateInstance(global::CppSharp.Parser.AST.DecayedType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TParamCommandComment __CreateInstance(global::CppSharp.Parser.AST.TParamCommandComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.DecayedType(native, skipVTables); + return new global::CppSharp.Parser.AST.TParamCommandComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.DecayedType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TParamCommandComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); - global::CppSharp.Parser.AST.DecayedType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TParamCommandComment.__Internal)); + global::CppSharp.Parser.AST.TParamCommandComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private DecayedType(global::CppSharp.Parser.AST.DecayedType.__Internal native, bool skipVTables = false) + private TParamCommandComment(global::CppSharp.Parser.AST.TParamCommandComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected DecayedType(void* native, bool skipVTables = false) + protected TParamCommandComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -1608,19 +1447,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public DecayedType() + public TParamCommandComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TParamCommandComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public DecayedType(global::CppSharp.Parser.AST.DecayedType _0) + public TParamCommandComment(global::CppSharp.Parser.AST.TParamCommandComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TParamCommandComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -1629,296 +1468,241 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Decayed + public override void Dispose(bool disposing) { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->decayed)); - } - - set - { - ((global::CppSharp.Parser.AST.DecayedType.__Internal*)__Instance)->decayed = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Comment __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.QualifiedType Original + public uint GetPosition(uint i) { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->original)); - } + var __ret = __Internal.GetPosition((__Instance + __PointerAdjustment), i); + return __ret; + } - set + public void AddPosition(ref uint s) + { + fixed (uint* __s0 = &s) { - ((global::CppSharp.Parser.AST.DecayedType.__Internal*)__Instance)->original = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + var __arg0 = __s0; + __Internal.AddPosition((__Instance + __PointerAdjustment), __arg0); } } - public global::CppSharp.Parser.AST.QualifiedType Pointee + public void ClearPosition() { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->pointee)); - } + __Internal.ClearPosition((__Instance + __PointerAdjustment)); + } - set + public uint PositionCount + { + get { - ((global::CppSharp.Parser.AST.DecayedType.__Internal*)__Instance)->pointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + var __ret = __Internal.GetPositionCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class TemplateArgument : IDisposable + public unsafe partial class VerbatimBlockLineComment : global::CppSharp.Parser.AST.Comment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 20)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 28)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(4)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; - - [FieldOffset(12)] - internal global::System.IntPtr declaration; - - [FieldOffset(16)] - internal int integral; + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TemplateArgument@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0VerbatimBlockLineComment@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TemplateArgument@AST@CppParser@CppSharp@@QAE@ABU0123@@Z")] + EntryPoint="??0VerbatimBlockLineComment@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(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 + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??1VerbatimBlockLineComment@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); } - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.TemplateArgument __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.VerbatimBlockLineComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateArgument(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.VerbatimBlockLineComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TemplateArgument __CreateInstance(global::CppSharp.Parser.AST.TemplateArgument.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VerbatimBlockLineComment __CreateInstance(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateArgument(native, skipVTables); + return new global::CppSharp.Parser.AST.VerbatimBlockLineComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateArgument.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); - *(global::CppSharp.Parser.AST.TemplateArgument.__Internal*) ret = native; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal)); + global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument.__Internal native, bool skipVTables = false) + private VerbatimBlockLineComment(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TemplateArgument(void* native, bool skipVTables = false) + protected VerbatimBlockLineComment(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public TemplateArgument() + public VerbatimBlockLineComment() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument _0) + public VerbatimBlockLineComment(global::CppSharp.Parser.AST.VerbatimBlockLineComment _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) _0.__Instance); - } - - public void Dispose() - { - Dispose(disposing: true); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.TemplateArgument __dummy; + global::CppSharp.Parser.AST.Comment __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind Kind - { - get - { - return ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->kind; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->kind = value; - } - } - - public global::CppSharp.Parser.AST.QualifiedType Type - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->type)); - } - - set - { - ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } - - public global::CppSharp.Parser.AST.Declaration Declaration - { - get - { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - - public int Integral + public string Text { get { - return ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->integral; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal*) __Instance)->text)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->integral = value; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal*)__Instance)->text), value); } } } - public unsafe partial class TemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class VerbatimBlockComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 36)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(4)] - internal byte isDependent; + internal uint commandId; [FieldOffset(8)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; + internal global::System.IntPtr paragraphComment; - [FieldOffset(20)] - internal global::System.IntPtr _template; + [FieldOffset(12)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_S_allocator__S0_ Arguments; [FieldOffset(24)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_VerbatimBlockLineComment___N_std_S_allocator__S0_ Lines; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TemplateSpecializationType@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0VerbatimBlockComment@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TemplateSpecializationType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0VerbatimBlockComment@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1TemplateSpecializationType@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??1VerbatimBlockComment@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor(global::System.IntPtr __instance, int delete); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getArguments@TemplateSpecializationType@AST@CppParser@CppSharp@@QAE?AUTemplateArgument@234@I@Z")] - internal static extern void GetArguments(global::System.IntPtr __instance, global::System.IntPtr @return, uint i); + EntryPoint="?getLines@VerbatimBlockComment@AST@CppParser@CppSharp@@QAEPAVVerbatimBlockLineComment@234@I@Z")] + internal static extern global::System.IntPtr GetLines(global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addArguments@TemplateSpecializationType@AST@CppParser@CppSharp@@QAEXAAUTemplateArgument@234@@Z")] - internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); + EntryPoint="?addLines@VerbatimBlockComment@AST@CppParser@CppSharp@@QAEXAAPAVVerbatimBlockLineComment@234@@Z")] + internal static extern void AddLines(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearArguments@TemplateSpecializationType@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearArguments(global::System.IntPtr __instance); + EntryPoint="?clearLines@VerbatimBlockComment@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearLines(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getArgumentsCount@TemplateSpecializationType@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); + EntryPoint="?getLinesCount@VerbatimBlockComment@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetLinesCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.TemplateSpecializationType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.VerbatimBlockComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateSpecializationType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.VerbatimBlockComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TemplateSpecializationType __CreateInstance(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VerbatimBlockComment __CreateInstance(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateSpecializationType(native, skipVTables); + return new global::CppSharp.Parser.AST.VerbatimBlockComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); - global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal)); + global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native, bool skipVTables = false) + private VerbatimBlockComment(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TemplateSpecializationType(void* native, bool skipVTables = false) + protected VerbatimBlockComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -1927,19 +1711,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TemplateSpecializationType() + public VerbatimBlockComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType _0) + public VerbatimBlockComment(global::CppSharp.Parser.AST.VerbatimBlockComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -1952,7 +1736,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Type __dummy; + global::CppSharp.Parser.AST.Comment __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -1961,145 +1745,101 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) + public global::CppSharp.Parser.AST.VerbatimBlockLineComment GetLines(uint i) { - var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); - __Internal.GetArguments((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); - return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); + var __ret = __Internal.GetLines((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.VerbatimBlockLineComment __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.VerbatimBlockLineComment.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.VerbatimBlockLineComment) global::CppSharp.Parser.AST.VerbatimBlockLineComment.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.VerbatimBlockLineComment.__CreateInstance(__ret); + return __result0; } - public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + public void AddLines(global::CppSharp.Parser.AST.VerbatimBlockLineComment s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearArguments() - { - __Internal.ClearArguments((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.Template Template - { - get - { - global::CppSharp.Parser.AST.Template __result0; - if (((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Template.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template)) - __result0 = (global::CppSharp.Parser.AST.Template) global::CppSharp.Parser.AST.Template.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template]; - else __result0 = global::CppSharp.Parser.AST.Template.__CreateInstance(((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*)__Instance)->_template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + __Internal.AddLines((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Desugared + public void ClearLines() { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->desugared)); - } - - set - { - ((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*)__Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } + __Internal.ClearLines((__Instance + __PointerAdjustment)); } - public uint ArgumentsCount + public uint LinesCount { get { - var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetLinesCount((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class DependentTemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class VerbatimLineComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 28)] + [StructLayout(LayoutKind.Explicit, Size = 48)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(4)] - internal byte isDependent; + internal uint commandId; [FieldOffset(8)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; + internal global::System.IntPtr paragraphComment; - [FieldOffset(20)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; + [FieldOffset(12)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_S_allocator__S0_ Arguments; + + [FieldOffset(24)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0DependentTemplateSpecializationType@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0VerbatimLineComment@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0DependentTemplateSpecializationType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0VerbatimLineComment@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1DependentTemplateSpecializationType@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??1VerbatimLineComment@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor(global::System.IntPtr __instance, int delete); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getArguments@DependentTemplateSpecializationType@AST@CppParser@CppSharp@@QAE?AUTemplateArgument@234@I@Z")] - internal static extern void GetArguments(global::System.IntPtr __instance, global::System.IntPtr @return, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addArguments@DependentTemplateSpecializationType@AST@CppParser@CppSharp@@QAEXAAUTemplateArgument@234@@Z")] - internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearArguments@DependentTemplateSpecializationType@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearArguments(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getArgumentsCount@DependentTemplateSpecializationType@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.DependentTemplateSpecializationType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.VerbatimLineComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.DependentTemplateSpecializationType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.VerbatimLineComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.DependentTemplateSpecializationType __CreateInstance(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VerbatimLineComment __CreateInstance(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.DependentTemplateSpecializationType(native, skipVTables); + return new global::CppSharp.Parser.AST.VerbatimLineComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); - global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal)); + global::CppSharp.Parser.AST.VerbatimLineComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native, bool skipVTables = false) + private VerbatimLineComment(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected DependentTemplateSpecializationType(void* native, bool skipVTables = false) + protected VerbatimLineComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2108,19 +1848,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public DependentTemplateSpecializationType() + public VerbatimLineComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType _0) + public VerbatimLineComment(global::CppSharp.Parser.AST.VerbatimLineComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -2133,7 +1873,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Type __dummy; + global::CppSharp.Parser.AST.Comment __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -2142,266 +1882,229 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) - { - var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); - __Internal.GetArguments((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); - return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); - } - - public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearArguments() - { - __Internal.ClearArguments((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.QualifiedType Desugared + public string Text { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal*) __Instance)->desugared)); + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VerbatimLineComment.__Internal*) __Instance)->text)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal*)__Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } - - public uint ArgumentsCount - { - get - { - var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); - return __ret; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VerbatimLineComment.__Internal*)__Instance)->text), value); } } } - public unsafe partial class TemplateParameterType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class InlineCommandComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 28)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(4)] - internal byte isDependent; + internal byte hasTrailingNewline; [FieldOffset(8)] - internal global::System.IntPtr parameter; + internal uint commandId; [FieldOffset(12)] - internal uint depth; + internal global::CppSharp.Parser.AST.InlineCommandComment.RenderKind commentRenderKind; [FieldOffset(16)] - internal uint index; - - [FieldOffset(20)] - internal byte isParameterPack; + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_InlineCommandComment_S_Argument___N_std_S_allocator__S0_ Arguments; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TemplateParameterType@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0InlineCommandComment@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TemplateParameterType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0InlineCommandComment@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1TemplateParameterType@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??1InlineCommandComment@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor(global::System.IntPtr __instance, int delete); - } - - internal static new global::CppSharp.Parser.AST.TemplateParameterType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.TemplateParameterType(native.ToPointer(), skipVTables); - } - internal static global::CppSharp.Parser.AST.TemplateParameterType __CreateInstance(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.TemplateParameterType(native, skipVTables); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getArguments@InlineCommandComment@AST@CppParser@CppSharp@@QAE?AVArgument@1234@I@Z")] + internal static extern void GetArguments(global::System.IntPtr __instance, global::System.IntPtr @return, uint i); - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); - global::CppSharp.Parser.AST.TemplateParameterType.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?addArguments@InlineCommandComment@AST@CppParser@CppSharp@@QAEXAAVArgument@1234@@Z")] + internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); - private TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?clearArguments@InlineCommandComment@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearArguments(global::System.IntPtr __instance); - protected TemplateParameterType(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getArgumentsCount@InlineCommandComment@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); } - public TemplateParameterType() - : this((void*) null) + public enum RenderKind { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + RenderNormal = 0, + RenderBold = 1, + RenderMonospaced = 2, + RenderEmphasized = 3 } - public TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType _0) - : this((void*) null) + public unsafe partial class Argument : IDisposable { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [StructLayout(LayoutKind.Explicit, Size = 24)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Type __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0Argument@InlineCommandComment@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); - public global::CppSharp.Parser.AST.TypeTemplateParameter Parameter - { - get - { - global::CppSharp.Parser.AST.TypeTemplateParameter __result0; - if (((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TypeTemplateParameter.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter)) - __result0 = (global::CppSharp.Parser.AST.TypeTemplateParameter) global::CppSharp.Parser.AST.TypeTemplateParameter.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter]; - else __result0 = global::CppSharp.Parser.AST.TypeTemplateParameter.__CreateInstance(((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter); - return __result0; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0Argument@InlineCommandComment@AST@CppParser@CppSharp@@QAE@ABV01234@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??1Argument@InlineCommandComment@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); } - set + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.InlineCommandComment.Argument __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->parameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + return new global::CppSharp.Parser.AST.InlineCommandComment.Argument(native.ToPointer(), skipVTables); } - } - public uint Depth - { - get + internal static global::CppSharp.Parser.AST.InlineCommandComment.Argument __CreateInstance(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal native, bool skipVTables = false) { - return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->depth; + return new global::CppSharp.Parser.AST.InlineCommandComment.Argument(native, skipVTables); } - set + private static void* __CopyValue(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal native) { - ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->depth = value; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal)); + global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - } - public uint Index - { - get + private Argument(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->index; + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; } - set + protected Argument(void* native, bool skipVTables = false) { - ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->index = value; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - } - public bool IsParameterPack - { - get + public Argument() { - return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->isParameterPack != 0; + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); } - set + public Argument(global::CppSharp.Parser.AST.InlineCommandComment.Argument _0) { - ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->isParameterPack = (byte) (value ? 1 : 0); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - } - } - - public unsafe partial class TemplateParameterSubstitutionType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 20)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - internal byte isDependent; - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal replacement; + public void Dispose() + { + Dispose(disposing: true); + } - [FieldOffset(16)] - internal global::System.IntPtr replacedParameter; + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.InlineCommandComment.Argument __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TemplateParameterSubstitutionType@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + public string Text + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal*) __Instance)->text)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TemplateParameterSubstitutionType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal*)__Instance)->text), value); + } + } } - internal static new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.InlineCommandComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.InlineCommandComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TemplateParameterSubstitutionType __CreateInstance(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.InlineCommandComment __CreateInstance(global::CppSharp.Parser.AST.InlineCommandComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType(native, skipVTables); + return new global::CppSharp.Parser.AST.InlineCommandComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.InlineCommandComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); - global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.__Internal)); + global::CppSharp.Parser.AST.InlineCommandComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native, bool skipVTables = false) + private InlineCommandComment(global::CppSharp.Parser.AST.InlineCommandComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TemplateParameterSubstitutionType(void* native, bool skipVTables = false) + protected InlineCommandComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2410,19 +2113,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TemplateParameterSubstitutionType() + public InlineCommandComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType _0) + public InlineCommandComment(global::CppSharp.Parser.AST.InlineCommandComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -2431,91 +2134,127 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Replacement + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Comment __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.InlineCommandComment.Argument GetArguments(uint i) + { + var __ret = new global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal(); + __Internal.GetArguments((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); + return global::CppSharp.Parser.AST.InlineCommandComment.Argument.__CreateInstance(__ret); + } + + public void AddArguments(global::CppSharp.Parser.AST.InlineCommandComment.Argument s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearArguments() + { + __Internal.ClearArguments((__Instance + __PointerAdjustment)); + } + + public uint CommandId { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacement)); + return ((global::CppSharp.Parser.AST.InlineCommandComment.__Internal*) __Instance)->commandId; } set { - ((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*)__Instance)->replacement = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.InlineCommandComment.__Internal*)__Instance)->commandId = value; } } - public global::CppSharp.Parser.AST.TemplateParameterType ReplacedParameter + public global::CppSharp.Parser.AST.InlineCommandComment.RenderKind CommentRenderKind { get { - global::CppSharp.Parser.AST.TemplateParameterType __result0; - if (((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TemplateParameterType.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter)) - __result0 = (global::CppSharp.Parser.AST.TemplateParameterType) global::CppSharp.Parser.AST.TemplateParameterType.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter]; - else __result0 = global::CppSharp.Parser.AST.TemplateParameterType.__CreateInstance(((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter); - return __result0; + return ((global::CppSharp.Parser.AST.InlineCommandComment.__Internal*) __Instance)->commentRenderKind; } set { - ((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*)__Instance)->replacedParameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.InlineCommandComment.__Internal*)__Instance)->commentRenderKind = value; + } + } + + public uint ArgumentsCount + { + get + { + var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class InjectedClassNameType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class HTMLTagComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 20)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(4)] - internal byte isDependent; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal injectedSpecializationType; - - [FieldOffset(16)] - internal global::System.IntPtr _class; + internal byte hasTrailingNewline; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0InjectedClassNameType@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0HTMLTagComment@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0InjectedClassNameType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0HTMLTagComment@AST@CppParser@CppSharp@@QAE@W4CommentKind@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.CommentKind Kind); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0HTMLTagComment@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); } - internal static new global::CppSharp.Parser.AST.InjectedClassNameType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.HTMLTagComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.InjectedClassNameType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.HTMLTagComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.InjectedClassNameType __CreateInstance(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.HTMLTagComment __CreateInstance(global::CppSharp.Parser.AST.HTMLTagComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.InjectedClassNameType(native, skipVTables); + return new global::CppSharp.Parser.AST.HTMLTagComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.HTMLTagComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); - global::CppSharp.Parser.AST.InjectedClassNameType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal)); + *(global::CppSharp.Parser.AST.HTMLTagComment.__Internal*) ret = native; return ret.ToPointer(); } - private InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native, bool skipVTables = false) + private HTMLTagComment(global::CppSharp.Parser.AST.HTMLTagComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected InjectedClassNameType(void* native, bool skipVTables = false) + protected HTMLTagComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2524,236 +2263,253 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public InjectedClassNameType() + public HTMLTagComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType _0) + public HTMLTagComment(global::CppSharp.Parser.AST.CommentKind Kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + __Internal.ctor((__Instance + __PointerAdjustment), Kind); } - public global::CppSharp.Parser.AST.QualifiedType InjectedSpecializationType + public HTMLTagComment(global::CppSharp.Parser.AST.HTMLTagComment _0) + : this((void*) null) { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->injectedSpecializationType)); - } - - set - { - ((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*)__Instance)->injectedSpecializationType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.HTMLTagComment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.HTMLTagComment.__Internal*) _0.__Instance); } - public global::CppSharp.Parser.AST.Class Class + public static implicit operator global::CppSharp.Parser.AST.HTMLTagComment(global::CppSharp.Parser.AST.CommentKind Kind) { - get - { - global::CppSharp.Parser.AST.Class __result0; - if (((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class)) - __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class]; - else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*)__Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + return new global::CppSharp.Parser.AST.HTMLTagComment(Kind); } } - public unsafe partial class DependentNameType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class HTMLStartTagComment : global::CppSharp.Parser.AST.HTMLTagComment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 44)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(4)] - internal byte isDependent; + internal byte hasTrailingNewline; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifier; + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C tagName; - [FieldOffset(16)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C identifier; + [FieldOffset(32)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_HTMLStartTagComment_S_Attribute___N_std_S_allocator__S0_ Attributes; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0DependentNameType@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0HTMLStartTagComment@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0DependentNameType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0HTMLStartTagComment@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1DependentNameType@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??1HTMLStartTagComment@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor(global::System.IntPtr __instance, int delete); - } - internal static new global::CppSharp.Parser.AST.DependentNameType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.DependentNameType(native.ToPointer(), skipVTables); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getAttributes@HTMLStartTagComment@AST@CppParser@CppSharp@@QAE?AVAttribute@1234@I@Z")] + internal static extern void GetAttributes(global::System.IntPtr __instance, global::System.IntPtr @return, uint i); - internal static global::CppSharp.Parser.AST.DependentNameType __CreateInstance(global::CppSharp.Parser.AST.DependentNameType.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.DependentNameType(native, skipVTables); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?addAttributes@HTMLStartTagComment@AST@CppParser@CppSharp@@QAEXAAVAttribute@1234@@Z")] + internal static extern void AddAttributes(global::System.IntPtr __instance, global::System.IntPtr s); - private static void* __CopyValue(global::CppSharp.Parser.AST.DependentNameType.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); - global::CppSharp.Parser.AST.DependentNameType.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?clearAttributes@HTMLStartTagComment@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearAttributes(global::System.IntPtr __instance); - private DependentNameType(global::CppSharp.Parser.AST.DependentNameType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getAttributesCount@HTMLStartTagComment@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetAttributesCount(global::System.IntPtr __instance); } - protected DependentNameType(void* native, bool skipVTables = false) - : base((void*) null) + public unsafe partial class Attribute : IDisposable { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [StructLayout(LayoutKind.Explicit, Size = 48)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - public DependentNameType() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + [FieldOffset(24)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C value; - public DependentNameType(global::CppSharp.Parser.AST.DependentNameType _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0Attribute@HTMLStartTagComment@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Type __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0Attribute@HTMLStartTagComment@AST@CppParser@CppSharp@@QAE@ABV01234@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - public global::CppSharp.Parser.AST.QualifiedType Qualifier - { - get + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??1Attribute@HTMLStartTagComment@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentNameType.__Internal*) __Instance)->qualifier)); + return new global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute(native.ToPointer(), skipVTables); } - set + internal static global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute __CreateInstance(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal native, bool skipVTables = false) { - ((global::CppSharp.Parser.AST.DependentNameType.__Internal*)__Instance)->qualifier = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + return new global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute(native, skipVTables); } - } - public string Identifier - { - get + private static void* __CopyValue(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal native) { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentNameType.__Internal*) __Instance)->identifier)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal)); + global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - set + private Attribute(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentNameType.__Internal*)__Instance)->identifier), value); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; } - } - } - public unsafe partial class PackExpansionType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 8)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + protected Attribute(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(4)] - internal byte isDependent; + public Attribute() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0PackExpansionType@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + public Attribute(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0PackExpansionType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public string Name + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal*) __Instance)->name)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal*)__Instance)->name), value); + } + } + + public string Value + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal*) __Instance)->value)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal*)__Instance)->value), value); + } + } } - internal static new global::CppSharp.Parser.AST.PackExpansionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.HTMLStartTagComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.PackExpansionType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.HTMLStartTagComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.PackExpansionType __CreateInstance(global::CppSharp.Parser.AST.PackExpansionType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.HTMLStartTagComment __CreateInstance(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.PackExpansionType(native, skipVTables); + return new global::CppSharp.Parser.AST.HTMLStartTagComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.PackExpansionType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); - global::CppSharp.Parser.AST.PackExpansionType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal)); + global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private PackExpansionType(global::CppSharp.Parser.AST.PackExpansionType.__Internal native, bool skipVTables = false) + private HTMLStartTagComment(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected PackExpansionType(void* native, bool skipVTables = false) + protected HTMLStartTagComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2762,19 +2518,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public PackExpansionType() + public HTMLStartTagComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public PackExpansionType(global::CppSharp.Parser.AST.PackExpansionType _0) + public HTMLStartTagComment(global::CppSharp.Parser.AST.HTMLStartTagComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -2782,61 +2538,121 @@ namespace CppSharp var __arg0 = _0.__Instance; __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Comment __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute GetAttributes(uint i) + { + var __ret = new global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal(); + __Internal.GetAttributes((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); + return global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__CreateInstance(__ret); + } + + public void AddAttributes(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddAttributes((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearAttributes() + { + __Internal.ClearAttributes((__Instance + __PointerAdjustment)); + } + + public string TagName + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal*) __Instance)->tagName)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal*)__Instance)->tagName), value); + } + } + + public uint AttributesCount + { + get + { + var __ret = __Internal.GetAttributesCount((__Instance + __PointerAdjustment)); + return __ret; + } + } } - public unsafe partial class UnaryTransformType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class HTMLEndTagComment : global::CppSharp.Parser.AST.HTMLTagComment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(4)] - internal byte isDependent; + internal byte hasTrailingNewline; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; - - [FieldOffset(16)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal baseType; + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C tagName; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0UnaryTransformType@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0HTMLEndTagComment@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0UnaryTransformType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0HTMLEndTagComment@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??1HTMLEndTagComment@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); } - internal static new global::CppSharp.Parser.AST.UnaryTransformType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.HTMLEndTagComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.UnaryTransformType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.HTMLEndTagComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.UnaryTransformType __CreateInstance(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.HTMLEndTagComment __CreateInstance(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.UnaryTransformType(native, skipVTables); + return new global::CppSharp.Parser.AST.HTMLEndTagComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); - global::CppSharp.Parser.AST.UnaryTransformType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); + global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native, bool skipVTables = false) + private HTMLEndTagComment(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected UnaryTransformType(void* native, bool skipVTables = false) + protected HTMLEndTagComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2845,19 +2661,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public UnaryTransformType() + public HTMLEndTagComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType _0) + public HTMLEndTagComment(global::CppSharp.Parser.AST.HTMLEndTagComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -2866,86 +2682,91 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Desugared + public override void Dispose(bool disposing) { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*) __Instance)->desugared)); - } - - set - { - ((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*)__Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Comment __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.QualifiedType BaseType + public string TagName { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*) __Instance)->baseType)); + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal*) __Instance)->tagName)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*)__Instance)->baseType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal*)__Instance)->tagName), value); } } } - public unsafe partial class VectorType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class TextComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 20)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(4)] - internal byte isDependent; + internal byte hasTrailingNewline; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal elementType; - - [FieldOffset(16)] - internal uint numElements; + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0VectorType@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0TextComment@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0VectorType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0TextComment@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??1TextComment@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); } - internal static new global::CppSharp.Parser.AST.VectorType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TextComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VectorType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TextComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.VectorType __CreateInstance(global::CppSharp.Parser.AST.VectorType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TextComment __CreateInstance(global::CppSharp.Parser.AST.TextComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VectorType(native, skipVTables); + return new global::CppSharp.Parser.AST.TextComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.VectorType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TextComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); - global::CppSharp.Parser.AST.VectorType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); + global::CppSharp.Parser.AST.TextComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private VectorType(global::CppSharp.Parser.AST.VectorType.__Internal native, bool skipVTables = false) + private TextComment(global::CppSharp.Parser.AST.TextComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected VectorType(void* native, bool skipVTables = false) + protected TextComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2954,19 +2775,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public VectorType() + public TextComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public VectorType(global::CppSharp.Parser.AST.VectorType _0) + public TextComment(global::CppSharp.Parser.AST.TextComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -2975,204 +2796,125 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType ElementType + public override void Dispose(bool disposing) { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->elementType)); - } - - set - { - ((global::CppSharp.Parser.AST.VectorType.__Internal*)__Instance)->elementType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Comment __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } - public uint NumElements + public string Text { get { - return ((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->numElements; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TextComment.__Internal*) __Instance)->text)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.VectorType.__Internal*)__Instance)->numElements = value; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TextComment.__Internal*)__Instance)->text), value); } } } - public unsafe partial class BuiltinType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class RawComment : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 12)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 56)] + public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.RawCommentKind kind; [FieldOffset(4)] - internal byte isDependent; + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.PrimitiveType type; + [FieldOffset(28)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C briefText; + + [FieldOffset(52)] + internal global::System.IntPtr fullCommentBlock; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0BuiltinType@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0RawComment@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0BuiltinType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0RawComment@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - } - - internal static new global::CppSharp.Parser.AST.BuiltinType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.BuiltinType(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.BuiltinType __CreateInstance(global::CppSharp.Parser.AST.BuiltinType.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.BuiltinType(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.BuiltinType.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); - global::CppSharp.Parser.AST.BuiltinType.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private BuiltinType(global::CppSharp.Parser.AST.BuiltinType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected BuiltinType(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public BuiltinType() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } - - public BuiltinType(global::CppSharp.Parser.AST.BuiltinType _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } - - public global::CppSharp.Parser.AST.PrimitiveType Type - { - get - { - return ((global::CppSharp.Parser.AST.BuiltinType.__Internal*) __Instance)->type; - } - - set - { - ((global::CppSharp.Parser.AST.BuiltinType.__Internal*)__Instance)->type = value; - } - } - } - - public unsafe partial class VTableComponent : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 12)] - public partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.VTableComponentKind kind; - - [FieldOffset(4)] - internal uint offset; - - [FieldOffset(8)] - internal global::System.IntPtr declaration; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0VTableComponent@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0VTableComponent@AST@CppParser@CppSharp@@QAE@ABU0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + EntryPoint="??1RawComment@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); } public global::System.IntPtr __Instance { get; protected set; } protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); protected internal void*[] __OriginalVTables; protected bool __ownsNativeInstance; - internal static global::CppSharp.Parser.AST.VTableComponent __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.RawComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VTableComponent(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.RawComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.VTableComponent __CreateInstance(global::CppSharp.Parser.AST.VTableComponent.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.RawComment __CreateInstance(global::CppSharp.Parser.AST.RawComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VTableComponent(native, skipVTables); + return new global::CppSharp.Parser.AST.RawComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.VTableComponent.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.RawComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); - *(global::CppSharp.Parser.AST.VTableComponent.__Internal*) ret = native; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); + global::CppSharp.Parser.AST.RawComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private VTableComponent(global::CppSharp.Parser.AST.VTableComponent.__Internal native, bool skipVTables = false) + private RawComment(global::CppSharp.Parser.AST.RawComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected VTableComponent(void* native, bool skipVTables = false) + protected RawComment(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public VTableComponent() + public RawComment() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public VTableComponent(global::CppSharp.Parser.AST.VTableComponent _0) + public RawComment(global::CppSharp.Parser.AST.RawComment _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.VTableComponent.__Internal*) _0.__Instance); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } public void Dispose() @@ -3184,291 +2926,449 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.VTableComponent __dummy; + global::CppSharp.Parser.AST.RawComment __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.VTableComponentKind Kind + public global::CppSharp.Parser.AST.RawCommentKind Kind { get { - return ((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->kind; + return ((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->kind; } set { - ((global::CppSharp.Parser.AST.VTableComponent.__Internal*)__Instance)->kind = value; + ((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->kind = value; } } - public uint Offset + public string Text { get { - return ((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->offset; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->text)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.VTableComponent.__Internal*)__Instance)->offset = value; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->text), value); } } - public global::CppSharp.Parser.AST.Declaration Declaration + public string BriefText { get { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration); + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->briefText)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->briefText), value); + } + } + + public global::CppSharp.Parser.AST.FullComment FullCommentBlock + { + get + { + global::CppSharp.Parser.AST.FullComment __result0; + if (((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.FullComment.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock)) + __result0 = (global::CppSharp.Parser.AST.FullComment) global::CppSharp.Parser.AST.FullComment.NativeToManagedMap[((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock]; + else __result0 = global::CppSharp.Parser.AST.FullComment.__CreateInstance(((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock); return __result0; } set { - ((global::CppSharp.Parser.AST.VTableComponent.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->fullCommentBlock = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } + } + } +} - public unsafe partial class VTableLayout : IDisposable +namespace CppSharp +{ + namespace Parser + { + public unsafe partial struct SourceLocation + { + [StructLayout(LayoutKind.Explicit, Size = 4)] + public partial struct __Internal { - [StructLayout(LayoutKind.Explicit, Size = 12)] - public partial struct __Internal - { - [FieldOffset(0)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_VTableComponent___N_std_S_allocator__S0_ Components; + [FieldOffset(0)] + internal uint ID; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0VTableLayout@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0SourceLocation@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0VTableLayout@AST@CppParser@CppSharp@@QAE@ABU0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1VTableLayout@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern void dtor(global::System.IntPtr __instance, int delete); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getComponents@VTableLayout@AST@CppParser@CppSharp@@QAE?AUVTableComponent@234@I@Z")] - internal static extern void GetComponents(global::System.IntPtr __instance, global::System.IntPtr @return, uint i); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0SourceLocation@CppParser@CppSharp@@QAE@I@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, uint ID); - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addComponents@VTableLayout@AST@CppParser@CppSharp@@QAEXAAUVTableComponent@234@@Z")] - internal static extern void AddComponents(global::System.IntPtr __instance, global::System.IntPtr s); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0SourceLocation@CppParser@CppSharp@@QAE@ABU012@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearComponents@VTableLayout@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearComponents(global::System.IntPtr __instance); + private SourceLocation.__Internal __instance; + internal SourceLocation.__Internal __Instance { get { return __instance; } } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getComponentsCount@VTableLayout@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetComponentsCount(global::System.IntPtr __instance); - } + internal static global::CppSharp.Parser.SourceLocation __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.SourceLocation(native.ToPointer(), skipVTables); + } - public global::System.IntPtr __Instance { get; protected set; } + internal static global::CppSharp.Parser.SourceLocation __CreateInstance(global::CppSharp.Parser.SourceLocation.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.SourceLocation(native, skipVTables); + } - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; + private SourceLocation(global::CppSharp.Parser.SourceLocation.__Internal native, bool skipVTables = false) + : this() + { + __instance = native; + } - protected bool __ownsNativeInstance; + private SourceLocation(void* native, bool skipVTables = false) : this() + { + __instance = *(global::CppSharp.Parser.SourceLocation.__Internal*) native; + } - internal static global::CppSharp.Parser.AST.VTableLayout __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public SourceLocation(uint ID) + : this() + { + fixed (__Internal* __instancePtr = &__instance) { - return new global::CppSharp.Parser.AST.VTableLayout(native.ToPointer(), skipVTables); + __Internal.ctor(new global::System.IntPtr(__instancePtr), ID); } + } - internal static global::CppSharp.Parser.AST.VTableLayout __CreateInstance(global::CppSharp.Parser.AST.VTableLayout.__Internal native, bool skipVTables = false) + public SourceLocation(global::CppSharp.Parser.SourceLocation _0) + : this() + { + var ____arg0 = _0.__Instance; + var __arg0 = new global::System.IntPtr(&____arg0); + fixed (__Internal* __instancePtr = &__instance) { - return new global::CppSharp.Parser.AST.VTableLayout(native, skipVTables); + __Internal.cctor(new global::System.IntPtr(__instancePtr), __arg0); } + } - private static void* __CopyValue(global::CppSharp.Parser.AST.VTableLayout.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); - global::CppSharp.Parser.AST.VTableLayout.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + public static implicit operator global::CppSharp.Parser.SourceLocation(uint ID) + { + return new global::CppSharp.Parser.SourceLocation(ID); + } - private VTableLayout(global::CppSharp.Parser.AST.VTableLayout.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + public uint ID + { + get { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + return __instance.ID; } - protected VTableLayout(void* native, bool skipVTables = false) + set { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); + __instance.ID = value; } + } + } - public VTableLayout() - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + public unsafe partial class SourceRange : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 8)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; - public VTableLayout(global::CppSharp.Parser.AST.VTableLayout _0) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; - public void Dispose() - { - Dispose(disposing: true); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0SourceRange@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.VTableLayout __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0SourceRange@CppParser@CppSharp@@QAE@ABU012@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } - public global::CppSharp.Parser.AST.VTableComponent GetComponents(uint i) - { - var __ret = new global::CppSharp.Parser.AST.VTableComponent.__Internal(); - __Internal.GetComponents((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); - return global::CppSharp.Parser.AST.VTableComponent.__CreateInstance(__ret); - } + public global::System.IntPtr __Instance { get; protected set; } - public void AddComponents(global::CppSharp.Parser.AST.VTableComponent s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddComponents((__Instance + __PointerAdjustment), __arg0); - } + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; - public void ClearComponents() - { - __Internal.ClearComponents((__Instance + __PointerAdjustment)); - } + protected bool __ownsNativeInstance; - public uint ComponentsCount - { - get - { - var __ret = __Internal.GetComponentsCount((__Instance + __PointerAdjustment)); - return __ret; - } - } + internal static global::CppSharp.Parser.SourceRange __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.SourceRange(native.ToPointer(), skipVTables); } - public unsafe partial class VFTableInfo : IDisposable + internal static global::CppSharp.Parser.SourceRange __CreateInstance(global::CppSharp.Parser.SourceRange.__Internal native, bool skipVTables = false) { - [StructLayout(LayoutKind.Explicit, Size = 32)] - public partial struct __Internal - { - [FieldOffset(0)] - internal ulong VBTableIndex; - - [FieldOffset(8)] - internal uint VFPtrOffset; - - [FieldOffset(12)] - internal uint VFPtrFullOffset; + return new global::CppSharp.Parser.SourceRange(native, skipVTables); + } - [FieldOffset(16)] - internal global::CppSharp.Parser.AST.VTableLayout.__Internal layout; + private static void* __CopyValue(global::CppSharp.Parser.SourceRange.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.SourceRange.__Internal)); + *(global::CppSharp.Parser.SourceRange.__Internal*) ret = native; + return ret.ToPointer(); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0VFTableInfo@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + private SourceRange(global::CppSharp.Parser.SourceRange.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0VFTableInfo@AST@CppParser@CppSharp@@QAE@ABU0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + protected SourceRange(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1VFTableInfo@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern void dtor(global::System.IntPtr __instance, int delete); - } + public SourceRange() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.SourceRange.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - public global::System.IntPtr __Instance { get; protected set; } + public SourceRange(global::CppSharp.Parser.SourceRange _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.SourceRange.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.SourceRange.__Internal*) __Instance) = *((global::CppSharp.Parser.SourceRange.__Internal*) _0.__Instance); + } - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; + public void Dispose() + { + Dispose(disposing: true); + } - protected bool __ownsNativeInstance; + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.SourceRange __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } - internal static global::CppSharp.Parser.AST.VFTableInfo __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::CppSharp.Parser.SourceLocation BeginLoc + { + get { - return new global::CppSharp.Parser.AST.VFTableInfo(native.ToPointer(), skipVTables); + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.SourceRange.__Internal*) __Instance)->beginLoc); } - internal static global::CppSharp.Parser.AST.VFTableInfo __CreateInstance(global::CppSharp.Parser.AST.VFTableInfo.__Internal native, bool skipVTables = false) + set { - return new global::CppSharp.Parser.AST.VFTableInfo(native, skipVTables); + ((global::CppSharp.Parser.SourceRange.__Internal*)__Instance)->beginLoc = value.__Instance; } + } - private static void* __CopyValue(global::CppSharp.Parser.AST.VFTableInfo.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); - global::CppSharp.Parser.AST.VFTableInfo.__Internal.cctor(ret, new global::System.IntPtr(&native)); + public global::CppSharp.Parser.SourceLocation EndLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.SourceRange.__Internal*) __Instance)->endLoc); + } + + set + { + ((global::CppSharp.Parser.SourceRange.__Internal*)__Instance)->endLoc = value.__Instance; + } + } + } + } +} + +namespace CppSharp +{ + namespace Parser + { + namespace AST + { + public enum TypeKind + { + Tag = 0, + Array = 1, + Function = 2, + Pointer = 3, + MemberPointer = 4, + Typedef = 5, + Attributed = 6, + Decayed = 7, + TemplateSpecialization = 8, + DependentTemplateSpecialization = 9, + TemplateParameter = 10, + TemplateParameterSubstitution = 11, + InjectedClassName = 12, + DependentName = 13, + PackExpansion = 14, + Builtin = 15, + UnaryTransform = 16, + Vector = 17 + } + + public enum CallingConvention + { + Default = 0, + C = 1, + StdCall = 2, + ThisCall = 3, + FastCall = 4, + Unknown = 5 + } + + public enum PrimitiveType + { + Null = 0, + Void = 1, + Bool = 2, + WideChar = 3, + Char = 4, + SChar = 5, + UChar = 6, + Char16 = 7, + Char32 = 8, + Short = 9, + UShort = 10, + Int = 11, + UInt = 12, + Long = 13, + ULong = 14, + LongLong = 15, + ULongLong = 16, + Int128 = 17, + UInt128 = 18, + Half = 19, + Float = 20, + Double = 21, + LongDouble = 22, + Float128 = 23, + IntPtr = 24 + } + + public enum ExceptionSpecType + { + None = 0, + DynamicNone = 1, + Dynamic = 2, + MSAny = 3, + BasicNoexcept = 4, + DependentNoexcept = 5, + NoexceptFalse = 6, + NoexceptTrue = 7, + Unevaluated = 8, + Uninstantiated = 9, + Unparsed = 10 + } + + public unsafe partial class Type : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 8)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + internal byte isDependent; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0Type@AST@CppParser@CppSharp@@QAE@W4TypeKind@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.TypeKind kind); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0Type@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.Type __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Type(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.Type __CreateInstance(global::CppSharp.Parser.AST.Type.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Type(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.Type.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Type.__Internal)); + global::CppSharp.Parser.AST.Type.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private VFTableInfo(global::CppSharp.Parser.AST.VFTableInfo.__Internal native, bool skipVTables = false) + private Type(global::CppSharp.Parser.AST.Type.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected VFTableInfo(void* native, bool skipVTables = false) + protected Type(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public VFTableInfo() + public Type(global::CppSharp.Parser.AST.TypeKind kind) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Type.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + __Internal.ctor((__Instance + __PointerAdjustment), kind); } - public VFTableInfo(global::CppSharp.Parser.AST.VFTableInfo _0) + public Type(global::CppSharp.Parser.AST.Type _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Type.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -3486,157 +3386,117 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.VFTableInfo __dummy; + global::CppSharp.Parser.AST.Type __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - public ulong VBTableIndex - { - get - { - return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VBTableIndex; - } - - set - { - ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->VBTableIndex = value; - } - } - - public uint VFPtrOffset + public static implicit operator global::CppSharp.Parser.AST.Type(global::CppSharp.Parser.AST.TypeKind kind) { - get - { - return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VFPtrOffset; - } - - set - { - ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->VFPtrOffset = value; - } + return new global::CppSharp.Parser.AST.Type(kind); } - public uint VFPtrFullOffset + public global::CppSharp.Parser.AST.TypeKind Kind { get { - return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VFPtrFullOffset; + return ((global::CppSharp.Parser.AST.Type.__Internal*) __Instance)->kind; } set { - ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->VFPtrFullOffset = value; + ((global::CppSharp.Parser.AST.Type.__Internal*)__Instance)->kind = value; } } - public global::CppSharp.Parser.AST.VTableLayout Layout + public bool IsDependent { get { - return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->layout)); + return ((global::CppSharp.Parser.AST.Type.__Internal*) __Instance)->isDependent != 0; } set { - ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->layout = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.VTableLayout.__Internal() : *(global::CppSharp.Parser.AST.VTableLayout.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.Type.__Internal*)__Instance)->isDependent = (byte) (value ? 1 : 0); } } } - public unsafe partial class LayoutField : IDisposable + public unsafe partial class TypeQualifiers : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 3)] public partial struct __Internal { [FieldOffset(0)] - internal uint offset; - - [FieldOffset(4)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(28)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - - [FieldOffset(36)] - internal global::System.IntPtr fieldPtr; + internal byte isConst; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0LayoutField@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + [FieldOffset(1)] + internal byte isVolatile; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0LayoutField@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr other); + [FieldOffset(2)] + internal byte isRestrict; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1LayoutField@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern void dtor(global::System.IntPtr __instance, int delete); + EntryPoint="??0TypeQualifiers@AST@CppParser@CppSharp@@QAE@ABU0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); } public global::System.IntPtr __Instance { get; protected set; } protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); protected internal void*[] __OriginalVTables; protected bool __ownsNativeInstance; - internal static global::CppSharp.Parser.AST.LayoutField __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TypeQualifiers __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.LayoutField(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TypeQualifiers(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.LayoutField __CreateInstance(global::CppSharp.Parser.AST.LayoutField.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TypeQualifiers __CreateInstance(global::CppSharp.Parser.AST.TypeQualifiers.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.LayoutField(native, skipVTables); + return new global::CppSharp.Parser.AST.TypeQualifiers(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.LayoutField.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypeQualifiers.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); - global::CppSharp.Parser.AST.LayoutField.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeQualifiers.__Internal)); + *(global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) ret = native; return ret.ToPointer(); } - private LayoutField(global::CppSharp.Parser.AST.LayoutField.__Internal native, bool skipVTables = false) + private TypeQualifiers(global::CppSharp.Parser.AST.TypeQualifiers.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected LayoutField(void* native, bool skipVTables = false) + protected TypeQualifiers(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public LayoutField() + public TypeQualifiers(global::CppSharp.Parser.AST.TypeQualifiers _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeQualifiers.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + *((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) _0.__Instance); } - public LayoutField(global::CppSharp.Parser.AST.LayoutField other) + public TypeQualifiers() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeQualifiers.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(other, null)) - throw new global::System.ArgumentNullException("other", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = other.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } public void Dispose() @@ -3648,154 +3508,128 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.LayoutField __dummy; + global::CppSharp.Parser.AST.TypeQualifiers __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - public uint Offset - { - get - { - return ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->offset; - } - - set - { - ((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->offset = value; - } - } - - public string Name + public bool IsConst { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->name)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + return ((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) __Instance)->isConst != 0; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->name), value); + ((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*)__Instance)->isConst = (byte) (value ? 1 : 0); } } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType + public bool IsVolatile { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->qualifiedType)); + return ((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) __Instance)->isVolatile != 0; } set { - ((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*)__Instance)->isVolatile = (byte) (value ? 1 : 0); } } - public global::System.IntPtr FieldPtr + public bool IsRestrict { get { - return ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->fieldPtr; + return ((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) __Instance)->isRestrict != 0; } set { - ((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->fieldPtr = (global::System.IntPtr) value; + ((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*)__Instance)->isRestrict = (byte) (value ? 1 : 0); } } } - public unsafe partial class LayoutBase : IDisposable + public unsafe partial class QualifiedType : IDisposable { [StructLayout(LayoutKind.Explicit, Size = 8)] public partial struct __Internal { [FieldOffset(0)] - internal uint offset; + internal global::System.IntPtr type; [FieldOffset(4)] - internal global::System.IntPtr _class; + internal global::CppSharp.Parser.AST.TypeQualifiers.__Internal qualifiers; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0LayoutBase@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0QualifiedType@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0LayoutBase@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr other); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1LayoutBase@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern void dtor(global::System.IntPtr __instance, int delete); + EntryPoint="??0QualifiedType@AST@CppParser@CppSharp@@QAE@ABU0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); } public global::System.IntPtr __Instance { get; protected set; } protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); protected internal void*[] __OriginalVTables; protected bool __ownsNativeInstance; - internal static global::CppSharp.Parser.AST.LayoutBase __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.QualifiedType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.LayoutBase(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.QualifiedType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.LayoutBase __CreateInstance(global::CppSharp.Parser.AST.LayoutBase.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.QualifiedType __CreateInstance(global::CppSharp.Parser.AST.QualifiedType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.LayoutBase(native, skipVTables); + return new global::CppSharp.Parser.AST.QualifiedType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.LayoutBase.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.QualifiedType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); - global::CppSharp.Parser.AST.LayoutBase.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.QualifiedType.__Internal)); + *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) ret = native; return ret.ToPointer(); } - private LayoutBase(global::CppSharp.Parser.AST.LayoutBase.__Internal native, bool skipVTables = false) + private QualifiedType(global::CppSharp.Parser.AST.QualifiedType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected LayoutBase(void* native, bool skipVTables = false) + protected QualifiedType(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public LayoutBase() + public QualifiedType() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.QualifiedType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public LayoutBase(global::CppSharp.Parser.AST.LayoutBase other) + public QualifiedType(global::CppSharp.Parser.AST.QualifiedType _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.QualifiedType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(other, null)) - throw new global::System.ArgumentNullException("other", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = other.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + *((global::CppSharp.Parser.AST.QualifiedType.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.QualifiedType.__Internal*) _0.__Instance); } public void Dispose() @@ -3807,208 +3641,116 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.LayoutBase __dummy; + global::CppSharp.Parser.AST.QualifiedType __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - public uint Offset + public global::CppSharp.Parser.AST.Type Type { get { - return ((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->offset; + global::CppSharp.Parser.AST.Type __result0; + if (((global::CppSharp.Parser.AST.QualifiedType.__Internal*) __Instance)->type == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.QualifiedType.__Internal*) __Instance)->type)) + __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((global::CppSharp.Parser.AST.QualifiedType.__Internal*) __Instance)->type]; + else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((global::CppSharp.Parser.AST.QualifiedType.__Internal*) __Instance)->type); + return __result0; } set { - ((global::CppSharp.Parser.AST.LayoutBase.__Internal*)__Instance)->offset = value; + ((global::CppSharp.Parser.AST.QualifiedType.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public global::CppSharp.Parser.AST.Class Class + public global::CppSharp.Parser.AST.TypeQualifiers Qualifiers { get { - global::CppSharp.Parser.AST.Class __result0; - if (((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class)) - __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class]; - else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class); - return __result0; + return global::CppSharp.Parser.AST.TypeQualifiers.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.QualifiedType.__Internal*) __Instance)->qualifiers)); } set { - ((global::CppSharp.Parser.AST.LayoutBase.__Internal*)__Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.QualifiedType.__Internal*)__Instance)->qualifiers = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.TypeQualifiers.__Internal() : *(global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) value.__Instance; } } } - public unsafe partial class ClassLayout : IDisposable + public unsafe partial class TagType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 72)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 12)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CppAbi ABI; + internal global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_VFTableInfo___N_std_S_allocator__S0_ VFTables; - - [FieldOffset(16)] - internal global::CppSharp.Parser.AST.VTableLayout.__Internal layout; - - [FieldOffset(28)] - internal byte hasOwnVFPtr; - - [FieldOffset(32)] - internal int VBPtrOffset; - - [FieldOffset(36)] - internal int alignment; - - [FieldOffset(40)] - internal int size; - - [FieldOffset(44)] - internal int dataSize; - - [FieldOffset(48)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_LayoutField___N_std_S_allocator__S0_ Fields; + internal byte isDependent; - [FieldOffset(60)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_LayoutBase___N_std_S_allocator__S0_ Bases; + [FieldOffset(8)] + internal global::System.IntPtr declaration; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0ClassLayout@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0TagType@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0ClassLayout@AST@CppParser@CppSharp@@QAE@ABU0123@@Z")] + EntryPoint="??0TagType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1ClassLayout@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern void dtor(global::System.IntPtr __instance, int delete); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getVFTables@ClassLayout@AST@CppParser@CppSharp@@QAE?AUVFTableInfo@234@I@Z")] - internal static extern void GetVFTables(global::System.IntPtr __instance, global::System.IntPtr @return, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addVFTables@ClassLayout@AST@CppParser@CppSharp@@QAEXAAUVFTableInfo@234@@Z")] - internal static extern void AddVFTables(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearVFTables@ClassLayout@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearVFTables(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getFields@ClassLayout@AST@CppParser@CppSharp@@QAE?AVLayoutField@234@I@Z")] - internal static extern void GetFields(global::System.IntPtr __instance, global::System.IntPtr @return, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addFields@ClassLayout@AST@CppParser@CppSharp@@QAEXAAVLayoutField@234@@Z")] - internal static extern void AddFields(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearFields@ClassLayout@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearFields(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getBases@ClassLayout@AST@CppParser@CppSharp@@QAE?AVLayoutBase@234@I@Z")] - internal static extern void GetBases(global::System.IntPtr __instance, global::System.IntPtr @return, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addBases@ClassLayout@AST@CppParser@CppSharp@@QAEXAAVLayoutBase@234@@Z")] - internal static extern void AddBases(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearBases@ClassLayout@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearBases(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getVFTablesCount@ClassLayout@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetVFTablesCount(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getFieldsCount@ClassLayout@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetFieldsCount(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getBasesCount@ClassLayout@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetBasesCount(global::System.IntPtr __instance); } - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.ClassLayout __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TagType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ClassLayout(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TagType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.ClassLayout __CreateInstance(global::CppSharp.Parser.AST.ClassLayout.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TagType __CreateInstance(global::CppSharp.Parser.AST.TagType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ClassLayout(native, skipVTables); + return new global::CppSharp.Parser.AST.TagType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ClassLayout.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TagType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); - global::CppSharp.Parser.AST.ClassLayout.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); + global::CppSharp.Parser.AST.TagType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private ClassLayout(global::CppSharp.Parser.AST.ClassLayout.__Internal native, bool skipVTables = false) + private TagType(global::CppSharp.Parser.AST.TagType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected ClassLayout(void* native, bool skipVTables = false) + protected TagType(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public ClassLayout() + public TagType() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public ClassLayout(global::CppSharp.Parser.AST.ClassLayout _0) + public TagType(global::CppSharp.Parser.AST.TagType _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -4017,146 +3759,144 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public void Dispose() + public global::CppSharp.Parser.AST.Declaration Declaration { - Dispose(disposing: true); - } + get + { + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration); + return __result0; + } - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.ClassLayout __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + set + { + ((global::CppSharp.Parser.AST.TagType.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } } + } - public global::CppSharp.Parser.AST.VFTableInfo GetVFTables(uint i) + public unsafe partial class ArrayType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 28)] + public new partial struct __Internal { - var __ret = new global::CppSharp.Parser.AST.VFTableInfo.__Internal(); - __Internal.GetVFTables((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); - return global::CppSharp.Parser.AST.VFTableInfo.__CreateInstance(__ret); - } + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; - public void AddVFTables(global::CppSharp.Parser.AST.VFTableInfo s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddVFTables((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(4)] + internal byte isDependent; - public void ClearVFTables() - { - __Internal.ClearVFTables((__Instance + __PointerAdjustment)); - } + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - public global::CppSharp.Parser.AST.LayoutField GetFields(uint i) - { - var __ret = new global::CppSharp.Parser.AST.LayoutField.__Internal(); - __Internal.GetFields((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); - return global::CppSharp.Parser.AST.LayoutField.__CreateInstance(__ret); + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.ArrayType.ArraySize sizeType; + + [FieldOffset(20)] + internal int size; + + [FieldOffset(24)] + internal int elementSize; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0ArrayType@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0ArrayType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); } - public void AddFields(global::CppSharp.Parser.AST.LayoutField s) + public enum ArraySize { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddFields((__Instance + __PointerAdjustment), __arg0); + Constant = 0, + Variable = 1, + Dependent = 2, + Incomplete = 3 } - public void ClearFields() + internal static new global::CppSharp.Parser.AST.ArrayType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - __Internal.ClearFields((__Instance + __PointerAdjustment)); + return new global::CppSharp.Parser.AST.ArrayType(native.ToPointer(), skipVTables); } - public global::CppSharp.Parser.AST.LayoutBase GetBases(uint i) + internal static global::CppSharp.Parser.AST.ArrayType __CreateInstance(global::CppSharp.Parser.AST.ArrayType.__Internal native, bool skipVTables = false) { - var __ret = new global::CppSharp.Parser.AST.LayoutBase.__Internal(); - __Internal.GetBases((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); - return global::CppSharp.Parser.AST.LayoutBase.__CreateInstance(__ret); + return new global::CppSharp.Parser.AST.ArrayType(native, skipVTables); } - public void AddBases(global::CppSharp.Parser.AST.LayoutBase s) + private static void* __CopyValue(global::CppSharp.Parser.AST.ArrayType.__Internal native) { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddBases((__Instance + __PointerAdjustment), __arg0); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); + global::CppSharp.Parser.AST.ArrayType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - public void ClearBases() + private ArrayType(global::CppSharp.Parser.AST.ArrayType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - __Internal.ClearBases((__Instance + __PointerAdjustment)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; } - public global::CppSharp.Parser.AST.CppAbi ABI + protected ArrayType(void* native, bool skipVTables = false) + : base((void*) null) { - get - { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->ABI; - } - - set - { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->ABI = value; - } + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - public global::CppSharp.Parser.AST.VTableLayout Layout + public ArrayType() + : this((void*) null) { - get - { - return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->layout)); - } - - set - { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->layout = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.VTableLayout.__Internal() : *(global::CppSharp.Parser.AST.VTableLayout.__Internal*) value.__Instance; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); } - public bool HasOwnVFPtr + public ArrayType(global::CppSharp.Parser.AST.ArrayType _0) + : this((void*) null) { - get - { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->hasOwnVFPtr != 0; - } - - set - { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->hasOwnVFPtr = (byte) (value ? 1 : 0); - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public int VBPtrOffset + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { get { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->VBPtrOffset; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->qualifiedType)); } set { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->VBPtrOffset = value; + ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public int Alignment + public global::CppSharp.Parser.AST.ArrayType.ArraySize SizeType { get { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->alignment; + return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->sizeType; } set { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->alignment = value; + ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->sizeType = value; } } @@ -4164,227 +3904,134 @@ namespace CppSharp { get { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->size; + return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->size; } set { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->size = value; + ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->size = value; } } - public int DataSize + public int ElementSize { get { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->dataSize; + return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->elementSize; } set { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->dataSize = value; - } - } - - public uint VFTablesCount - { - get - { - var __ret = __Internal.GetVFTablesCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint FieldsCount - { - get - { - var __ret = __Internal.GetFieldsCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint BasesCount - { - get - { - var __ret = __Internal.GetBasesCount((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->elementSize = value; } } } - public unsafe partial class Declaration : IDisposable + public unsafe partial class FunctionType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 144)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 36)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - internal int maxFieldAlignment; + internal byte isDependent; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(12)] - internal global::System.IntPtr _namespace; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; [FieldOffset(16)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + internal global::CppSharp.Parser.AST.CallingConvention callingConvention; [FieldOffset(20)] - internal int lineNumberStart; + internal global::CppSharp.Parser.AST.ExceptionSpecType exceptionSpecType; [FieldOffset(24)] - internal int lineNumberEnd; - - [FieldOffset(28)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_S_allocator__S0_ Parameters; - [FieldOffset(52)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0FunctionType@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); - [FieldOffset(76)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - - [FieldOffset(100)] - internal byte isIncomplete; - - [FieldOffset(101)] - internal byte isDependent; - - [FieldOffset(102)] - internal byte isImplicit; - - [FieldOffset(103)] - internal byte isInvalid; - - [FieldOffset(104)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(108)] - internal uint definitionOrder; - - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(124)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - - [FieldOffset(136)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(140)] - internal global::System.IntPtr comment; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Declaration@AST@CppParser@CppSharp@@QAE@W4DeclarationKind@123@@Z")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.DeclarationKind kind); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Declaration@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0FunctionType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1Declaration@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??1FunctionType@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor(global::System.IntPtr __instance, int delete); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getPreprocessedEntities@Declaration@AST@CppParser@CppSharp@@QAEPAVPreprocessedEntity@234@I@Z")] - internal static extern global::System.IntPtr GetPreprocessedEntities(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addPreprocessedEntities@Declaration@AST@CppParser@CppSharp@@QAEXAAPAVPreprocessedEntity@234@@Z")] - internal static extern void AddPreprocessedEntities(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearPreprocessedEntities@Declaration@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearPreprocessedEntities(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getRedeclarations@Declaration@AST@CppParser@CppSharp@@QAEPAV1234@I@Z")] - internal static extern global::System.IntPtr GetRedeclarations(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addRedeclarations@Declaration@AST@CppParser@CppSharp@@QAEXAAPAV1234@@Z")] - internal static extern void AddRedeclarations(global::System.IntPtr __instance, global::System.IntPtr s); + EntryPoint="?getParameters@FunctionType@AST@CppParser@CppSharp@@QAEPAVParameter@234@I@Z")] + internal static extern global::System.IntPtr GetParameters(global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearRedeclarations@Declaration@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearRedeclarations(global::System.IntPtr __instance); + EntryPoint="?addParameters@FunctionType@AST@CppParser@CppSharp@@QAEXAAPAVParameter@234@@Z")] + internal static extern void AddParameters(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getPreprocessedEntitiesCount@Declaration@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetPreprocessedEntitiesCount(global::System.IntPtr __instance); + EntryPoint="?clearParameters@FunctionType@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearParameters(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getRedeclarationsCount@Declaration@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetRedeclarationsCount(global::System.IntPtr __instance); + EntryPoint="?getParametersCount@FunctionType@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetParametersCount(global::System.IntPtr __instance); } - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.Declaration __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.FunctionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Declaration(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.FunctionType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Declaration __CreateInstance(global::CppSharp.Parser.AST.Declaration.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.FunctionType __CreateInstance(global::CppSharp.Parser.AST.FunctionType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Declaration(native, skipVTables); + return new global::CppSharp.Parser.AST.FunctionType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Declaration.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); - global::CppSharp.Parser.AST.Declaration.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); + global::CppSharp.Parser.AST.FunctionType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Declaration(global::CppSharp.Parser.AST.Declaration.__Internal native, bool skipVTables = false) + private FunctionType(global::CppSharp.Parser.AST.FunctionType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Declaration(void* native, bool skipVTables = false) + protected FunctionType(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public Declaration(global::CppSharp.Parser.AST.DeclarationKind kind) + public FunctionType() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), kind); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public Declaration(global::CppSharp.Parser.AST.Declaration _0) + public FunctionType(global::CppSharp.Parser.AST.FunctionType _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -4393,16 +4040,11 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.Type __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -4411,655 +4053,552 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.PreprocessedEntity GetPreprocessedEntities(uint i) - { - var __ret = __Internal.GetPreprocessedEntities((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.PreprocessedEntity __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.PreprocessedEntity.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.PreprocessedEntity) global::CppSharp.Parser.AST.PreprocessedEntity.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.PreprocessedEntity.__CreateInstance(__ret); - return __result0; - } - - public void AddPreprocessedEntities(global::CppSharp.Parser.AST.PreprocessedEntity s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddPreprocessedEntities((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearPreprocessedEntities() - { - __Internal.ClearPreprocessedEntities((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.Declaration GetRedeclarations(uint i) + public global::CppSharp.Parser.AST.Parameter GetParameters(uint i) { - var __ret = __Internal.GetRedeclarations((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Declaration __result0; + var __ret = __Internal.GetParameters((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Parameter __result0; if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(__ret); + else if (global::CppSharp.Parser.AST.Parameter.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Parameter) global::CppSharp.Parser.AST.Parameter.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Parameter.__CreateInstance(__ret); return __result0; } - public void AddRedeclarations(global::CppSharp.Parser.AST.Declaration s) + public void AddParameters(global::CppSharp.Parser.AST.Parameter s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddRedeclarations((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearRedeclarations() - { - __Internal.ClearRedeclarations((__Instance + __PointerAdjustment)); + __Internal.AddParameters((__Instance + __PointerAdjustment), __arg0); } - public static implicit operator global::CppSharp.Parser.AST.Declaration(global::CppSharp.Parser.AST.DeclarationKind kind) + public void ClearParameters() { - return new global::CppSharp.Parser.AST.Declaration(kind); + __Internal.ClearParameters((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.DeclarationKind Kind + public global::CppSharp.Parser.AST.QualifiedType ReturnType { get { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->kind; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->returnType)); } set { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->kind = value; + ((global::CppSharp.Parser.AST.FunctionType.__Internal*)__Instance)->returnType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public int MaxFieldAlignment + public global::CppSharp.Parser.AST.CallingConvention CallingConvention { get { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->maxFieldAlignment; + return ((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->callingConvention; } set { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->maxFieldAlignment = value; + ((global::CppSharp.Parser.AST.FunctionType.__Internal*)__Instance)->callingConvention = value; } } - public global::CppSharp.Parser.AST.AccessSpecifier Access + public global::CppSharp.Parser.AST.ExceptionSpecType ExceptionSpecType { get { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->access; + return ((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->exceptionSpecType; } set { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->access = value; + ((global::CppSharp.Parser.AST.FunctionType.__Internal*)__Instance)->exceptionSpecType = value; } } - public global::CppSharp.Parser.AST.DeclarationContext Namespace + public uint ParametersCount { get { - global::CppSharp.Parser.AST.DeclarationContext __result0; - if (((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.DeclarationContext.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace)) - __result0 = (global::CppSharp.Parser.AST.DeclarationContext) global::CppSharp.Parser.AST.DeclarationContext.NativeToManagedMap[((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace]; - else __result0 = global::CppSharp.Parser.AST.DeclarationContext.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->_namespace = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + var __ret = __Internal.GetParametersCount((__Instance + __PointerAdjustment)); + return __ret; } } + } - public global::CppSharp.Parser.SourceLocation Location + public unsafe partial class PointerType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 20)] + public new partial struct __Internal { - get - { - return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->location); - } + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->location = value.__Instance; - } - } + [FieldOffset(4)] + internal byte isDependent; - public int LineNumberStart - { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->lineNumberStart; - } + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedPointee; - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->lineNumberStart = value; - } + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.PointerType.TypeModifier modifier; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0PointerType@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0PointerType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); } - public int LineNumberEnd + public enum TypeModifier { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->lineNumberEnd; - } - - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->lineNumberEnd = value; - } + Value = 0, + Pointer = 1, + LVReference = 2, + RVReference = 3 } - public string Name + internal static new global::CppSharp.Parser.AST.PointerType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->name)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->name), value); - } + return new global::CppSharp.Parser.AST.PointerType(native.ToPointer(), skipVTables); } - public string USR + internal static global::CppSharp.Parser.AST.PointerType __CreateInstance(global::CppSharp.Parser.AST.PointerType.__Internal native, bool skipVTables = false) { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->USR)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + return new global::CppSharp.Parser.AST.PointerType(native, skipVTables); + } - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->USR), value); - } + private static void* __CopyValue(global::CppSharp.Parser.AST.PointerType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); + global::CppSharp.Parser.AST.PointerType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - public string DebugText + private PointerType(global::CppSharp.Parser.AST.PointerType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->debugText)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->debugText), value); - } + protected PointerType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - public bool IsIncomplete + public PointerType() + : this((void*) null) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isIncomplete != 0; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isIncomplete = (byte) (value ? 1 : 0); - } + public PointerType(global::CppSharp.Parser.AST.PointerType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public bool IsDependent + public global::CppSharp.Parser.AST.QualifiedType QualifiedPointee { get { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isDependent != 0; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->qualifiedPointee)); } set { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isDependent = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.PointerType.__Internal*)__Instance)->qualifiedPointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public bool IsImplicit + public global::CppSharp.Parser.AST.PointerType.TypeModifier Modifier { get { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isImplicit != 0; + return ((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->modifier; } set { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isImplicit = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.PointerType.__Internal*)__Instance)->modifier = value; } } + } - public bool IsInvalid + public unsafe partial class MemberPointerType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 16)] + public new partial struct __Internal { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isInvalid != 0; - } + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isInvalid = (byte) (value ? 1 : 0); - } + [FieldOffset(4)] + internal byte isDependent; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0MemberPointerType@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0MemberPointerType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); } - public global::CppSharp.Parser.AST.Declaration CompleteDeclaration + internal static new global::CppSharp.Parser.AST.MemberPointerType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - get - { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->completeDeclaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + return new global::CppSharp.Parser.AST.MemberPointerType(native.ToPointer(), skipVTables); } - public uint DefinitionOrder + internal static global::CppSharp.Parser.AST.MemberPointerType __CreateInstance(global::CppSharp.Parser.AST.MemberPointerType.__Internal native, bool skipVTables = false) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->definitionOrder; - } + return new global::CppSharp.Parser.AST.MemberPointerType(native, skipVTables); + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->definitionOrder = value; - } + private static void* __CopyValue(global::CppSharp.Parser.AST.MemberPointerType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); + global::CppSharp.Parser.AST.MemberPointerType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - public global::System.IntPtr OriginalPtr + private MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->originalPtr; - } + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->originalPtr = (global::System.IntPtr) value; - } + protected MemberPointerType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - public global::CppSharp.Parser.AST.RawComment Comment + public MemberPointerType() + : this((void*) null) { - get - { - global::CppSharp.Parser.AST.RawComment __result0; - if (((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.RawComment.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment)) - __result0 = (global::CppSharp.Parser.AST.RawComment) global::CppSharp.Parser.AST.RawComment.NativeToManagedMap[((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment]; - else __result0 = global::CppSharp.Parser.AST.RawComment.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment); - return __result0; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->comment = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + public MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public uint PreprocessedEntitiesCount + public global::CppSharp.Parser.AST.QualifiedType Pointee { get { - var __ret = __Internal.GetPreprocessedEntitiesCount((__Instance + __PointerAdjustment)); - return __ret; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MemberPointerType.__Internal*) __Instance)->pointee)); } - } - public uint RedeclarationsCount - { - get + set { - var __ret = __Internal.GetRedeclarationsCount((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.MemberPointerType.__Internal*)__Instance)->pointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } } - public unsafe partial class DeclarationContext : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class TypedefType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 264)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - internal int maxFieldAlignment; + internal byte isDependent; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(12)] - internal global::System.IntPtr _namespace; + internal global::System.IntPtr declaration; - [FieldOffset(16)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0TypedefType@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); - [FieldOffset(20)] - internal int lineNumberStart; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0TypedefType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } - [FieldOffset(24)] - internal int lineNumberEnd; + internal static new global::CppSharp.Parser.AST.TypedefType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TypedefType(native.ToPointer(), skipVTables); + } - [FieldOffset(28)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + internal static global::CppSharp.Parser.AST.TypedefType __CreateInstance(global::CppSharp.Parser.AST.TypedefType.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TypedefType(native, skipVTables); + } - [FieldOffset(52)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); + global::CppSharp.Parser.AST.TypedefType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(76)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + private TypedefType(global::CppSharp.Parser.AST.TypedefType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(100)] - internal byte isIncomplete; + protected TypedefType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(101)] - internal byte isDependent; + public TypedefType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [FieldOffset(102)] - internal byte isImplicit; + public TypedefType(global::CppSharp.Parser.AST.TypedefType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(103)] - internal byte isInvalid; + public global::CppSharp.Parser.AST.TypedefNameDecl Declaration + { + get + { + global::CppSharp.Parser.AST.TypedefNameDecl __result0; + if (((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TypedefNameDecl.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration)) + __result0 = (global::CppSharp.Parser.AST.TypedefNameDecl) global::CppSharp.Parser.AST.TypedefNameDecl.NativeToManagedMap[((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration]; + else __result0 = global::CppSharp.Parser.AST.TypedefNameDecl.__CreateInstance(((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration); + return __result0; + } - [FieldOffset(104)] - internal global::System.IntPtr completeDeclaration; + set + { + ((global::CppSharp.Parser.AST.TypedefType.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } - [FieldOffset(108)] - internal uint definitionOrder; + public unsafe partial class AttributedType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + [FieldOffset(4)] + internal byte isDependent; - [FieldOffset(124)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal modified; - [FieldOffset(136)] - internal global::System.IntPtr originalPtr; + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal equivalent; - [FieldOffset(140)] - internal global::System.IntPtr comment; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0AttributedType@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); - [FieldOffset(144)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0AttributedType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } - [FieldOffset(156)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; + internal static new global::CppSharp.Parser.AST.AttributedType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AttributedType(native.ToPointer(), skipVTables); + } - [FieldOffset(168)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; + internal static global::CppSharp.Parser.AST.AttributedType __CreateInstance(global::CppSharp.Parser.AST.AttributedType.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AttributedType(native, skipVTables); + } - [FieldOffset(180)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; + private static void* __CopyValue(global::CppSharp.Parser.AST.AttributedType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + global::CppSharp.Parser.AST.AttributedType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(192)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; + private AttributedType(global::CppSharp.Parser.AST.AttributedType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(204)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; + protected AttributedType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(216)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; + public AttributedType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [FieldOffset(228)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; + public AttributedType(global::CppSharp.Parser.AST.AttributedType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(240)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; + public global::CppSharp.Parser.AST.QualifiedType Modified + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.AttributedType.__Internal*) __Instance)->modified)); + } - [FieldOffset(252)] - internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + set + { + ((global::CppSharp.Parser.AST.AttributedType.__Internal*)__Instance)->modified = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } - [FieldOffset(260)] - internal byte isAnonymous; + public global::CppSharp.Parser.AST.QualifiedType Equivalent + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.AttributedType.__Internal*) __Instance)->equivalent)); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0DeclarationContext@AST@CppParser@CppSharp@@QAE@W4DeclarationKind@123@@Z")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.DeclarationKind kind); + set + { + ((global::CppSharp.Parser.AST.AttributedType.__Internal*)__Instance)->equivalent = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0DeclarationContext@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + public unsafe partial class DecayedType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1DeclarationContext@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern void dtor(global::System.IntPtr __instance, int delete); + [FieldOffset(4)] + internal byte isDependent; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getNamespaces@DeclarationContext@AST@CppParser@CppSharp@@QAEPAVNamespace@234@I@Z")] - internal static extern global::System.IntPtr GetNamespaces(global::System.IntPtr __instance, uint i); + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal decayed; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addNamespaces@DeclarationContext@AST@CppParser@CppSharp@@QAEXAAPAVNamespace@234@@Z")] - internal static extern void AddNamespaces(global::System.IntPtr __instance, global::System.IntPtr s); + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal original; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearNamespaces@DeclarationContext@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearNamespaces(global::System.IntPtr __instance); + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getEnums@DeclarationContext@AST@CppParser@CppSharp@@QAEPAVEnumeration@234@I@Z")] - internal static extern global::System.IntPtr GetEnums(global::System.IntPtr __instance, uint i); + EntryPoint="??0DecayedType@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addEnums@DeclarationContext@AST@CppParser@CppSharp@@QAEXAAPAVEnumeration@234@@Z")] - internal static extern void AddEnums(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearEnums@DeclarationContext@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearEnums(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getFunctions@DeclarationContext@AST@CppParser@CppSharp@@QAEPAVFunction@234@I@Z")] - internal static extern global::System.IntPtr GetFunctions(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addFunctions@DeclarationContext@AST@CppParser@CppSharp@@QAEXAAPAVFunction@234@@Z")] - internal static extern void AddFunctions(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearFunctions@DeclarationContext@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearFunctions(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getClasses@DeclarationContext@AST@CppParser@CppSharp@@QAEPAVClass@234@I@Z")] - internal static extern global::System.IntPtr GetClasses(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addClasses@DeclarationContext@AST@CppParser@CppSharp@@QAEXAAPAVClass@234@@Z")] - internal static extern void AddClasses(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearClasses@DeclarationContext@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearClasses(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getTemplates@DeclarationContext@AST@CppParser@CppSharp@@QAEPAVTemplate@234@I@Z")] - internal static extern global::System.IntPtr GetTemplates(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addTemplates@DeclarationContext@AST@CppParser@CppSharp@@QAEXAAPAVTemplate@234@@Z")] - internal static extern void AddTemplates(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearTemplates@DeclarationContext@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearTemplates(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getTypedefs@DeclarationContext@AST@CppParser@CppSharp@@QAEPAVTypedefDecl@234@I@Z")] - internal static extern global::System.IntPtr GetTypedefs(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addTypedefs@DeclarationContext@AST@CppParser@CppSharp@@QAEXAAPAVTypedefDecl@234@@Z")] - internal static extern void AddTypedefs(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearTypedefs@DeclarationContext@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearTypedefs(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getTypeAliases@DeclarationContext@AST@CppParser@CppSharp@@QAEPAVTypeAlias@234@I@Z")] - internal static extern global::System.IntPtr GetTypeAliases(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addTypeAliases@DeclarationContext@AST@CppParser@CppSharp@@QAEXAAPAVTypeAlias@234@@Z")] - internal static extern void AddTypeAliases(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearTypeAliases@DeclarationContext@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearTypeAliases(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getVariables@DeclarationContext@AST@CppParser@CppSharp@@QAEPAVVariable@234@I@Z")] - internal static extern global::System.IntPtr GetVariables(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addVariables@DeclarationContext@AST@CppParser@CppSharp@@QAEXAAPAVVariable@234@@Z")] - internal static extern void AddVariables(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearVariables@DeclarationContext@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearVariables(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getFriends@DeclarationContext@AST@CppParser@CppSharp@@QAEPAVFriend@234@I@Z")] - internal static extern global::System.IntPtr GetFriends(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addFriends@DeclarationContext@AST@CppParser@CppSharp@@QAEXAAPAVFriend@234@@Z")] - internal static extern void AddFriends(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearFriends@DeclarationContext@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearFriends(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getNamespacesCount@DeclarationContext@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetNamespacesCount(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getEnumsCount@DeclarationContext@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetEnumsCount(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getFunctionsCount@DeclarationContext@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetFunctionsCount(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getClassesCount@DeclarationContext@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetClassesCount(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getTemplatesCount@DeclarationContext@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetTemplatesCount(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getTypedefsCount@DeclarationContext@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetTypedefsCount(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getTypeAliasesCount@DeclarationContext@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetTypeAliasesCount(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getVariablesCount@DeclarationContext@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetVariablesCount(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getFriendsCount@DeclarationContext@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetFriendsCount(global::System.IntPtr __instance); + EntryPoint="??0DecayedType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); } - internal static new global::CppSharp.Parser.AST.DeclarationContext __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.DecayedType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.DeclarationContext(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.DecayedType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.DeclarationContext __CreateInstance(global::CppSharp.Parser.AST.DeclarationContext.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.DecayedType __CreateInstance(global::CppSharp.Parser.AST.DecayedType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.DeclarationContext(native, skipVTables); + return new global::CppSharp.Parser.AST.DecayedType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.DeclarationContext.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.DecayedType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); - global::CppSharp.Parser.AST.DeclarationContext.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); + global::CppSharp.Parser.AST.DecayedType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private DeclarationContext(global::CppSharp.Parser.AST.DeclarationContext.__Internal native, bool skipVTables = false) + private DecayedType(global::CppSharp.Parser.AST.DecayedType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected DeclarationContext(void* native, bool skipVTables = false) + protected DecayedType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -5068,19 +4607,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public DeclarationContext(global::CppSharp.Parser.AST.DeclarationKind kind) + public DecayedType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), kind); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public DeclarationContext(global::CppSharp.Parser.AST.DeclarationContext _0) + public DecayedType(global::CppSharp.Parser.AST.DecayedType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -5089,444 +4628,296 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public global::CppSharp.Parser.AST.QualifiedType Decayed { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->decayed)); + } - public global::CppSharp.Parser.AST.Namespace GetNamespaces(uint i) - { - var __ret = __Internal.GetNamespaces((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Namespace __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Namespace.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Namespace) global::CppSharp.Parser.AST.Namespace.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Namespace.__CreateInstance(__ret); - return __result0; + set + { + ((global::CppSharp.Parser.AST.DecayedType.__Internal*)__Instance)->decayed = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } - public void AddNamespaces(global::CppSharp.Parser.AST.Namespace s) + public global::CppSharp.Parser.AST.QualifiedType Original { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddNamespaces((__Instance + __PointerAdjustment), __arg0); - } + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->original)); + } - public void ClearNamespaces() - { - __Internal.ClearNamespaces((__Instance + __PointerAdjustment)); + set + { + ((global::CppSharp.Parser.AST.DecayedType.__Internal*)__Instance)->original = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } - public global::CppSharp.Parser.AST.Enumeration GetEnums(uint i) + public global::CppSharp.Parser.AST.QualifiedType Pointee { - var __ret = __Internal.GetEnums((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Enumeration __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Enumeration.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Enumeration) global::CppSharp.Parser.AST.Enumeration.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Enumeration.__CreateInstance(__ret); - return __result0; + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->pointee)); + } + + set + { + ((global::CppSharp.Parser.AST.DecayedType.__Internal*)__Instance)->pointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } + } - public void AddEnums(global::CppSharp.Parser.AST.Enumeration s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddEnums((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearEnums() - { - __Internal.ClearEnums((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.Function GetFunctions(uint i) - { - var __ret = __Internal.GetFunctions((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Function __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(__ret); - return __result0; - } - - public void AddFunctions(global::CppSharp.Parser.AST.Function s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddFunctions((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearFunctions() - { - __Internal.ClearFunctions((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.Class GetClasses(uint i) + public unsafe partial class TemplateArgument : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 20)] + public partial struct __Internal { - var __ret = __Internal.GetClasses((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Class __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(__ret); - return __result0; - } + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind kind; - public void AddClasses(global::CppSharp.Parser.AST.Class s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddClasses((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(4)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; - public void ClearClasses() - { - __Internal.ClearClasses((__Instance + __PointerAdjustment)); - } + [FieldOffset(12)] + internal global::System.IntPtr declaration; - public global::CppSharp.Parser.AST.Template GetTemplates(uint i) - { - var __ret = __Internal.GetTemplates((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Template __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Template.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Template) global::CppSharp.Parser.AST.Template.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Template.__CreateInstance(__ret); - return __result0; - } + [FieldOffset(16)] + internal int integral; - public void AddTemplates(global::CppSharp.Parser.AST.Template s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddTemplates((__Instance + __PointerAdjustment), __arg0); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0TemplateArgument@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); - public void ClearTemplates() - { - __Internal.ClearTemplates((__Instance + __PointerAdjustment)); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0TemplateArgument@AST@CppParser@CppSharp@@QAE@ABU0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); } - public global::CppSharp.Parser.AST.TypedefDecl GetTypedefs(uint i) + public enum ArgumentKind { - var __ret = __Internal.GetTypedefs((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.TypedefDecl __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TypedefDecl.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.TypedefDecl) global::CppSharp.Parser.AST.TypedefDecl.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.TypedefDecl.__CreateInstance(__ret); - return __result0; + Type = 0, + Declaration = 1, + NullPtr = 2, + Integral = 3, + Template = 4, + TemplateExpansion = 5, + Expression = 6, + Pack = 7 } - public void AddTypedefs(global::CppSharp.Parser.AST.TypedefDecl s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddTypedefs((__Instance + __PointerAdjustment), __arg0); - } + public global::System.IntPtr __Instance { get; protected set; } - public void ClearTypedefs() - { - __Internal.ClearTypedefs((__Instance + __PointerAdjustment)); - } + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; - public global::CppSharp.Parser.AST.TypeAlias GetTypeAliases(uint i) - { - var __ret = __Internal.GetTypeAliases((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.TypeAlias __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TypeAlias.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.TypeAlias) global::CppSharp.Parser.AST.TypeAlias.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.TypeAlias.__CreateInstance(__ret); - return __result0; - } + protected bool __ownsNativeInstance; - public void AddTypeAliases(global::CppSharp.Parser.AST.TypeAlias s) + internal static global::CppSharp.Parser.AST.TemplateArgument __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddTypeAliases((__Instance + __PointerAdjustment), __arg0); + return new global::CppSharp.Parser.AST.TemplateArgument(native.ToPointer(), skipVTables); } - public void ClearTypeAliases() + internal static global::CppSharp.Parser.AST.TemplateArgument __CreateInstance(global::CppSharp.Parser.AST.TemplateArgument.__Internal native, bool skipVTables = false) { - __Internal.ClearTypeAliases((__Instance + __PointerAdjustment)); + return new global::CppSharp.Parser.AST.TemplateArgument(native, skipVTables); } - public global::CppSharp.Parser.AST.Variable GetVariables(uint i) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateArgument.__Internal native) { - var __ret = __Internal.GetVariables((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Variable __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Variable.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Variable) global::CppSharp.Parser.AST.Variable.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Variable.__CreateInstance(__ret); - return __result0; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + *(global::CppSharp.Parser.AST.TemplateArgument.__Internal*) ret = native; + return ret.ToPointer(); } - public void AddVariables(global::CppSharp.Parser.AST.Variable s) + private TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddVariables((__Instance + __PointerAdjustment), __arg0); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; } - public void ClearVariables() + protected TemplateArgument(void* native, bool skipVTables = false) { - __Internal.ClearVariables((__Instance + __PointerAdjustment)); + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - public global::CppSharp.Parser.AST.Friend GetFriends(uint i) + public TemplateArgument() { - var __ret = __Internal.GetFriends((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Friend __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Friend.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Friend) global::CppSharp.Parser.AST.Friend.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Friend.__CreateInstance(__ret); - return __result0; + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); } - public void AddFriends(global::CppSharp.Parser.AST.Friend s) + public TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument _0) { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddFriends((__Instance + __PointerAdjustment), __arg0); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) _0.__Instance); } - public void ClearFriends() + public void Dispose() { - __Internal.ClearFriends((__Instance + __PointerAdjustment)); + Dispose(disposing: true); } - public static implicit operator global::CppSharp.Parser.AST.DeclarationContext(global::CppSharp.Parser.AST.DeclarationKind kind) + public virtual void Dispose(bool disposing) { - return new global::CppSharp.Parser.AST.DeclarationContext(kind); + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.TemplateArgument __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } - public bool IsAnonymous + public global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind Kind { get { - return ((global::CppSharp.Parser.AST.DeclarationContext.__Internal*) __Instance)->isAnonymous != 0; + return ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->kind; } set { - ((global::CppSharp.Parser.AST.DeclarationContext.__Internal*)__Instance)->isAnonymous = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->kind = value; } } - public uint NamespacesCount + public global::CppSharp.Parser.AST.QualifiedType Type { get { - var __ret = __Internal.GetNamespacesCount((__Instance + __PointerAdjustment)); - return __ret; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->type)); } - } - public uint EnumsCount - { - get + set { - var __ret = __Internal.GetEnumsCount((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public uint FunctionsCount + public global::CppSharp.Parser.AST.Declaration Declaration { get { - var __ret = __Internal.GetFunctionsCount((__Instance + __PointerAdjustment)); - return __ret; + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration); + return __result0; } - } - public uint ClassesCount - { - get + set { - var __ret = __Internal.GetClassesCount((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public uint TemplatesCount + public int Integral { get { - var __ret = __Internal.GetTemplatesCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->integral; } - } - public uint TypedefsCount - { - get - { - var __ret = __Internal.GetTypedefsCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint TypeAliasesCount - { - get - { - var __ret = __Internal.GetTypeAliasesCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint VariablesCount - { - get - { - var __ret = __Internal.GetVariablesCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint FriendsCount - { - get + set { - var __ret = __Internal.GetFriendsCount((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->integral = value; } } } - public unsafe partial class TypedefNameDecl : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class TemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 152)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - internal int maxFieldAlignment; + internal byte isDependent; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(12)] - internal global::System.IntPtr _namespace; - - [FieldOffset(16)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; [FieldOffset(20)] - internal int lineNumberStart; + internal global::System.IntPtr _template; [FieldOffset(24)] - internal int lineNumberEnd; - - [FieldOffset(28)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(52)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - - [FieldOffset(76)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - - [FieldOffset(100)] - internal byte isIncomplete; - - [FieldOffset(101)] - internal byte isDependent; - - [FieldOffset(102)] - internal byte isImplicit; - - [FieldOffset(103)] - internal byte isInvalid; - - [FieldOffset(104)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(108)] - internal uint definitionOrder; - - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; - [FieldOffset(124)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0TemplateSpecializationType@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); - [FieldOffset(136)] - internal global::System.IntPtr originalPtr; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0TemplateSpecializationType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - [FieldOffset(140)] - internal global::System.IntPtr comment; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??1TemplateSpecializationType@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); - [FieldOffset(144)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getArguments@TemplateSpecializationType@AST@CppParser@CppSharp@@QAE?AUTemplateArgument@234@I@Z")] + internal static extern void GetArguments(global::System.IntPtr __instance, global::System.IntPtr @return, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TypedefNameDecl@AST@CppParser@CppSharp@@QAE@W4DeclarationKind@123@@Z")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.DeclarationKind kind); + EntryPoint="?addArguments@TemplateSpecializationType@AST@CppParser@CppSharp@@QAEXAAUTemplateArgument@234@@Z")] + internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TypedefNameDecl@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + EntryPoint="?clearArguments@TemplateSpecializationType@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearArguments(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1TypedefNameDecl@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern void dtor(global::System.IntPtr __instance, int delete); + EntryPoint="?getArgumentsCount@TemplateSpecializationType@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.TypedefNameDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TemplateSpecializationType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypedefNameDecl(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TemplateSpecializationType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TypedefNameDecl __CreateInstance(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TemplateSpecializationType __CreateInstance(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypedefNameDecl(native, skipVTables); + return new global::CppSharp.Parser.AST.TemplateSpecializationType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); - global::CppSharp.Parser.AST.TypedefNameDecl.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); + global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native, bool skipVTables = false) + private TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TypedefNameDecl(void* native, bool skipVTables = false) + protected TemplateSpecializationType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -5535,19 +4926,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) + public TemplateSpecializationType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), kind); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl _0) + public TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -5560,7 +4951,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.Type __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -5569,134 +4960,145 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public static implicit operator global::CppSharp.Parser.AST.TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) { - return new global::CppSharp.Parser.AST.TypedefNameDecl(kind); + var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); + __Internal.GetArguments((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); + return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType + public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearArguments() + { + __Internal.ClearArguments((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Template Template { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TypedefNameDecl.__Internal*) __Instance)->qualifiedType)); + global::CppSharp.Parser.AST.Template __result0; + if (((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Template.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template)) + __result0 = (global::CppSharp.Parser.AST.Template) global::CppSharp.Parser.AST.Template.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template]; + else __result0 = global::CppSharp.Parser.AST.Template.__CreateInstance(((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template); + return __result0; } set { - ((global::CppSharp.Parser.AST.TypedefNameDecl.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*)__Instance)->_template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType Desugared + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->desugared)); + } + + set + { + ((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*)__Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public uint ArgumentsCount + { + get + { + var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class TypedefDecl : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable + public unsafe partial class DependentTemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 152)] + [StructLayout(LayoutKind.Explicit, Size = 28)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - internal int maxFieldAlignment; + internal byte isDependent; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(12)] - internal global::System.IntPtr _namespace; - - [FieldOffset(16)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; [FieldOffset(20)] - internal int lineNumberStart; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; - [FieldOffset(24)] - internal int lineNumberEnd; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0DependentTemplateSpecializationType@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); - [FieldOffset(28)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0DependentTemplateSpecializationType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - [FieldOffset(52)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??1DependentTemplateSpecializationType@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); - [FieldOffset(76)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getArguments@DependentTemplateSpecializationType@AST@CppParser@CppSharp@@QAE?AUTemplateArgument@234@I@Z")] + internal static extern void GetArguments(global::System.IntPtr __instance, global::System.IntPtr @return, uint i); - [FieldOffset(100)] - internal byte isIncomplete; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?addArguments@DependentTemplateSpecializationType@AST@CppParser@CppSharp@@QAEXAAUTemplateArgument@234@@Z")] + internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); - [FieldOffset(101)] - internal byte isDependent; - - [FieldOffset(102)] - internal byte isImplicit; - - [FieldOffset(103)] - internal byte isInvalid; - - [FieldOffset(104)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(108)] - internal uint definitionOrder; - - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(124)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - - [FieldOffset(136)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(140)] - internal global::System.IntPtr comment; - - [FieldOffset(144)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TypedefDecl@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TypedefDecl@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?clearArguments@DependentTemplateSpecializationType@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearArguments(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1TypedefDecl@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern void dtor(global::System.IntPtr __instance, int delete); + EntryPoint="?getArgumentsCount@DependentTemplateSpecializationType@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.TypedefDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.DependentTemplateSpecializationType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypedefDecl(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.DependentTemplateSpecializationType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TypedefDecl __CreateInstance(global::CppSharp.Parser.AST.TypedefDecl.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.DependentTemplateSpecializationType __CreateInstance(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypedefDecl(native, skipVTables); + return new global::CppSharp.Parser.AST.DependentTemplateSpecializationType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefDecl.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); - global::CppSharp.Parser.AST.TypedefDecl.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); + global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl.__Internal native, bool skipVTables = false) + private DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TypedefDecl(void* native, bool skipVTables = false) + protected DependentTemplateSpecializationType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -5705,19 +5107,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TypedefDecl() + public DependentTemplateSpecializationType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl _0) + public DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -5730,7 +5132,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.Type __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -5738,120 +5140,114 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } + + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) + { + var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); + __Internal.GetArguments((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); + return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); + } + + public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearArguments() + { + __Internal.ClearArguments((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.QualifiedType Desugared + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal*) __Instance)->desugared)); + } + + set + { + ((global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal*)__Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public uint ArgumentsCount + { + get + { + var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } } - public unsafe partial class TypeAlias : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable + public unsafe partial class TemplateParameterType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 156)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - internal int maxFieldAlignment; + internal byte isDependent; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + internal global::System.IntPtr parameter; [FieldOffset(12)] - internal global::System.IntPtr _namespace; + internal uint depth; [FieldOffset(16)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + internal uint index; [FieldOffset(20)] - internal int lineNumberStart; - - [FieldOffset(24)] - internal int lineNumberEnd; - - [FieldOffset(28)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(52)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - - [FieldOffset(76)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - - [FieldOffset(100)] - internal byte isIncomplete; - - [FieldOffset(101)] - internal byte isDependent; - - [FieldOffset(102)] - internal byte isImplicit; - - [FieldOffset(103)] - internal byte isInvalid; - - [FieldOffset(104)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(108)] - internal uint definitionOrder; - - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(124)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - - [FieldOffset(136)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(140)] - internal global::System.IntPtr comment; - - [FieldOffset(144)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - - [FieldOffset(152)] - internal global::System.IntPtr describedAliasTemplate; + internal byte isParameterPack; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TypeAlias@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0TemplateParameterType@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TypeAlias@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0TemplateParameterType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1TypeAlias@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??1TemplateParameterType@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor(global::System.IntPtr __instance, int delete); } - internal static new global::CppSharp.Parser.AST.TypeAlias __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TemplateParameterType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypeAlias(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TemplateParameterType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TypeAlias __CreateInstance(global::CppSharp.Parser.AST.TypeAlias.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TemplateParameterType __CreateInstance(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypeAlias(native, skipVTables); + return new global::CppSharp.Parser.AST.TemplateParameterType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypeAlias.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); - global::CppSharp.Parser.AST.TypeAlias.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); + global::CppSharp.Parser.AST.TemplateParameterType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TypeAlias(global::CppSharp.Parser.AST.TypeAlias.__Internal native, bool skipVTables = false) + private TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TypeAlias(void* native, bool skipVTables = false) + protected TemplateParameterType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -5860,19 +5256,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TypeAlias() + public TemplateParameterType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TypeAlias(global::CppSharp.Parser.AST.TypeAlias _0) + public TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -5885,7 +5281,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.Type __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -5894,134 +5290,117 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TypeAliasTemplate DescribedAliasTemplate + public global::CppSharp.Parser.AST.TypeTemplateParameter Parameter { get { - global::CppSharp.Parser.AST.TypeAliasTemplate __result0; - if (((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TypeAliasTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate)) - __result0 = (global::CppSharp.Parser.AST.TypeAliasTemplate) global::CppSharp.Parser.AST.TypeAliasTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate]; - else __result0 = global::CppSharp.Parser.AST.TypeAliasTemplate.__CreateInstance(((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate); + global::CppSharp.Parser.AST.TypeTemplateParameter __result0; + if (((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TypeTemplateParameter.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter)) + __result0 = (global::CppSharp.Parser.AST.TypeTemplateParameter) global::CppSharp.Parser.AST.TypeTemplateParameter.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter]; + else __result0 = global::CppSharp.Parser.AST.TypeTemplateParameter.__CreateInstance(((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter); return __result0; } set { - ((global::CppSharp.Parser.AST.TypeAlias.__Internal*)__Instance)->describedAliasTemplate = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->parameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - } - public unsafe partial class Friend : global::CppSharp.Parser.AST.Declaration, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 148)] - public new partial struct __Internal + public uint Depth { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + get + { + return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->depth; + } - [FieldOffset(4)] - internal int maxFieldAlignment; + set + { + ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->depth = value; + } + } - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + public uint Index + { + get + { + return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->index; + } - [FieldOffset(12)] - internal global::System.IntPtr _namespace; + set + { + ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->index = value; + } + } - [FieldOffset(16)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(20)] - internal int lineNumberStart; - - [FieldOffset(24)] - internal int lineNumberEnd; - - [FieldOffset(28)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(52)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + public bool IsParameterPack + { + get + { + return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->isParameterPack != 0; + } - [FieldOffset(76)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + set + { + ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->isParameterPack = (byte) (value ? 1 : 0); + } + } + } - [FieldOffset(100)] - internal byte isIncomplete; + public unsafe partial class TemplateParameterSubstitutionType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 20)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; - [FieldOffset(101)] + [FieldOffset(4)] internal byte isDependent; - [FieldOffset(102)] - internal byte isImplicit; - - [FieldOffset(103)] - internal byte isInvalid; - - [FieldOffset(104)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(108)] - internal uint definitionOrder; - - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(124)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - - [FieldOffset(136)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(140)] - internal global::System.IntPtr comment; + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal replacement; - [FieldOffset(144)] - internal global::System.IntPtr declaration; + [FieldOffset(16)] + internal global::System.IntPtr replacedParameter; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Friend@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0TemplateParameterSubstitutionType@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Friend@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0TemplateParameterSubstitutionType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1Friend@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern void dtor(global::System.IntPtr __instance, int delete); } - internal static new global::CppSharp.Parser.AST.Friend __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Friend(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Friend __CreateInstance(global::CppSharp.Parser.AST.Friend.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TemplateParameterSubstitutionType __CreateInstance(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Friend(native, skipVTables); + return new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Friend.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); - global::CppSharp.Parser.AST.Friend.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); + global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Friend(global::CppSharp.Parser.AST.Friend.__Internal native, bool skipVTables = false) + private TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Friend(void* native, bool skipVTables = false) + protected TemplateParameterSubstitutionType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -6030,19 +5409,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Friend() + public TemplateParameterSubstitutionType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public Friend(global::CppSharp.Parser.AST.Friend _0) + public TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -6051,123 +5430,112 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public global::CppSharp.Parser.AST.QualifiedType Replacement { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacement)); + } + + set + { + ((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*)__Instance)->replacement = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } - public global::CppSharp.Parser.AST.Declaration Declaration + public global::CppSharp.Parser.AST.TemplateParameterType ReplacedParameter { get { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration); + global::CppSharp.Parser.AST.TemplateParameterType __result0; + if (((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TemplateParameterType.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter)) + __result0 = (global::CppSharp.Parser.AST.TemplateParameterType) global::CppSharp.Parser.AST.TemplateParameterType.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter]; + else __result0 = global::CppSharp.Parser.AST.TemplateParameterType.__CreateInstance(((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter); return __result0; } set { - ((global::CppSharp.Parser.AST.Friend.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*)__Instance)->replacedParameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class Statement : IDisposable + public unsafe partial class InjectedClassNameType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 32)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 20)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.StatementClass _class; + internal global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - internal global::System.IntPtr decl; + internal byte isDependent; [FieldOffset(8)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal injectedSpecializationType; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Statement@AST@CppParser@CppSharp@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@W4StatementClass@123@PAVDeclaration@123@@Z")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::System.IntPtr str, global::CppSharp.Parser.AST.StatementClass Class, global::System.IntPtr decl); + [FieldOffset(16)] + internal global::System.IntPtr _class; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Statement@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + EntryPoint="??0InjectedClassNameType@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1Statement@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern void dtor(global::System.IntPtr __instance, int delete); + EntryPoint="??0InjectedClassNameType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); } - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.Statement __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.InjectedClassNameType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Statement(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.InjectedClassNameType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Statement __CreateInstance(global::CppSharp.Parser.AST.Statement.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.InjectedClassNameType __CreateInstance(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Statement(native, skipVTables); + return new global::CppSharp.Parser.AST.InjectedClassNameType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Statement.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Statement.__Internal)); - global::CppSharp.Parser.AST.Statement.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); + global::CppSharp.Parser.AST.InjectedClassNameType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Statement(global::CppSharp.Parser.AST.Statement.__Internal native, bool skipVTables = false) + private InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Statement(void* native, bool skipVTables = false) + protected InjectedClassNameType(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public Statement(string str, global::CppSharp.Parser.AST.StatementClass Class, global::CppSharp.Parser.AST.Declaration decl) + public InjectedClassNameType() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Statement.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, str); - var __arg0 = __basicString0.__Instance; - var __arg2 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; - __Internal.ctor((__Instance + __PointerAdjustment), __arg0, Class, __arg2); - __basicString0.Dispose(false); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public Statement(global::CppSharp.Parser.AST.Statement _0) + public InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Statement.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -6176,127 +5544,96 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Statement __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public global::CppSharp.Parser.AST.StatementClass Class + public global::CppSharp.Parser.AST.QualifiedType InjectedSpecializationType { get { - return ((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->_class; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->injectedSpecializationType)); } set { - ((global::CppSharp.Parser.AST.Statement.__Internal*)__Instance)->_class = value; + ((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*)__Instance)->injectedSpecializationType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public global::CppSharp.Parser.AST.Declaration Decl + public global::CppSharp.Parser.AST.Class Class { get { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl); + global::CppSharp.Parser.AST.Class __result0; + if (((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class)) + __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class]; + else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class); return __result0; } set { - ((global::CppSharp.Parser.AST.Statement.__Internal*)__Instance)->decl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - - public string String - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->@string)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Statement.__Internal*)__Instance)->@string), value); + ((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*)__Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class Expression : global::CppSharp.Parser.AST.Statement, IDisposable + public unsafe partial class DependentNameType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.StatementClass _class; + internal global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - internal global::System.IntPtr decl; + internal byte isDependent; [FieldOffset(8)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifier; + + [FieldOffset(16)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C identifier; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Expression@AST@CppParser@CppSharp@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@W4StatementClass@123@PAVDeclaration@123@@Z")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::System.IntPtr str, global::CppSharp.Parser.AST.StatementClass Class, global::System.IntPtr decl); + EntryPoint="??0DependentNameType@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Expression@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0DependentNameType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1Expression@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??1DependentNameType@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor(global::System.IntPtr __instance, int delete); } - internal static new global::CppSharp.Parser.AST.Expression __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.DependentNameType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Expression(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.DependentNameType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Expression __CreateInstance(global::CppSharp.Parser.AST.Expression.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.DependentNameType __CreateInstance(global::CppSharp.Parser.AST.DependentNameType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Expression(native, skipVTables); + return new global::CppSharp.Parser.AST.DependentNameType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Expression.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.DependentNameType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expression.__Internal)); - global::CppSharp.Parser.AST.Expression.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); + global::CppSharp.Parser.AST.DependentNameType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Expression(global::CppSharp.Parser.AST.Expression.__Internal native, bool skipVTables = false) + private DependentNameType(global::CppSharp.Parser.AST.DependentNameType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Expression(void* native, bool skipVTables = false) + protected DependentNameType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -6305,24 +5642,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Expression(string str, global::CppSharp.Parser.AST.StatementClass Class, global::CppSharp.Parser.AST.Declaration decl) + public DependentNameType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expression.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, str); - var __arg0 = __basicString0.__Instance; - var __arg2 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; - __Internal.ctor((__Instance + __PointerAdjustment), __arg0, Class, __arg2); - __basicString0.Dispose(false); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public Expression(global::CppSharp.Parser.AST.Expression _0) + public DependentNameType(global::CppSharp.Parser.AST.DependentNameType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expression.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -6335,7 +5667,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Statement __dummy; + global::CppSharp.Parser.AST.Type __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -6343,72 +5675,84 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } + + public global::CppSharp.Parser.AST.QualifiedType Qualifier + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentNameType.__Internal*) __Instance)->qualifier)); + } + + set + { + ((global::CppSharp.Parser.AST.DependentNameType.__Internal*)__Instance)->qualifier = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public string Identifier + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentNameType.__Internal*) __Instance)->identifier)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentNameType.__Internal*)__Instance)->identifier), value); + } + } } - public unsafe partial class BinaryOperator : global::CppSharp.Parser.AST.Expression, IDisposable + public unsafe partial class PackExpansionType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 64)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.StatementClass _class; + internal global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - internal global::System.IntPtr decl; - - [FieldOffset(8)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; - - [FieldOffset(32)] - internal global::System.IntPtr LHS; - - [FieldOffset(36)] - internal global::System.IntPtr RHS; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C opcodeStr; + internal byte isDependent; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0BinaryOperator@AST@CppParser@CppSharp@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVExpression@123@10@Z")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::System.IntPtr str, global::System.IntPtr lhs, global::System.IntPtr rhs, global::System.IntPtr opcodeStr); + EntryPoint="??0PackExpansionType@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0BinaryOperator@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0PackExpansionType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1BinaryOperator@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern void dtor(global::System.IntPtr __instance, int delete); } - internal static new global::CppSharp.Parser.AST.BinaryOperator __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.PackExpansionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BinaryOperator(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.PackExpansionType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.BinaryOperator __CreateInstance(global::CppSharp.Parser.AST.BinaryOperator.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.PackExpansionType __CreateInstance(global::CppSharp.Parser.AST.PackExpansionType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BinaryOperator(native, skipVTables); + return new global::CppSharp.Parser.AST.PackExpansionType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.BinaryOperator.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.PackExpansionType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); - global::CppSharp.Parser.AST.BinaryOperator.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); + global::CppSharp.Parser.AST.PackExpansionType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private BinaryOperator(global::CppSharp.Parser.AST.BinaryOperator.__Internal native, bool skipVTables = false) + private PackExpansionType(global::CppSharp.Parser.AST.PackExpansionType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected BinaryOperator(void* native, bool skipVTables = false) + protected PackExpansionType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -6417,29 +5761,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public BinaryOperator(string str, global::CppSharp.Parser.AST.Expression lhs, global::CppSharp.Parser.AST.Expression rhs, string opcodeStr) + public PackExpansionType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, str); - var __arg0 = __basicString0.__Instance; - var __arg1 = ReferenceEquals(lhs, null) ? global::System.IntPtr.Zero : lhs.__Instance; - var __arg2 = ReferenceEquals(rhs, null) ? global::System.IntPtr.Zero : rhs.__Instance; - var __basicString3 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString3, opcodeStr); - var __arg3 = __basicString3.__Instance; - __Internal.ctor((__Instance + __PointerAdjustment), __arg0, __arg1, __arg2, __arg3); - __basicString0.Dispose(false); - __basicString3.Dispose(false); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public BinaryOperator(global::CppSharp.Parser.AST.BinaryOperator _0) + public PackExpansionType(global::CppSharp.Parser.AST.PackExpansionType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -6447,151 +5781,170 @@ namespace CppSharp var __arg0 = _0.__Instance; __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } + } - public override void Dispose(bool disposing) + public unsafe partial class UnaryTransformType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public new partial struct __Internal { - if (__Instance == IntPtr.Zero) + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + internal byte isDependent; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal baseType; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0UnaryTransformType@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0UnaryTransformType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.UnaryTransformType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.UnaryTransformType(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.UnaryTransformType __CreateInstance(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.UnaryTransformType(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); + global::CppSharp.Parser.AST.UnaryTransformType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected UnaryTransformType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) return; - global::CppSharp.Parser.AST.Statement __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + __Instance = new global::System.IntPtr(native); } - public global::CppSharp.Parser.AST.Expression LHS + public UnaryTransformType() + : this((void*) null) { - get - { - global::CppSharp.Parser.AST.Expression __result0; - if (((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS)) - __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS]; - else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS); - return __result0; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - set - { - ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->LHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + public UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.Expression RHS + public global::CppSharp.Parser.AST.QualifiedType Desugared { get { - global::CppSharp.Parser.AST.Expression __result0; - if (((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS)) - __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS]; - else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS); - return __result0; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*) __Instance)->desugared)); } set { - ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->RHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*)__Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public string OpcodeStr + public global::CppSharp.Parser.AST.QualifiedType BaseType { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->opcodeStr)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*) __Instance)->baseType)); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->opcodeStr), value); + ((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*)__Instance)->baseType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } } - public unsafe partial class CallExpr : global::CppSharp.Parser.AST.Expression, IDisposable + public unsafe partial class VectorType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 44)] + [StructLayout(LayoutKind.Explicit, Size = 20)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.StatementClass _class; + internal global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - internal global::System.IntPtr decl; + internal byte isDependent; [FieldOffset(8)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal elementType; - [FieldOffset(32)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expression___N_std_S_allocator__S0_ Arguments; + [FieldOffset(16)] + internal uint numElements; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0CallExpr@AST@CppParser@CppSharp@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVDeclaration@123@@Z")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::System.IntPtr str, global::System.IntPtr decl); + EntryPoint="??0VectorType@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0CallExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0VectorType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1CallExpr@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern void dtor(global::System.IntPtr __instance, int delete); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getArguments@CallExpr@AST@CppParser@CppSharp@@QAEPAVExpression@234@I@Z")] - internal static extern global::System.IntPtr GetArguments(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addArguments@CallExpr@AST@CppParser@CppSharp@@QAEXAAPAVExpression@234@@Z")] - internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearArguments@CallExpr@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearArguments(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getArgumentsCount@CallExpr@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.CallExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.VectorType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.CallExpr(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.VectorType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.CallExpr __CreateInstance(global::CppSharp.Parser.AST.CallExpr.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VectorType __CreateInstance(global::CppSharp.Parser.AST.VectorType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.CallExpr(native, skipVTables); + return new global::CppSharp.Parser.AST.VectorType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.CallExpr.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VectorType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); - global::CppSharp.Parser.AST.CallExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); + global::CppSharp.Parser.AST.VectorType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private CallExpr(global::CppSharp.Parser.AST.CallExpr.__Internal native, bool skipVTables = false) + private VectorType(global::CppSharp.Parser.AST.VectorType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected CallExpr(void* native, bool skipVTables = false) + protected VectorType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -6600,24 +5953,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public CallExpr(string str, global::CppSharp.Parser.AST.Declaration decl) + public VectorType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, str); - var __arg0 = __basicString0.__Instance; - var __arg1 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; - __Internal.ctor((__Instance + __PointerAdjustment), __arg0, __arg1); - __basicString0.Dispose(false); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public CallExpr(global::CppSharp.Parser.AST.CallExpr _0) + public VectorType(global::CppSharp.Parser.AST.VectorType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -6626,131 +5974,83 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public global::CppSharp.Parser.AST.QualifiedType ElementType { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Statement __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public global::CppSharp.Parser.AST.Expression GetArguments(uint i) - { - var __ret = __Internal.GetArguments((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Expression __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(__ret); - return __result0; - } - - public void AddArguments(global::CppSharp.Parser.AST.Expression s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); - } + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->elementType)); + } - public void ClearArguments() - { - __Internal.ClearArguments((__Instance + __PointerAdjustment)); + set + { + ((global::CppSharp.Parser.AST.VectorType.__Internal*)__Instance)->elementType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } - public uint ArgumentsCount + public uint NumElements { get { - var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->numElements; + } + + set + { + ((global::CppSharp.Parser.AST.VectorType.__Internal*)__Instance)->numElements = value; } } } - public unsafe partial class CXXConstructExpr : global::CppSharp.Parser.AST.Expression, IDisposable + public unsafe partial class BuiltinType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 44)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.StatementClass _class; + internal global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - internal global::System.IntPtr decl; + internal byte isDependent; [FieldOffset(8)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; - - [FieldOffset(32)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expression___N_std_S_allocator__S0_ Arguments; + internal global::CppSharp.Parser.AST.PrimitiveType type; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0CXXConstructExpr@AST@CppParser@CppSharp@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVDeclaration@123@@Z")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::System.IntPtr str, global::System.IntPtr decl); + EntryPoint="??0BuiltinType@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0CXXConstructExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0BuiltinType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1CXXConstructExpr@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern void dtor(global::System.IntPtr __instance, int delete); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getArguments@CXXConstructExpr@AST@CppParser@CppSharp@@QAEPAVExpression@234@I@Z")] - internal static extern global::System.IntPtr GetArguments(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addArguments@CXXConstructExpr@AST@CppParser@CppSharp@@QAEXAAPAVExpression@234@@Z")] - internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearArguments@CXXConstructExpr@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearArguments(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getArgumentsCount@CXXConstructExpr@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.CXXConstructExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.BuiltinType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.CXXConstructExpr(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.BuiltinType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.CXXConstructExpr __CreateInstance(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.BuiltinType __CreateInstance(global::CppSharp.Parser.AST.BuiltinType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.CXXConstructExpr(native, skipVTables); + return new global::CppSharp.Parser.AST.BuiltinType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.BuiltinType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); - global::CppSharp.Parser.AST.CXXConstructExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); + global::CppSharp.Parser.AST.BuiltinType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private CXXConstructExpr(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native, bool skipVTables = false) + private BuiltinType(global::CppSharp.Parser.AST.BuiltinType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected CXXConstructExpr(void* native, bool skipVTables = false) + protected BuiltinType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -6759,24 +6059,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public CXXConstructExpr(string str, global::CppSharp.Parser.AST.Declaration decl) + public BuiltinType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, str); - var __arg0 = __basicString0.__Instance; - var __arg1 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; - __Internal.ctor((__Instance + __PointerAdjustment), __arg0, __arg1); - __basicString0.Dispose(false); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public CXXConstructExpr(global::CppSharp.Parser.AST.CXXConstructExpr _0) + public BuiltinType(global::CppSharp.Parser.AST.BuiltinType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -6785,75 +6080,265 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Statement __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public global::CppSharp.Parser.AST.Expression GetArguments(uint i) - { - var __ret = __Internal.GetArguments((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Expression __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(__ret); - return __result0; - } - - public void AddArguments(global::CppSharp.Parser.AST.Expression s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearArguments() - { - __Internal.ClearArguments((__Instance + __PointerAdjustment)); - } - - public uint ArgumentsCount + public global::CppSharp.Parser.AST.PrimitiveType Type { get { - var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.BuiltinType.__Internal*) __Instance)->type; + } + + set + { + ((global::CppSharp.Parser.AST.BuiltinType.__Internal*)__Instance)->type = value; } } } + } + } +} - public unsafe partial class Parameter : global::CppSharp.Parser.AST.Declaration, IDisposable +namespace CppSharp +{ + namespace Parser + { + namespace AST + { + public enum DeclarationKind { - [StructLayout(LayoutKind.Explicit, Size = 164)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + DeclarationContext = 0, + Typedef = 1, + TypeAlias = 2, + Parameter = 3, + Function = 4, + Method = 5, + Enumeration = 6, + EnumerationItem = 7, + Variable = 8, + Field = 9, + AccessSpecifier = 10, + Class = 11, + Template = 12, + TypeAliasTemplate = 13, + ClassTemplate = 14, + ClassTemplateSpecialization = 15, + ClassTemplatePartialSpecialization = 16, + FunctionTemplate = 17, + Namespace = 18, + PreprocessedEntity = 19, + MacroDefinition = 20, + MacroExpansion = 21, + TranslationUnit = 22, + Friend = 23, + TemplateTemplateParm = 24, + TemplateTypeParm = 25, + NonTypeTemplateParm = 26, + VarTemplate = 27, + VarTemplateSpecialization = 28, + VarTemplatePartialSpecialization = 29 + } - [FieldOffset(4)] - internal int maxFieldAlignment; + public enum AccessSpecifier + { + Private = 0, + Protected = 1, + Public = 2 + } - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + public enum MacroLocation + { + Unknown = 0, + ClassHead = 1, + ClassBody = 2, + FunctionHead = 3, + FunctionParameters = 4, + FunctionBody = 5 + } - [FieldOffset(12)] - internal global::System.IntPtr _namespace; + public enum FriendKind + { + None = 0, + Declared = 1, + Undeclared = 2 + } - [FieldOffset(16)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + public enum CXXOperatorKind + { + None = 0, + New = 1, + Delete = 2, + ArrayNew = 3, + ArrayDelete = 4, + Plus = 5, + Minus = 6, + Star = 7, + Slash = 8, + Percent = 9, + Caret = 10, + Amp = 11, + Pipe = 12, + Tilde = 13, + Exclaim = 14, + Equal = 15, + Less = 16, + Greater = 17, + PlusEqual = 18, + MinusEqual = 19, + StarEqual = 20, + SlashEqual = 21, + PercentEqual = 22, + CaretEqual = 23, + AmpEqual = 24, + PipeEqual = 25, + LessLess = 26, + GreaterGreater = 27, + LessLessEqual = 28, + GreaterGreaterEqual = 29, + EqualEqual = 30, + ExclaimEqual = 31, + LessEqual = 32, + GreaterEqual = 33, + Spaceship = 34, + AmpAmp = 35, + PipePipe = 36, + PlusPlus = 37, + MinusMinus = 38, + Comma = 39, + ArrowStar = 40, + Arrow = 41, + Call = 42, + Subscript = 43, + Conditional = 44, + Coawait = 45 + } - [FieldOffset(20)] - internal int lineNumberStart; + public enum StatementClassObsolete + { + Any = 0, + BinaryOperator = 1, + CallExprClass = 2, + DeclRefExprClass = 3, + CXXConstructExprClass = 4, + CXXOperatorCallExpr = 5, + ImplicitCastExpr = 6, + ExplicitCastExpr = 7 + } + + public enum TemplateSpecializationKind + { + Undeclared = 0, + ImplicitInstantiation = 1, + ExplicitSpecialization = 2, + ExplicitInstantiationDeclaration = 3, + ExplicitInstantiationDefinition = 4 + } + + public enum CXXMethodKind + { + Normal = 0, + Constructor = 1, + Destructor = 2, + Conversion = 3, + Operator = 4, + UsingDirective = 5 + } + + public enum RefQualifierKind + { + None = 0, + LValue = 1, + RValue = 2 + } + + public enum CppAbi + { + Itanium = 0, + Microsoft = 1, + ARM = 2, + iOS = 3, + iOS64 = 4 + } + + public enum VTableComponentKind + { + VCallOffset = 0, + VBaseOffset = 1, + OffsetToTop = 2, + RTTI = 3, + FunctionPointer = 4, + CompleteDtorPointer = 5, + DeletingDtorPointer = 6, + UnusedFunctionPointer = 7 + } + + public unsafe partial class Expr + { + [StructLayout(LayoutKind.Explicit, Size = 0)] + public partial struct __Internal + { + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.Expr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Expr(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.Expr __CreateInstance(global::CppSharp.Parser.AST.Expr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Expr(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.Expr.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.__Internal)); + *(global::CppSharp.Parser.AST.Expr.__Internal*) ret = native; + return ret.ToPointer(); + } + + private Expr(global::CppSharp.Parser.AST.Expr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Expr(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + } + + public unsafe partial class Declaration : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 144)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(12)] + internal global::System.IntPtr _namespace; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(20)] + internal int lineNumberStart; [FieldOffset(24)] internal int lineNumberEnd; @@ -6897,83 +6382,112 @@ namespace CppSharp [FieldOffset(140)] internal global::System.IntPtr comment; - [FieldOffset(144)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0Declaration@AST@CppParser@CppSharp@@QAE@W4DeclarationKind@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.DeclarationKind kind); - [FieldOffset(152)] - internal byte isIndirect; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0Declaration@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - [FieldOffset(153)] - internal byte hasDefaultValue; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??1Declaration@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); - [FieldOffset(156)] - internal uint index; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getPreprocessedEntities@Declaration@AST@CppParser@CppSharp@@QAEPAVPreprocessedEntity@234@I@Z")] + internal static extern global::System.IntPtr GetPreprocessedEntities(global::System.IntPtr __instance, uint i); - [FieldOffset(160)] - internal global::System.IntPtr defaultArgument; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?addPreprocessedEntities@Declaration@AST@CppParser@CppSharp@@QAEXAAPAVPreprocessedEntity@234@@Z")] + internal static extern void AddPreprocessedEntities(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Parameter@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + EntryPoint="?clearPreprocessedEntities@Declaration@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearPreprocessedEntities(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Parameter@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + EntryPoint="?getRedeclarations@Declaration@AST@CppParser@CppSharp@@QAEPAV1234@I@Z")] + internal static extern global::System.IntPtr GetRedeclarations(global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1Parameter@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern void dtor(global::System.IntPtr __instance, int delete); + EntryPoint="?addRedeclarations@Declaration@AST@CppParser@CppSharp@@QAEXAAPAV1234@@Z")] + internal static extern void AddRedeclarations(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?clearRedeclarations@Declaration@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearRedeclarations(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getPreprocessedEntitiesCount@Declaration@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetPreprocessedEntitiesCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getRedeclarationsCount@Declaration@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetRedeclarationsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.Parameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.Declaration __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Parameter(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Declaration(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Parameter __CreateInstance(global::CppSharp.Parser.AST.Parameter.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Declaration __CreateInstance(global::CppSharp.Parser.AST.Declaration.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Parameter(native, skipVTables); + return new global::CppSharp.Parser.AST.Declaration(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Parameter.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Declaration.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); - global::CppSharp.Parser.AST.Parameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); + global::CppSharp.Parser.AST.Declaration.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Parameter(global::CppSharp.Parser.AST.Parameter.__Internal native, bool skipVTables = false) + private Declaration(global::CppSharp.Parser.AST.Declaration.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Parameter(void* native, bool skipVTables = false) - : base((void*) null) + protected Declaration(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public Parameter() - : this((void*) null) + public Declaration(global::CppSharp.Parser.AST.DeclarationKind kind) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + __Internal.ctor((__Instance + __PointerAdjustment), kind); } - public Parameter(global::CppSharp.Parser.AST.Parameter _0) - : this((void*) null) + public Declaration(global::CppSharp.Parser.AST.Declaration _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -6982,7 +6496,12 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; @@ -6995,314 +6514,676 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType + public global::CppSharp.Parser.AST.PreprocessedEntity GetPreprocessedEntities(uint i) { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->qualifiedType)); - } - - set - { - ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } + var __ret = __Internal.GetPreprocessedEntities((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.PreprocessedEntity __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.PreprocessedEntity.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.PreprocessedEntity) global::CppSharp.Parser.AST.PreprocessedEntity.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.PreprocessedEntity.__CreateInstance(__ret); + return __result0; } - public bool IsIndirect + public void AddPreprocessedEntities(global::CppSharp.Parser.AST.PreprocessedEntity s) { - get - { - return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->isIndirect != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->isIndirect = (byte) (value ? 1 : 0); - } + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddPreprocessedEntities((__Instance + __PointerAdjustment), __arg0); } - public bool HasDefaultValue + public void ClearPreprocessedEntities() { - get - { - return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->hasDefaultValue != 0; + __Internal.ClearPreprocessedEntities((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Declaration GetRedeclarations(uint i) + { + var __ret = __Internal.GetRedeclarations((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Declaration __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(__ret); + return __result0; + } + + public void AddRedeclarations(global::CppSharp.Parser.AST.Declaration s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddRedeclarations((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearRedeclarations() + { + __Internal.ClearRedeclarations((__Instance + __PointerAdjustment)); + } + + public static implicit operator global::CppSharp.Parser.AST.Declaration(global::CppSharp.Parser.AST.DeclarationKind kind) + { + return new global::CppSharp.Parser.AST.Declaration(kind); + } + + public global::CppSharp.Parser.AST.DeclarationKind Kind + { + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->kind; } set { - ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->hasDefaultValue = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->kind = value; } } - public uint Index + public int MaxFieldAlignment { get { - return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->index; + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->maxFieldAlignment; } set { - ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->index = value; + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->maxFieldAlignment = value; } } - public global::CppSharp.Parser.AST.Expression DefaultArgument + public global::CppSharp.Parser.AST.AccessSpecifier Access { get { - global::CppSharp.Parser.AST.Expression __result0; - if (((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument)) - __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument]; - else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument); - return __result0; + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->access; } set { - ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->defaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->access = value; } } - } - public unsafe partial class Function : global::CppSharp.Parser.AST.DeclarationContext, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 392)] - public new partial struct __Internal + public global::CppSharp.Parser.AST.DeclarationContext Namespace { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + get + { + global::CppSharp.Parser.AST.DeclarationContext __result0; + if (((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.DeclarationContext.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace)) + __result0 = (global::CppSharp.Parser.AST.DeclarationContext) global::CppSharp.Parser.AST.DeclarationContext.NativeToManagedMap[((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace]; + else __result0 = global::CppSharp.Parser.AST.DeclarationContext.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace); + return __result0; + } - [FieldOffset(4)] - internal int maxFieldAlignment; + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->_namespace = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + public global::CppSharp.Parser.SourceLocation Location + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->location); + } - [FieldOffset(12)] - internal global::System.IntPtr _namespace; + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->location = value.__Instance; + } + } - [FieldOffset(16)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + public int LineNumberStart + { + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->lineNumberStart; + } - [FieldOffset(20)] - internal int lineNumberStart; + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->lineNumberStart = value; + } + } - [FieldOffset(24)] - internal int lineNumberEnd; + public int LineNumberEnd + { + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->lineNumberEnd; + } - [FieldOffset(28)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->lineNumberEnd = value; + } + } - [FieldOffset(52)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + public string Name + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->name)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - [FieldOffset(76)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->name), value); + } + } - [FieldOffset(100)] - internal byte isIncomplete; + public string USR + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->USR)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - [FieldOffset(101)] - internal byte isDependent; + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->USR), value); + } + } - [FieldOffset(102)] - internal byte isImplicit; + public string DebugText + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->debugText)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - [FieldOffset(103)] - internal byte isInvalid; + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->debugText), value); + } + } - [FieldOffset(104)] - internal global::System.IntPtr completeDeclaration; + public bool IsIncomplete + { + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isIncomplete != 0; + } - [FieldOffset(108)] - internal uint definitionOrder; + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isIncomplete = (byte) (value ? 1 : 0); + } + } - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + public bool IsDependent + { + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isDependent != 0; + } - [FieldOffset(124)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isDependent = (byte) (value ? 1 : 0); + } + } - [FieldOffset(136)] - internal global::System.IntPtr originalPtr; + public bool IsImplicit + { + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isImplicit != 0; + } - [FieldOffset(140)] - internal global::System.IntPtr comment; + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isImplicit = (byte) (value ? 1 : 0); + } + } - [FieldOffset(144)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; + public bool IsInvalid + { + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isInvalid != 0; + } - [FieldOffset(156)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isInvalid = (byte) (value ? 1 : 0); + } + } - [FieldOffset(168)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; + public global::CppSharp.Parser.AST.Declaration CompleteDeclaration + { + get + { + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration); + return __result0; + } - [FieldOffset(180)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->completeDeclaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } - [FieldOffset(192)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; + public uint DefinitionOrder + { + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->definitionOrder; + } - [FieldOffset(204)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->definitionOrder = value; + } + } - [FieldOffset(216)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; + public global::System.IntPtr OriginalPtr + { + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->originalPtr; + } - [FieldOffset(228)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->originalPtr = (global::System.IntPtr) value; + } + } - [FieldOffset(240)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; + public global::CppSharp.Parser.AST.RawComment Comment + { + get + { + global::CppSharp.Parser.AST.RawComment __result0; + if (((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.RawComment.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment)) + __result0 = (global::CppSharp.Parser.AST.RawComment) global::CppSharp.Parser.AST.RawComment.NativeToManagedMap[((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment]; + else __result0 = global::CppSharp.Parser.AST.RawComment.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment); + return __result0; + } - [FieldOffset(252)] - internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->comment = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } - [FieldOffset(260)] - internal byte isAnonymous; + public uint PreprocessedEntitiesCount + { + get + { + var __ret = __Internal.GetPreprocessedEntitiesCount((__Instance + __PointerAdjustment)); + return __ret; + } + } - [FieldOffset(264)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; + public uint RedeclarationsCount + { + get + { + var __ret = __Internal.GetRedeclarationsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } - [FieldOffset(272)] - internal byte isReturnIndirect; + public unsafe partial class DeclarationContext : global::CppSharp.Parser.AST.Declaration, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 264)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; - [FieldOffset(273)] - internal byte hasThisReturn; + [FieldOffset(4)] + internal int maxFieldAlignment; - [FieldOffset(274)] - internal byte isConstExpr; + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; - [FieldOffset(275)] - internal byte isVariadic; + [FieldOffset(12)] + internal global::System.IntPtr _namespace; - [FieldOffset(276)] - internal byte isInline; + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; - [FieldOffset(277)] - internal byte isPure; + [FieldOffset(20)] + internal int lineNumberStart; - [FieldOffset(278)] - internal byte isDeleted; + [FieldOffset(24)] + internal int lineNumberEnd; - [FieldOffset(279)] - internal byte isDefaulted; + [FieldOffset(28)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - [FieldOffset(280)] - internal global::CppSharp.Parser.AST.FriendKind friendKind; + [FieldOffset(52)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - [FieldOffset(284)] - internal global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; + [FieldOffset(76)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - [FieldOffset(288)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; + [FieldOffset(100)] + internal byte isIncomplete; - [FieldOffset(312)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C signature; + [FieldOffset(101)] + internal byte isDependent; - [FieldOffset(336)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C body; + [FieldOffset(102)] + internal byte isImplicit; - [FieldOffset(360)] - internal global::CppSharp.Parser.AST.CallingConvention callingConvention; + [FieldOffset(103)] + internal byte isInvalid; - [FieldOffset(364)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_S_allocator__S0_ Parameters; + [FieldOffset(104)] + internal global::System.IntPtr completeDeclaration; - [FieldOffset(376)] - internal global::System.IntPtr specializationInfo; + [FieldOffset(108)] + internal uint definitionOrder; - [FieldOffset(380)] - internal global::System.IntPtr instantiatedFrom; + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - [FieldOffset(384)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + [FieldOffset(124)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(136)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(140)] + internal global::System.IntPtr comment; + + [FieldOffset(144)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; + + [FieldOffset(156)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; + + [FieldOffset(168)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; + + [FieldOffset(180)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; + + [FieldOffset(192)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; + + [FieldOffset(204)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; + + [FieldOffset(216)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; + + [FieldOffset(228)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; + + [FieldOffset(240)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; + + [FieldOffset(252)] + internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + + [FieldOffset(260)] + internal byte isAnonymous; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Function@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + EntryPoint="??0DeclarationContext@AST@CppParser@CppSharp@@QAE@W4DeclarationKind@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.DeclarationKind kind); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Function@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0DeclarationContext@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1Function@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??1DeclarationContext@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor(global::System.IntPtr __instance, int delete); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getParameters@Function@AST@CppParser@CppSharp@@QAEPAVParameter@234@I@Z")] - internal static extern global::System.IntPtr GetParameters(global::System.IntPtr __instance, uint i); + EntryPoint="?getNamespaces@DeclarationContext@AST@CppParser@CppSharp@@QAEPAVNamespace@234@I@Z")] + internal static extern global::System.IntPtr GetNamespaces(global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addParameters@Function@AST@CppParser@CppSharp@@QAEXAAPAVParameter@234@@Z")] - internal static extern void AddParameters(global::System.IntPtr __instance, global::System.IntPtr s); + EntryPoint="?addNamespaces@DeclarationContext@AST@CppParser@CppSharp@@QAEXAAPAVNamespace@234@@Z")] + internal static extern void AddNamespaces(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearParameters@Function@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearParameters(global::System.IntPtr __instance); + EntryPoint="?clearNamespaces@DeclarationContext@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearNamespaces(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getParametersCount@Function@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetParametersCount(global::System.IntPtr __instance); - } - - internal static new global::CppSharp.Parser.AST.Function __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Function(native.ToPointer(), skipVTables); - } + EntryPoint="?getEnums@DeclarationContext@AST@CppParser@CppSharp@@QAEPAVEnumeration@234@I@Z")] + internal static extern global::System.IntPtr GetEnums(global::System.IntPtr __instance, uint i); - internal static global::CppSharp.Parser.AST.Function __CreateInstance(global::CppSharp.Parser.AST.Function.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Function(native, skipVTables); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?addEnums@DeclarationContext@AST@CppParser@CppSharp@@QAEXAAPAVEnumeration@234@@Z")] + internal static extern void AddEnums(global::System.IntPtr __instance, global::System.IntPtr s); - private static void* __CopyValue(global::CppSharp.Parser.AST.Function.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); - global::CppSharp.Parser.AST.Function.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?clearEnums@DeclarationContext@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearEnums(global::System.IntPtr __instance); - private Function(global::CppSharp.Parser.AST.Function.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getFunctions@DeclarationContext@AST@CppParser@CppSharp@@QAEPAVFunction@234@I@Z")] + internal static extern global::System.IntPtr GetFunctions(global::System.IntPtr __instance, uint i); - protected Function(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?addFunctions@DeclarationContext@AST@CppParser@CppSharp@@QAEXAAPAVFunction@234@@Z")] + internal static extern void AddFunctions(global::System.IntPtr __instance, global::System.IntPtr s); - public Function() + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?clearFunctions@DeclarationContext@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearFunctions(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getClasses@DeclarationContext@AST@CppParser@CppSharp@@QAEPAVClass@234@I@Z")] + internal static extern global::System.IntPtr GetClasses(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?addClasses@DeclarationContext@AST@CppParser@CppSharp@@QAEXAAPAVClass@234@@Z")] + internal static extern void AddClasses(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?clearClasses@DeclarationContext@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearClasses(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getTemplates@DeclarationContext@AST@CppParser@CppSharp@@QAEPAVTemplate@234@I@Z")] + internal static extern global::System.IntPtr GetTemplates(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?addTemplates@DeclarationContext@AST@CppParser@CppSharp@@QAEXAAPAVTemplate@234@@Z")] + internal static extern void AddTemplates(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?clearTemplates@DeclarationContext@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearTemplates(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getTypedefs@DeclarationContext@AST@CppParser@CppSharp@@QAEPAVTypedefDecl@234@I@Z")] + internal static extern global::System.IntPtr GetTypedefs(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?addTypedefs@DeclarationContext@AST@CppParser@CppSharp@@QAEXAAPAVTypedefDecl@234@@Z")] + internal static extern void AddTypedefs(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?clearTypedefs@DeclarationContext@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearTypedefs(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getTypeAliases@DeclarationContext@AST@CppParser@CppSharp@@QAEPAVTypeAlias@234@I@Z")] + internal static extern global::System.IntPtr GetTypeAliases(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?addTypeAliases@DeclarationContext@AST@CppParser@CppSharp@@QAEXAAPAVTypeAlias@234@@Z")] + internal static extern void AddTypeAliases(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?clearTypeAliases@DeclarationContext@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearTypeAliases(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getVariables@DeclarationContext@AST@CppParser@CppSharp@@QAEPAVVariable@234@I@Z")] + internal static extern global::System.IntPtr GetVariables(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?addVariables@DeclarationContext@AST@CppParser@CppSharp@@QAEXAAPAVVariable@234@@Z")] + internal static extern void AddVariables(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?clearVariables@DeclarationContext@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearVariables(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getFriends@DeclarationContext@AST@CppParser@CppSharp@@QAEPAVFriend@234@I@Z")] + internal static extern global::System.IntPtr GetFriends(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?addFriends@DeclarationContext@AST@CppParser@CppSharp@@QAEXAAPAVFriend@234@@Z")] + internal static extern void AddFriends(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?clearFriends@DeclarationContext@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearFriends(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getNamespacesCount@DeclarationContext@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetNamespacesCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getEnumsCount@DeclarationContext@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetEnumsCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getFunctionsCount@DeclarationContext@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetFunctionsCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getClassesCount@DeclarationContext@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetClassesCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getTemplatesCount@DeclarationContext@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetTemplatesCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getTypedefsCount@DeclarationContext@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetTypedefsCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getTypeAliasesCount@DeclarationContext@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetTypeAliasesCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getVariablesCount@DeclarationContext@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetVariablesCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getFriendsCount@DeclarationContext@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetFriendsCount(global::System.IntPtr __instance); + } + + internal static new global::CppSharp.Parser.AST.DeclarationContext __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DeclarationContext(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.DeclarationContext __CreateInstance(global::CppSharp.Parser.AST.DeclarationContext.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.DeclarationContext(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.DeclarationContext.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); + global::CppSharp.Parser.AST.DeclarationContext.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private DeclarationContext(global::CppSharp.Parser.AST.DeclarationContext.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected DeclarationContext(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public DeclarationContext(global::CppSharp.Parser.AST.DeclarationKind kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + __Internal.ctor((__Instance + __PointerAdjustment), kind); } - public Function(global::CppSharp.Parser.AST.Function _0) + public DeclarationContext(global::CppSharp.Parser.AST.DeclarationContext _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -7324,296 +7205,325 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.Parameter GetParameters(uint i) + public global::CppSharp.Parser.AST.Namespace GetNamespaces(uint i) { - var __ret = __Internal.GetParameters((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Parameter __result0; + var __ret = __Internal.GetNamespaces((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Namespace __result0; if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Parameter.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Parameter) global::CppSharp.Parser.AST.Parameter.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Parameter.__CreateInstance(__ret); + else if (global::CppSharp.Parser.AST.Namespace.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Namespace) global::CppSharp.Parser.AST.Namespace.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Namespace.__CreateInstance(__ret); return __result0; } - public void AddParameters(global::CppSharp.Parser.AST.Parameter s) + public void AddNamespaces(global::CppSharp.Parser.AST.Namespace s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddParameters((__Instance + __PointerAdjustment), __arg0); + __Internal.AddNamespaces((__Instance + __PointerAdjustment), __arg0); } - public void ClearParameters() + public void ClearNamespaces() { - __Internal.ClearParameters((__Instance + __PointerAdjustment)); + __Internal.ClearNamespaces((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.QualifiedType ReturnType + public global::CppSharp.Parser.AST.Enumeration GetEnums(uint i) { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->returnType)); - } - - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->returnType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } + var __ret = __Internal.GetEnums((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Enumeration __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Enumeration.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Enumeration) global::CppSharp.Parser.AST.Enumeration.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Enumeration.__CreateInstance(__ret); + return __result0; } - public bool IsReturnIndirect + public void AddEnums(global::CppSharp.Parser.AST.Enumeration s) { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isReturnIndirect != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isReturnIndirect = (byte) (value ? 1 : 0); - } + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddEnums((__Instance + __PointerAdjustment), __arg0); } - public bool HasThisReturn + public void ClearEnums() { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->hasThisReturn != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->hasThisReturn = (byte) (value ? 1 : 0); - } + __Internal.ClearEnums((__Instance + __PointerAdjustment)); } - public bool IsConstExpr + public global::CppSharp.Parser.AST.Function GetFunctions(uint i) { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isConstExpr != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isConstExpr = (byte) (value ? 1 : 0); - } + var __ret = __Internal.GetFunctions((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Function __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(__ret); + return __result0; } - public bool IsVariadic + public void AddFunctions(global::CppSharp.Parser.AST.Function s) { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isVariadic != 0; - } + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddFunctions((__Instance + __PointerAdjustment), __arg0); + } - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isVariadic = (byte) (value ? 1 : 0); - } + public void ClearFunctions() + { + __Internal.ClearFunctions((__Instance + __PointerAdjustment)); } - public bool IsInline + public global::CppSharp.Parser.AST.Class GetClasses(uint i) { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isInline != 0; - } + var __ret = __Internal.GetClasses((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Class __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(__ret); + return __result0; + } - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isInline = (byte) (value ? 1 : 0); - } + public void AddClasses(global::CppSharp.Parser.AST.Class s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddClasses((__Instance + __PointerAdjustment), __arg0); } - public bool IsPure + public void ClearClasses() { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isPure != 0; - } + __Internal.ClearClasses((__Instance + __PointerAdjustment)); + } - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isPure = (byte) (value ? 1 : 0); - } + public global::CppSharp.Parser.AST.Template GetTemplates(uint i) + { + var __ret = __Internal.GetTemplates((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Template __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Template.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Template) global::CppSharp.Parser.AST.Template.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Template.__CreateInstance(__ret); + return __result0; } - public bool IsDeleted + public void AddTemplates(global::CppSharp.Parser.AST.Template s) { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isDeleted != 0; - } + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddTemplates((__Instance + __PointerAdjustment), __arg0); + } - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isDeleted = (byte) (value ? 1 : 0); - } + public void ClearTemplates() + { + __Internal.ClearTemplates((__Instance + __PointerAdjustment)); } - public bool IsDefaulted + public global::CppSharp.Parser.AST.TypedefDecl GetTypedefs(uint i) { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isDefaulted != 0; - } + var __ret = __Internal.GetTypedefs((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.TypedefDecl __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TypedefDecl.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.TypedefDecl) global::CppSharp.Parser.AST.TypedefDecl.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.TypedefDecl.__CreateInstance(__ret); + return __result0; + } - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isDefaulted = (byte) (value ? 1 : 0); - } + public void AddTypedefs(global::CppSharp.Parser.AST.TypedefDecl s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddTypedefs((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.FriendKind FriendKind + public void ClearTypedefs() { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->friendKind; - } + __Internal.ClearTypedefs((__Instance + __PointerAdjustment)); + } - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->friendKind = value; - } + public global::CppSharp.Parser.AST.TypeAlias GetTypeAliases(uint i) + { + var __ret = __Internal.GetTypeAliases((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.TypeAlias __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TypeAlias.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.TypeAlias) global::CppSharp.Parser.AST.TypeAlias.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.TypeAlias.__CreateInstance(__ret); + return __result0; } - public global::CppSharp.Parser.AST.CXXOperatorKind OperatorKind + public void AddTypeAliases(global::CppSharp.Parser.AST.TypeAlias s) { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->operatorKind; - } + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddTypeAliases((__Instance + __PointerAdjustment), __arg0); + } - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->operatorKind = value; - } + public void ClearTypeAliases() + { + __Internal.ClearTypeAliases((__Instance + __PointerAdjustment)); } - public string Mangled + public global::CppSharp.Parser.AST.Variable GetVariables(uint i) { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->mangled)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + var __ret = __Internal.GetVariables((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Variable __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Variable.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Variable) global::CppSharp.Parser.AST.Variable.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Variable.__CreateInstance(__ret); + return __result0; + } - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->mangled), value); - } + public void AddVariables(global::CppSharp.Parser.AST.Variable s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddVariables((__Instance + __PointerAdjustment), __arg0); } - public string Signature + public void ClearVariables() + { + __Internal.ClearVariables((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Friend GetFriends(uint i) + { + var __ret = __Internal.GetFriends((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Friend __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Friend.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Friend) global::CppSharp.Parser.AST.Friend.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Friend.__CreateInstance(__ret); + return __result0; + } + + public void AddFriends(global::CppSharp.Parser.AST.Friend s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddFriends((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearFriends() + { + __Internal.ClearFriends((__Instance + __PointerAdjustment)); + } + + public static implicit operator global::CppSharp.Parser.AST.DeclarationContext(global::CppSharp.Parser.AST.DeclarationKind kind) + { + return new global::CppSharp.Parser.AST.DeclarationContext(kind); + } + + public bool IsAnonymous { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->signature)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + return ((global::CppSharp.Parser.AST.DeclarationContext.__Internal*) __Instance)->isAnonymous != 0; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->signature), value); + ((global::CppSharp.Parser.AST.DeclarationContext.__Internal*)__Instance)->isAnonymous = (byte) (value ? 1 : 0); } } - public string Body + public uint NamespacesCount { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->body)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + var __ret = __Internal.GetNamespacesCount((__Instance + __PointerAdjustment)); + return __ret; } + } - set + public uint EnumsCount + { + get { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->body), value); + var __ret = __Internal.GetEnumsCount((__Instance + __PointerAdjustment)); + return __ret; } } - public global::CppSharp.Parser.AST.CallingConvention CallingConvention + public uint FunctionsCount { get { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->callingConvention; + var __ret = __Internal.GetFunctionsCount((__Instance + __PointerAdjustment)); + return __ret; } + } - set + public uint ClassesCount + { + get { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->callingConvention = value; + var __ret = __Internal.GetClassesCount((__Instance + __PointerAdjustment)); + return __ret; } } - public global::CppSharp.Parser.AST.FunctionTemplateSpecialization SpecializationInfo + public uint TemplatesCount { get { - global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0; - if (((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo)) - __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo]; - else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->specializationInfo = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + var __ret = __Internal.GetTemplatesCount((__Instance + __PointerAdjustment)); + return __ret; } } - public global::CppSharp.Parser.AST.Function InstantiatedFrom + public uint TypedefsCount { get { - global::CppSharp.Parser.AST.Function __result0; - if (((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom)) - __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom]; - else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->instantiatedFrom = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + var __ret = __Internal.GetTypedefsCount((__Instance + __PointerAdjustment)); + return __ret; } } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType + public uint TypeAliasesCount { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->qualifiedType)); + var __ret = __Internal.GetTypeAliasesCount((__Instance + __PointerAdjustment)); + return __ret; } + } - set + public uint VariablesCount + { + get { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + var __ret = __Internal.GetVariablesCount((__Instance + __PointerAdjustment)); + return __ret; } } - public uint ParametersCount + public uint FriendsCount { get { - var __ret = __Internal.GetParametersCount((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetFriendsCount((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class Method : global::CppSharp.Parser.AST.Function, IDisposable + public unsafe partial class TypedefNameDecl : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 428)] + [StructLayout(LayoutKind.Explicit, Size = 152)] public new partial struct __Internal { [FieldOffset(0)] @@ -7677,189 +7587,49 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(144)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; - - [FieldOffset(156)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; - - [FieldOffset(168)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; - - [FieldOffset(180)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; - - [FieldOffset(192)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; - - [FieldOffset(204)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; - - [FieldOffset(216)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; - - [FieldOffset(228)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; - - [FieldOffset(240)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; - - [FieldOffset(252)] - internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; - - [FieldOffset(260)] - internal byte isAnonymous; - - [FieldOffset(264)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; - - [FieldOffset(272)] - internal byte isReturnIndirect; - - [FieldOffset(273)] - internal byte hasThisReturn; - - [FieldOffset(274)] - internal byte isConstExpr; - - [FieldOffset(275)] - internal byte isVariadic; - - [FieldOffset(276)] - internal byte isInline; - - [FieldOffset(277)] - internal byte isPure; - - [FieldOffset(278)] - internal byte isDeleted; - - [FieldOffset(279)] - internal byte isDefaulted; - - [FieldOffset(280)] - internal global::CppSharp.Parser.AST.FriendKind friendKind; - - [FieldOffset(284)] - internal global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; - - [FieldOffset(288)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; - - [FieldOffset(312)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C signature; - - [FieldOffset(336)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C body; - - [FieldOffset(360)] - internal global::CppSharp.Parser.AST.CallingConvention callingConvention; - - [FieldOffset(364)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_S_allocator__S0_ Parameters; - - [FieldOffset(376)] - internal global::System.IntPtr specializationInfo; - - [FieldOffset(380)] - internal global::System.IntPtr instantiatedFrom; - - [FieldOffset(384)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [FieldOffset(392)] - internal byte isVirtual; - - [FieldOffset(393)] - internal byte isStatic; - - [FieldOffset(394)] - internal byte isConst; - - [FieldOffset(395)] - internal byte isExplicit; - - [FieldOffset(396)] - internal global::CppSharp.Parser.AST.CXXMethodKind methodKind; - - [FieldOffset(400)] - internal byte isDefaultConstructor; - - [FieldOffset(401)] - internal byte isCopyConstructor; - - [FieldOffset(402)] - internal byte isMoveConstructor; - - [FieldOffset(404)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal conversionType; - - [FieldOffset(412)] - internal global::CppSharp.Parser.AST.RefQualifierKind refQualifier; - - [FieldOffset(416)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_S_allocator__S0_ OverriddenMethods; - [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Method@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + EntryPoint="??0TypedefNameDecl@AST@CppParser@CppSharp@@QAE@W4DeclarationKind@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.DeclarationKind kind); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Method@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0TypedefNameDecl@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1Method@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??1TypedefNameDecl@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor(global::System.IntPtr __instance, int delete); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getOverriddenMethods@Method@AST@CppParser@CppSharp@@QAEPAV1234@I@Z")] - internal static extern global::System.IntPtr GetOverriddenMethods(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addOverriddenMethods@Method@AST@CppParser@CppSharp@@QAEXAAPAV1234@@Z")] - internal static extern void AddOverriddenMethods(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearOverriddenMethods@Method@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearOverriddenMethods(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getOverriddenMethodsCount@Method@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetOverriddenMethodsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.Method __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TypedefNameDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Method(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TypedefNameDecl(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Method __CreateInstance(global::CppSharp.Parser.AST.Method.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TypedefNameDecl __CreateInstance(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Method(native, skipVTables); + return new global::CppSharp.Parser.AST.TypedefNameDecl(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Method.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); - global::CppSharp.Parser.AST.Method.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); + global::CppSharp.Parser.AST.TypedefNameDecl.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Method(global::CppSharp.Parser.AST.Method.__Internal native, bool skipVTables = false) + private TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Method(void* native, bool skipVTables = false) + protected TypedefNameDecl(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -7868,19 +7638,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Method() + public TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + __Internal.ctor((__Instance + __PointerAdjustment), kind); } - public Method(global::CppSharp.Parser.AST.Method _0) + public TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -7902,173 +7672,180 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.Method GetOverriddenMethods(uint i) - { - var __ret = __Internal.GetOverriddenMethods((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Method __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Method.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Method) global::CppSharp.Parser.AST.Method.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Method.__CreateInstance(__ret); - return __result0; - } - - public void AddOverriddenMethods(global::CppSharp.Parser.AST.Method s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddOverriddenMethods((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearOverriddenMethods() + public static implicit operator global::CppSharp.Parser.AST.TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) { - __Internal.ClearOverriddenMethods((__Instance + __PointerAdjustment)); + return new global::CppSharp.Parser.AST.TypedefNameDecl(kind); } - public bool IsVirtual + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { get { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isVirtual != 0; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TypedefNameDecl.__Internal*) __Instance)->qualifiedType)); } set { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isVirtual = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.TypedefNameDecl.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } + } - public bool IsStatic + public unsafe partial class TypedefDecl : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 152)] + public new partial struct __Internal { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isStatic != 0; - } + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isStatic = (byte) (value ? 1 : 0); - } - } + [FieldOffset(4)] + internal int maxFieldAlignment; - public bool IsConst - { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isConst != 0; - } + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isConst = (byte) (value ? 1 : 0); - } - } + [FieldOffset(12)] + internal global::System.IntPtr _namespace; - public bool IsExplicit - { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isExplicit != 0; - } + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isExplicit = (byte) (value ? 1 : 0); - } - } + [FieldOffset(20)] + internal int lineNumberStart; - public global::CppSharp.Parser.AST.CXXMethodKind MethodKind - { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->methodKind; - } + [FieldOffset(24)] + internal int lineNumberEnd; - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->methodKind = value; - } - } + [FieldOffset(28)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - public bool IsDefaultConstructor - { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isDefaultConstructor != 0; - } + [FieldOffset(52)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isDefaultConstructor = (byte) (value ? 1 : 0); - } + [FieldOffset(76)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(100)] + internal byte isIncomplete; + + [FieldOffset(101)] + internal byte isDependent; + + [FieldOffset(102)] + internal byte isImplicit; + + [FieldOffset(103)] + internal byte isInvalid; + + [FieldOffset(104)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(108)] + internal uint definitionOrder; + + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(124)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(136)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(140)] + internal global::System.IntPtr comment; + + [FieldOffset(144)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0TypedefDecl@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0TypedefDecl@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??1TypedefDecl@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); } - public bool IsCopyConstructor + internal static new global::CppSharp.Parser.AST.TypedefDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isCopyConstructor != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isCopyConstructor = (byte) (value ? 1 : 0); - } + return new global::CppSharp.Parser.AST.TypedefDecl(native.ToPointer(), skipVTables); } - public bool IsMoveConstructor + internal static global::CppSharp.Parser.AST.TypedefDecl __CreateInstance(global::CppSharp.Parser.AST.TypedefDecl.__Internal native, bool skipVTables = false) { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isMoveConstructor != 0; - } + return new global::CppSharp.Parser.AST.TypedefDecl(native, skipVTables); + } - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isMoveConstructor = (byte) (value ? 1 : 0); - } + private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefDecl.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); + global::CppSharp.Parser.AST.TypedefDecl.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - public global::CppSharp.Parser.AST.QualifiedType ConversionType + private TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->conversionType)); - } + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->conversionType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } + protected TypedefDecl(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - public global::CppSharp.Parser.AST.RefQualifierKind RefQualifier + public TypedefDecl() + : this((void*) null) { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->refQualifier; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->refQualifier = value; - } + public TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public uint OverriddenMethodsCount + public override void Dispose(bool disposing) { - get - { - var __ret = __Internal.GetOverriddenMethodsCount((__Instance + __PointerAdjustment)); - return __ret; - } + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } } - public unsafe partial class Enumeration : global::CppSharp.Parser.AST.DeclarationContext, IDisposable + public unsafe partial class TypeAlias : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 288)] + [StructLayout(LayoutKind.Explicit, Size = 156)] public new partial struct __Internal { [FieldOffset(0)] @@ -8132,308 +7909,222 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(144)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; - - [FieldOffset(156)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [FieldOffset(168)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; + [FieldOffset(152)] + internal global::System.IntPtr describedAliasTemplate; - [FieldOffset(180)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0TypeAlias@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); - [FieldOffset(192)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0TypeAlias@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - [FieldOffset(204)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??1TypeAlias@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); + } - [FieldOffset(216)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; + internal static new global::CppSharp.Parser.AST.TypeAlias __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TypeAlias(native.ToPointer(), skipVTables); + } - [FieldOffset(228)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; - - [FieldOffset(240)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; - - [FieldOffset(252)] - internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; - - [FieldOffset(260)] - internal byte isAnonymous; - - [FieldOffset(264)] - internal global::CppSharp.Parser.AST.Enumeration.EnumModifiers modifiers; - - [FieldOffset(268)] - internal global::System.IntPtr type; - - [FieldOffset(272)] - internal global::System.IntPtr builtinType; - - [FieldOffset(276)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration_S_Item___N_std_S_allocator__S0_ Items; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Enumeration@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Enumeration@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1Enumeration@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern void dtor(global::System.IntPtr __instance, int delete); + internal static global::CppSharp.Parser.AST.TypeAlias __CreateInstance(global::CppSharp.Parser.AST.TypeAlias.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TypeAlias(native, skipVTables); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getItems@Enumeration@AST@CppParser@CppSharp@@QAEPAVItem@1234@I@Z")] - internal static extern global::System.IntPtr GetItems(global::System.IntPtr __instance, uint i); + private static void* __CopyValue(global::CppSharp.Parser.AST.TypeAlias.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); + global::CppSharp.Parser.AST.TypeAlias.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addItems@Enumeration@AST@CppParser@CppSharp@@QAEXAAPAVItem@1234@@Z")] - internal static extern void AddItems(global::System.IntPtr __instance, global::System.IntPtr s); + private TypeAlias(global::CppSharp.Parser.AST.TypeAlias.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearItems@Enumeration@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearItems(global::System.IntPtr __instance); + protected TypeAlias(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?FindItemByName@Enumeration@AST@CppParser@CppSharp@@QAEPAVItem@1234@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z")] - internal static extern global::System.IntPtr FindItemByName(global::System.IntPtr __instance, global::System.IntPtr Name); + public TypeAlias() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getItemsCount@Enumeration@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetItemsCount(global::System.IntPtr __instance); + public TypeAlias(global::CppSharp.Parser.AST.TypeAlias _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - [Flags] - public enum EnumModifiers + public override void Dispose(bool disposing) { - Anonymous = 1, - Scoped = 2, - Flags = 4 + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } - public unsafe partial class Item : global::CppSharp.Parser.AST.Declaration, IDisposable + public global::CppSharp.Parser.AST.TypeAliasTemplate DescribedAliasTemplate { - [StructLayout(LayoutKind.Explicit, Size = 176)] - public new partial struct __Internal + get { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + global::CppSharp.Parser.AST.TypeAliasTemplate __result0; + if (((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TypeAliasTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate)) + __result0 = (global::CppSharp.Parser.AST.TypeAliasTemplate) global::CppSharp.Parser.AST.TypeAliasTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate]; + else __result0 = global::CppSharp.Parser.AST.TypeAliasTemplate.__CreateInstance(((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate); + return __result0; + } - [FieldOffset(4)] - internal int maxFieldAlignment; + set + { + ((global::CppSharp.Parser.AST.TypeAlias.__Internal*)__Instance)->describedAliasTemplate = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + public unsafe partial class Friend : global::CppSharp.Parser.AST.Declaration, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 148)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; - [FieldOffset(12)] - internal global::System.IntPtr _namespace; + [FieldOffset(4)] + internal int maxFieldAlignment; - [FieldOffset(16)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; - [FieldOffset(20)] - internal int lineNumberStart; + [FieldOffset(12)] + internal global::System.IntPtr _namespace; - [FieldOffset(24)] - internal int lineNumberEnd; + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; - [FieldOffset(28)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + [FieldOffset(20)] + internal int lineNumberStart; - [FieldOffset(52)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + [FieldOffset(24)] + internal int lineNumberEnd; - [FieldOffset(76)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + [FieldOffset(28)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - [FieldOffset(100)] - internal byte isIncomplete; + [FieldOffset(52)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - [FieldOffset(101)] - internal byte isDependent; + [FieldOffset(76)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - [FieldOffset(102)] - internal byte isImplicit; + [FieldOffset(100)] + internal byte isIncomplete; - [FieldOffset(103)] - internal byte isInvalid; + [FieldOffset(101)] + internal byte isDependent; - [FieldOffset(104)] - internal global::System.IntPtr completeDeclaration; + [FieldOffset(102)] + internal byte isImplicit; - [FieldOffset(108)] - internal uint definitionOrder; + [FieldOffset(103)] + internal byte isInvalid; - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + [FieldOffset(104)] + internal global::System.IntPtr completeDeclaration; - [FieldOffset(124)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + [FieldOffset(108)] + internal uint definitionOrder; - [FieldOffset(136)] - internal global::System.IntPtr originalPtr; + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - [FieldOffset(140)] - internal global::System.IntPtr comment; + [FieldOffset(124)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - [FieldOffset(144)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C expression; + [FieldOffset(136)] + internal global::System.IntPtr originalPtr; - [FieldOffset(168)] - internal ulong value; + [FieldOffset(140)] + internal global::System.IntPtr comment; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Item@Enumeration@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + [FieldOffset(144)] + internal global::System.IntPtr declaration; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Item@Enumeration@AST@CppParser@CppSharp@@QAE@ABV01234@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0Friend@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1Item@Enumeration@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern void dtor(global::System.IntPtr __instance, int delete); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0Friend@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - internal static new global::CppSharp.Parser.AST.Enumeration.Item __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Enumeration.Item(native.ToPointer(), skipVTables); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??1Friend@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); + } - internal static global::CppSharp.Parser.AST.Enumeration.Item __CreateInstance(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Enumeration.Item(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); - global::CppSharp.Parser.AST.Enumeration.Item.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private Item(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected Item(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public Item() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } - - public Item(global::CppSharp.Parser.AST.Enumeration.Item _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } - - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public string Expression - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*) __Instance)->expression)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*)__Instance)->expression), value); - } - } - - public ulong Value - { - get - { - return ((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*) __Instance)->value; - } - - set - { - ((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*)__Instance)->value = value; - } - } - } - - internal static new global::CppSharp.Parser.AST.Enumeration __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Friend __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Enumeration(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Friend(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Enumeration __CreateInstance(global::CppSharp.Parser.AST.Enumeration.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Friend __CreateInstance(global::CppSharp.Parser.AST.Friend.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Enumeration(native, skipVTables); + return new global::CppSharp.Parser.AST.Friend(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Enumeration.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Friend.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); - global::CppSharp.Parser.AST.Enumeration.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); + global::CppSharp.Parser.AST.Friend.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Enumeration(global::CppSharp.Parser.AST.Enumeration.__Internal native, bool skipVTables = false) + private Friend(global::CppSharp.Parser.AST.Friend.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Enumeration(void* native, bool skipVTables = false) + protected Friend(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -8442,19 +8133,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Enumeration() + public Friend() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public Enumeration(global::CppSharp.Parser.AST.Enumeration _0) + public Friend(global::CppSharp.Parser.AST.Friend _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -8476,216 +8167,239 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.Enumeration.Item GetItems(uint i) + public global::CppSharp.Parser.AST.Declaration Declaration { - var __ret = __Internal.GetItems((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Enumeration.Item __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Enumeration.Item) global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Enumeration.Item.__CreateInstance(__ret); - return __result0; + get + { + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.Friend.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } } + } - public void AddItems(global::CppSharp.Parser.AST.Enumeration.Item s) + public unsafe partial class StatementObsolete : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public partial struct __Internal { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddItems((__Instance + __PointerAdjustment), __arg0); + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StatementClassObsolete _class; + + [FieldOffset(4)] + internal global::System.IntPtr decl; + + [FieldOffset(8)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0StatementObsolete@AST@CppParser@CppSharp@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@W4StatementClassObsolete@123@PAVDeclaration@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::System.IntPtr str, global::CppSharp.Parser.AST.StatementClassObsolete Class, global::System.IntPtr decl); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0StatementObsolete@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??1StatementObsolete@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); } - public void ClearItems() + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.StatementObsolete __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - __Internal.ClearItems((__Instance + __PointerAdjustment)); + return new global::CppSharp.Parser.AST.StatementObsolete(native.ToPointer(), skipVTables); } - public global::CppSharp.Parser.AST.Enumeration.Item FindItemByName(string Name) + internal static global::CppSharp.Parser.AST.StatementObsolete __CreateInstance(global::CppSharp.Parser.AST.StatementObsolete.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.StatementObsolete(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.StatementObsolete.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StatementObsolete.__Internal)); + global::CppSharp.Parser.AST.StatementObsolete.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private StatementObsolete(global::CppSharp.Parser.AST.StatementObsolete.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected StatementObsolete(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public StatementObsolete(string str, global::CppSharp.Parser.AST.StatementClassObsolete Class, global::CppSharp.Parser.AST.Declaration decl) { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StatementObsolete.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, Name); + global::Std.BasicStringExtensions.Assign(__basicString0, str); var __arg0 = __basicString0.__Instance; - var __ret = __Internal.FindItemByName((__Instance + __PointerAdjustment), __arg0); + var __arg2 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; + __Internal.ctor((__Instance + __PointerAdjustment), __arg0, Class, __arg2); __basicString0.Dispose(false); - global::CppSharp.Parser.AST.Enumeration.Item __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Enumeration.Item) global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Enumeration.Item.__CreateInstance(__ret); - return __result0; } - public global::CppSharp.Parser.AST.Enumeration.EnumModifiers Modifiers + public StatementObsolete(global::CppSharp.Parser.AST.StatementObsolete _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StatementObsolete.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.StatementObsolete __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.StatementClassObsolete Class { get { - return ((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->modifiers; + return ((global::CppSharp.Parser.AST.StatementObsolete.__Internal*) __Instance)->_class; } set { - ((global::CppSharp.Parser.AST.Enumeration.__Internal*)__Instance)->modifiers = value; + ((global::CppSharp.Parser.AST.StatementObsolete.__Internal*)__Instance)->_class = value; } } - public global::CppSharp.Parser.AST.Type Type + public global::CppSharp.Parser.AST.Declaration Decl { get { - global::CppSharp.Parser.AST.Type __result0; - if (((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type)) - __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type]; - else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type); + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.StatementObsolete.__Internal*) __Instance)->decl == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.StatementObsolete.__Internal*) __Instance)->decl)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.StatementObsolete.__Internal*) __Instance)->decl]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.StatementObsolete.__Internal*) __Instance)->decl); return __result0; } set { - ((global::CppSharp.Parser.AST.Enumeration.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.StatementObsolete.__Internal*)__Instance)->decl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public global::CppSharp.Parser.AST.BuiltinType BuiltinType + public string String { get { - global::CppSharp.Parser.AST.BuiltinType __result0; - if (((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.BuiltinType.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType)) - __result0 = (global::CppSharp.Parser.AST.BuiltinType) global::CppSharp.Parser.AST.BuiltinType.NativeToManagedMap[((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType]; - else __result0 = global::CppSharp.Parser.AST.BuiltinType.__CreateInstance(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType); - return __result0; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.StatementObsolete.__Internal*) __Instance)->@string)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.Enumeration.__Internal*)__Instance)->builtinType = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - - public uint ItemsCount - { - get - { - var __ret = __Internal.GetItemsCount((__Instance + __PointerAdjustment)); - return __ret; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.StatementObsolete.__Internal*)__Instance)->@string), value); } } } - public unsafe partial class Variable : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class ExpressionObsolete : global::CppSharp.Parser.AST.StatementObsolete, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 176)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::CppSharp.Parser.AST.StatementClassObsolete _class; [FieldOffset(4)] - internal int maxFieldAlignment; + internal global::System.IntPtr decl; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(12)] - internal global::System.IntPtr _namespace; - - [FieldOffset(16)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(20)] - internal int lineNumberStart; - - [FieldOffset(24)] - internal int lineNumberEnd; - - [FieldOffset(28)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(52)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - - [FieldOffset(76)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - - [FieldOffset(100)] - internal byte isIncomplete; - - [FieldOffset(101)] - internal byte isDependent; - - [FieldOffset(102)] - internal byte isImplicit; - - [FieldOffset(103)] - internal byte isInvalid; - - [FieldOffset(104)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(108)] - internal uint definitionOrder; - - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(124)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - - [FieldOffset(136)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(140)] - internal global::System.IntPtr comment; - - [FieldOffset(144)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; - - [FieldOffset(168)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Variable@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + EntryPoint="??0ExpressionObsolete@AST@CppParser@CppSharp@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@W4StatementClassObsolete@123@PAVDeclaration@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::System.IntPtr str, global::CppSharp.Parser.AST.StatementClassObsolete Class, global::System.IntPtr decl); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Variable@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0ExpressionObsolete@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1Variable@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??1ExpressionObsolete@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor(global::System.IntPtr __instance, int delete); } - internal static new global::CppSharp.Parser.AST.Variable __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.ExpressionObsolete __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Variable(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.ExpressionObsolete(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Variable __CreateInstance(global::CppSharp.Parser.AST.Variable.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.ExpressionObsolete __CreateInstance(global::CppSharp.Parser.AST.ExpressionObsolete.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Variable(native, skipVTables); + return new global::CppSharp.Parser.AST.ExpressionObsolete(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Variable.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ExpressionObsolete.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); - global::CppSharp.Parser.AST.Variable.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExpressionObsolete.__Internal)); + global::CppSharp.Parser.AST.ExpressionObsolete.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Variable(global::CppSharp.Parser.AST.Variable.__Internal native, bool skipVTables = false) + private ExpressionObsolete(global::CppSharp.Parser.AST.ExpressionObsolete.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Variable(void* native, bool skipVTables = false) + protected ExpressionObsolete(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -8694,19 +8408,24 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Variable() + public ExpressionObsolete(string str, global::CppSharp.Parser.AST.StatementClassObsolete Class, global::CppSharp.Parser.AST.Declaration decl) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExpressionObsolete.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, str); + var __arg0 = __basicString0.__Instance; + var __arg2 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; + __Internal.ctor((__Instance + __PointerAdjustment), __arg0, Class, __arg2); + __basicString0.Dispose(false); } - public Variable(global::CppSharp.Parser.AST.Variable _0) + public ExpressionObsolete(global::CppSharp.Parser.AST.ExpressionObsolete _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExpressionObsolete.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -8719,7 +8438,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.StatementObsolete __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -8727,312 +8446,414 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - - public string Mangled - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Variable.__Internal*) __Instance)->mangled)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Variable.__Internal*)__Instance)->mangled), value); - } - } - - public global::CppSharp.Parser.AST.QualifiedType QualifiedType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Variable.__Internal*) __Instance)->qualifiedType)); - } - - set - { - ((global::CppSharp.Parser.AST.Variable.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } } - public unsafe partial class BaseClassSpecifier : IDisposable + public unsafe partial class BinaryOperatorObsolete : global::CppSharp.Parser.AST.ExpressionObsolete, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 16)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + internal global::CppSharp.Parser.AST.StatementClassObsolete _class; [FieldOffset(4)] - internal byte isVirtual; + internal global::System.IntPtr decl; [FieldOffset(8)] - internal global::System.IntPtr type; + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; - [FieldOffset(12)] - internal int offset; + [FieldOffset(32)] + internal global::System.IntPtr LHS; + + [FieldOffset(36)] + internal global::System.IntPtr RHS; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C opcodeStr; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0BaseClassSpecifier@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + EntryPoint="??0BinaryOperatorObsolete@AST@CppParser@CppSharp@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVExpressionObsolete@123@10@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::System.IntPtr str, global::System.IntPtr lhs, global::System.IntPtr rhs, global::System.IntPtr opcodeStr); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0BaseClassSpecifier@AST@CppParser@CppSharp@@QAE@ABU0123@@Z")] + EntryPoint="??0BinaryOperatorObsolete@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - } - - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; - protected bool __ownsNativeInstance; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??1BinaryOperatorObsolete@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); + } - internal static global::CppSharp.Parser.AST.BaseClassSpecifier __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.BinaryOperatorObsolete __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BaseClassSpecifier(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.BinaryOperatorObsolete(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.BaseClassSpecifier __CreateInstance(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.BinaryOperatorObsolete __CreateInstance(global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BaseClassSpecifier(native, skipVTables); + return new global::CppSharp.Parser.AST.BinaryOperatorObsolete(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); - *(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) ret = native; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal)); + global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native, bool skipVTables = false) + private BinaryOperatorObsolete(global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected BaseClassSpecifier(void* native, bool skipVTables = false) + protected BinaryOperatorObsolete(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public BaseClassSpecifier() + public BinaryOperatorObsolete(string str, global::CppSharp.Parser.AST.ExpressionObsolete lhs, global::CppSharp.Parser.AST.ExpressionObsolete rhs, string opcodeStr) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, str); + var __arg0 = __basicString0.__Instance; + var __arg1 = ReferenceEquals(lhs, null) ? global::System.IntPtr.Zero : lhs.__Instance; + var __arg2 = ReferenceEquals(rhs, null) ? global::System.IntPtr.Zero : rhs.__Instance; + var __basicString3 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString3, opcodeStr); + var __arg3 = __basicString3.__Instance; + __Internal.ctor((__Instance + __PointerAdjustment), __arg0, __arg1, __arg2, __arg3); + __basicString0.Dispose(false); + __basicString3.Dispose(false); } - public BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier _0) + public BinaryOperatorObsolete(global::CppSharp.Parser.AST.BinaryOperatorObsolete _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) _0.__Instance); - } - - public void Dispose() - { - Dispose(disposing: true); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.BaseClassSpecifier __dummy; + global::CppSharp.Parser.AST.StatementObsolete __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.AccessSpecifier Access - { - get - { - return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->access; - } - - set - { - ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->access = value; - } - } - - public bool IsVirtual + public global::CppSharp.Parser.AST.ExpressionObsolete LHS { get { - return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->isVirtual != 0; + global::CppSharp.Parser.AST.ExpressionObsolete __result0; + if (((global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal*) __Instance)->LHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ExpressionObsolete.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal*) __Instance)->LHS)) + __result0 = (global::CppSharp.Parser.AST.ExpressionObsolete) global::CppSharp.Parser.AST.ExpressionObsolete.NativeToManagedMap[((global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal*) __Instance)->LHS]; + else __result0 = global::CppSharp.Parser.AST.ExpressionObsolete.__CreateInstance(((global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal*) __Instance)->LHS); + return __result0; } set { - ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->isVirtual = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal*)__Instance)->LHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public global::CppSharp.Parser.AST.Type Type + public global::CppSharp.Parser.AST.ExpressionObsolete RHS { get { - global::CppSharp.Parser.AST.Type __result0; - if (((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type)) - __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type]; - else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type); + global::CppSharp.Parser.AST.ExpressionObsolete __result0; + if (((global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal*) __Instance)->RHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ExpressionObsolete.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal*) __Instance)->RHS)) + __result0 = (global::CppSharp.Parser.AST.ExpressionObsolete) global::CppSharp.Parser.AST.ExpressionObsolete.NativeToManagedMap[((global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal*) __Instance)->RHS]; + else __result0 = global::CppSharp.Parser.AST.ExpressionObsolete.__CreateInstance(((global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal*) __Instance)->RHS); return __result0; } set { - ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal*)__Instance)->RHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public int Offset + public string OpcodeStr { get { - return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->offset; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal*) __Instance)->opcodeStr)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->offset = value; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal*)__Instance)->opcodeStr), value); } } } - public unsafe partial class Field : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class CallExprObsolete : global::CppSharp.Parser.AST.ExpressionObsolete, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 164)] + [StructLayout(LayoutKind.Explicit, Size = 44)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::CppSharp.Parser.AST.StatementClassObsolete _class; [FieldOffset(4)] - internal int maxFieldAlignment; + internal global::System.IntPtr decl; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; - [FieldOffset(12)] - internal global::System.IntPtr _namespace; + [FieldOffset(32)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_ExpressionObsolete___N_std_S_allocator__S0_ Arguments; - [FieldOffset(16)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CallExprObsolete@AST@CppParser@CppSharp@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVDeclaration@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::System.IntPtr str, global::System.IntPtr decl); - [FieldOffset(20)] - internal int lineNumberStart; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0CallExprObsolete@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - [FieldOffset(24)] - internal int lineNumberEnd; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??1CallExprObsolete@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); - [FieldOffset(28)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getArguments@CallExprObsolete@AST@CppParser@CppSharp@@QAEPAVExpressionObsolete@234@I@Z")] + internal static extern global::System.IntPtr GetArguments(global::System.IntPtr __instance, uint i); - [FieldOffset(52)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?addArguments@CallExprObsolete@AST@CppParser@CppSharp@@QAEXAAPAVExpressionObsolete@234@@Z")] + internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); - [FieldOffset(76)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?clearArguments@CallExprObsolete@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearArguments(global::System.IntPtr __instance); - [FieldOffset(100)] - internal byte isIncomplete; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getArgumentsCount@CallExprObsolete@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); + } - [FieldOffset(101)] - internal byte isDependent; + internal static new global::CppSharp.Parser.AST.CallExprObsolete __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CallExprObsolete(native.ToPointer(), skipVTables); + } - [FieldOffset(102)] - internal byte isImplicit; + internal static global::CppSharp.Parser.AST.CallExprObsolete __CreateInstance(global::CppSharp.Parser.AST.CallExprObsolete.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.CallExprObsolete(native, skipVTables); + } - [FieldOffset(103)] - internal byte isInvalid; + private static void* __CopyValue(global::CppSharp.Parser.AST.CallExprObsolete.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExprObsolete.__Internal)); + global::CppSharp.Parser.AST.CallExprObsolete.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(104)] - internal global::System.IntPtr completeDeclaration; + private CallExprObsolete(global::CppSharp.Parser.AST.CallExprObsolete.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(108)] - internal uint definitionOrder; + protected CallExprObsolete(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + public CallExprObsolete(string str, global::CppSharp.Parser.AST.Declaration decl) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExprObsolete.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, str); + var __arg0 = __basicString0.__Instance; + var __arg1 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; + __Internal.ctor((__Instance + __PointerAdjustment), __arg0, __arg1); + __basicString0.Dispose(false); + } - [FieldOffset(124)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + public CallExprObsolete(global::CppSharp.Parser.AST.CallExprObsolete _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExprObsolete.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(136)] - internal global::System.IntPtr originalPtr; + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.StatementObsolete __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } - [FieldOffset(140)] - internal global::System.IntPtr comment; + public global::CppSharp.Parser.AST.ExpressionObsolete GetArguments(uint i) + { + var __ret = __Internal.GetArguments((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.ExpressionObsolete __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ExpressionObsolete.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.ExpressionObsolete) global::CppSharp.Parser.AST.ExpressionObsolete.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.ExpressionObsolete.__CreateInstance(__ret); + return __result0; + } - [FieldOffset(144)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + public void AddArguments(global::CppSharp.Parser.AST.ExpressionObsolete s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(152)] - internal global::System.IntPtr _class; + public void ClearArguments() + { + __Internal.ClearArguments((__Instance + __PointerAdjustment)); + } - [FieldOffset(156)] - internal byte isBitField; + public uint ArgumentsCount + { + get + { + var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } - [FieldOffset(160)] - internal uint bitWidth; + public unsafe partial class CXXConstructExprObsolete : global::CppSharp.Parser.AST.ExpressionObsolete, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 44)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StatementClassObsolete _class; + + [FieldOffset(4)] + internal global::System.IntPtr decl; + + [FieldOffset(8)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; + + [FieldOffset(32)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_ExpressionObsolete___N_std_S_allocator__S0_ Arguments; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Field@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + EntryPoint="??0CXXConstructExprObsolete@AST@CppParser@CppSharp@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVDeclaration@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::System.IntPtr str, global::System.IntPtr decl); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Field@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0CXXConstructExprObsolete@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1Field@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??1CXXConstructExprObsolete@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor(global::System.IntPtr __instance, int delete); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getArguments@CXXConstructExprObsolete@AST@CppParser@CppSharp@@QAEPAVExpressionObsolete@234@I@Z")] + internal static extern global::System.IntPtr GetArguments(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?addArguments@CXXConstructExprObsolete@AST@CppParser@CppSharp@@QAEXAAPAVExpressionObsolete@234@@Z")] + internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?clearArguments@CXXConstructExprObsolete@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearArguments(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getArgumentsCount@CXXConstructExprObsolete@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.Field __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.CXXConstructExprObsolete __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Field(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.CXXConstructExprObsolete(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Field __CreateInstance(global::CppSharp.Parser.AST.Field.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.CXXConstructExprObsolete __CreateInstance(global::CppSharp.Parser.AST.CXXConstructExprObsolete.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Field(native, skipVTables); + return new global::CppSharp.Parser.AST.CXXConstructExprObsolete(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Field.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXConstructExprObsolete.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); - global::CppSharp.Parser.AST.Field.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExprObsolete.__Internal)); + global::CppSharp.Parser.AST.CXXConstructExprObsolete.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Field(global::CppSharp.Parser.AST.Field.__Internal native, bool skipVTables = false) + private CXXConstructExprObsolete(global::CppSharp.Parser.AST.CXXConstructExprObsolete.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Field(void* native, bool skipVTables = false) + protected CXXConstructExprObsolete(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -9041,19 +8862,24 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Field() + public CXXConstructExprObsolete(string str, global::CppSharp.Parser.AST.Declaration decl) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExprObsolete.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, str); + var __arg0 = __basicString0.__Instance; + var __arg1 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; + __Internal.ctor((__Instance + __PointerAdjustment), __arg0, __arg1); + __basicString0.Dispose(false); } - public Field(global::CppSharp.Parser.AST.Field _0) + public CXXConstructExprObsolete(global::CppSharp.Parser.AST.CXXConstructExprObsolete _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExprObsolete.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -9066,7 +8892,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.StatementObsolete __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -9075,67 +8901,43 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType + public global::CppSharp.Parser.AST.ExpressionObsolete GetArguments(uint i) { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->qualifiedType)); - } - - set - { - ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } + var __ret = __Internal.GetArguments((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.ExpressionObsolete __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ExpressionObsolete.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.ExpressionObsolete) global::CppSharp.Parser.AST.ExpressionObsolete.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.ExpressionObsolete.__CreateInstance(__ret); + return __result0; } - public global::CppSharp.Parser.AST.Class Class + public void AddArguments(global::CppSharp.Parser.AST.ExpressionObsolete s) { - get - { - global::CppSharp.Parser.AST.Class __result0; - if (((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class)) - __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class]; - else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); } - public bool IsBitField + public void ClearArguments() { - get - { - return ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->isBitField != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->isBitField = (byte) (value ? 1 : 0); - } + __Internal.ClearArguments((__Instance + __PointerAdjustment)); } - public uint BitWidth + public uint ArgumentsCount { get { - return ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->bitWidth; - } - - set - { - ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->bitWidth = value; + var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class AccessSpecifierDecl : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class Parameter : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 144)] + [StructLayout(LayoutKind.Explicit, Size = 168)] public new partial struct __Internal { [FieldOffset(0)] @@ -9198,47 +9000,65 @@ namespace CppSharp [FieldOffset(140)] internal global::System.IntPtr comment; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0AccessSpecifierDecl@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + [FieldOffset(144)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0AccessSpecifierDecl@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + [FieldOffset(152)] + internal byte isIndirect; - [SuppressUnmanagedCodeSecurity] + [FieldOffset(153)] + internal byte hasDefaultValue; + + [FieldOffset(156)] + internal uint index; + + [FieldOffset(160)] + internal global::System.IntPtr defaultArgument; + + [FieldOffset(164)] + internal global::System.IntPtr defaultArgumentNew; + + [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1AccessSpecifierDecl@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0Parameter@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0Parameter@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??1Parameter@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor(global::System.IntPtr __instance, int delete); } - internal static new global::CppSharp.Parser.AST.AccessSpecifierDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Parameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.AccessSpecifierDecl(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Parameter(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.AccessSpecifierDecl __CreateInstance(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Parameter __CreateInstance(global::CppSharp.Parser.AST.Parameter.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.AccessSpecifierDecl(native, skipVTables); + return new global::CppSharp.Parser.AST.Parameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Parameter.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); - global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); + global::CppSharp.Parser.AST.Parameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private AccessSpecifierDecl(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native, bool skipVTables = false) + private Parameter(global::CppSharp.Parser.AST.Parameter.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected AccessSpecifierDecl(void* native, bool skipVTables = false) + protected Parameter(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -9247,19 +9067,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public AccessSpecifierDecl() + public Parameter() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public AccessSpecifierDecl(global::CppSharp.Parser.AST.AccessSpecifierDecl _0) + public Parameter(global::CppSharp.Parser.AST.Parameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -9280,11 +9100,99 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } + + public global::CppSharp.Parser.AST.QualifiedType QualifiedType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->qualifiedType)); + } + + set + { + ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public bool IsIndirect + { + get + { + return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->isIndirect != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->isIndirect = (byte) (value ? 1 : 0); + } + } + + public bool HasDefaultValue + { + get + { + return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->hasDefaultValue != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->hasDefaultValue = (byte) (value ? 1 : 0); + } + } + + public uint Index + { + get + { + return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->index; + } + + set + { + ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->index = value; + } + } + + public global::CppSharp.Parser.AST.ExpressionObsolete DefaultArgument + { + get + { + global::CppSharp.Parser.AST.ExpressionObsolete __result0; + if (((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ExpressionObsolete.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument)) + __result0 = (global::CppSharp.Parser.AST.ExpressionObsolete) global::CppSharp.Parser.AST.ExpressionObsolete.NativeToManagedMap[((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument]; + else __result0 = global::CppSharp.Parser.AST.ExpressionObsolete.__CreateInstance(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->defaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr DefaultArgumentNew + { + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgumentNew == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgumentNew)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgumentNew]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgumentNew); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->defaultArgumentNew = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } } - public unsafe partial class Class : global::CppSharp.Parser.AST.DeclarationContext, IDisposable + public unsafe partial class Function : global::CppSharp.Parser.AST.DeclarationContext, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 328)] + [StructLayout(LayoutKind.Explicit, Size = 392)] public new partial struct __Internal { [FieldOffset(0)] @@ -9381,171 +9289,123 @@ namespace CppSharp internal byte isAnonymous; [FieldOffset(264)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BaseClassSpecifier___N_std_S_allocator__S0_ Bases; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; + + [FieldOffset(272)] + internal byte isReturnIndirect; + + [FieldOffset(273)] + internal byte hasThisReturn; + + [FieldOffset(274)] + internal byte isConstExpr; + + [FieldOffset(275)] + internal byte isVariadic; [FieldOffset(276)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Field___N_std_S_allocator__S0_ Fields; + internal byte isInline; - [FieldOffset(288)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_S_allocator__S0_ Methods; + [FieldOffset(277)] + internal byte isPure; - [FieldOffset(300)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_AccessSpecifierDecl___N_std_S_allocator__S0_ Specifiers; + [FieldOffset(278)] + internal byte isDeleted; - [FieldOffset(312)] - internal byte isPOD; + [FieldOffset(279)] + internal byte isDefaulted; - [FieldOffset(313)] - internal byte isAbstract; + [FieldOffset(280)] + internal global::CppSharp.Parser.AST.FriendKind friendKind; - [FieldOffset(314)] - internal byte isUnion; + [FieldOffset(284)] + internal global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; - [FieldOffset(315)] - internal byte isDynamic; + [FieldOffset(288)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; - [FieldOffset(316)] - internal byte isPolymorphic; + [FieldOffset(312)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C signature; - [FieldOffset(317)] - internal byte hasNonTrivialDefaultConstructor; + [FieldOffset(336)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C body; - [FieldOffset(318)] - internal byte hasNonTrivialCopyConstructor; + [FieldOffset(360)] + internal global::CppSharp.Parser.AST.CallingConvention callingConvention; - [FieldOffset(319)] - internal byte hasNonTrivialDestructor; + [FieldOffset(364)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_S_allocator__S0_ Parameters; - [FieldOffset(320)] - internal byte isExternCContext; + [FieldOffset(376)] + internal global::System.IntPtr specializationInfo; - [FieldOffset(321)] - internal byte isInjected; + [FieldOffset(380)] + internal global::System.IntPtr instantiatedFrom; - [FieldOffset(324)] - internal global::System.IntPtr layout; + [FieldOffset(384)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Class@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0Function@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Class@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0Function@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1Class@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??1Function@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor(global::System.IntPtr __instance, int delete); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getBases@Class@AST@CppParser@CppSharp@@QAEPAUBaseClassSpecifier@234@I@Z")] - internal static extern global::System.IntPtr GetBases(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addBases@Class@AST@CppParser@CppSharp@@QAEXAAPAUBaseClassSpecifier@234@@Z")] - internal static extern void AddBases(global::System.IntPtr __instance, global::System.IntPtr s); + EntryPoint="?getParameters@Function@AST@CppParser@CppSharp@@QAEPAVParameter@234@I@Z")] + internal static extern global::System.IntPtr GetParameters(global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearBases@Class@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearBases(global::System.IntPtr __instance); + EntryPoint="?addParameters@Function@AST@CppParser@CppSharp@@QAEXAAPAVParameter@234@@Z")] + internal static extern void AddParameters(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getFields@Class@AST@CppParser@CppSharp@@QAEPAVField@234@I@Z")] - internal static extern global::System.IntPtr GetFields(global::System.IntPtr __instance, uint i); + EntryPoint="?clearParameters@Function@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearParameters(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addFields@Class@AST@CppParser@CppSharp@@QAEXAAPAVField@234@@Z")] - internal static extern void AddFields(global::System.IntPtr __instance, global::System.IntPtr s); + EntryPoint="?getParametersCount@Function@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetParametersCount(global::System.IntPtr __instance); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearFields@Class@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearFields(global::System.IntPtr __instance); + internal static new global::CppSharp.Parser.AST.Function __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Function(native.ToPointer(), skipVTables); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getMethods@Class@AST@CppParser@CppSharp@@QAEPAVMethod@234@I@Z")] - internal static extern global::System.IntPtr GetMethods(global::System.IntPtr __instance, uint i); + internal static global::CppSharp.Parser.AST.Function __CreateInstance(global::CppSharp.Parser.AST.Function.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Function(native, skipVTables); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addMethods@Class@AST@CppParser@CppSharp@@QAEXAAPAVMethod@234@@Z")] - internal static extern void AddMethods(global::System.IntPtr __instance, global::System.IntPtr s); + private static void* __CopyValue(global::CppSharp.Parser.AST.Function.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); + global::CppSharp.Parser.AST.Function.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearMethods@Class@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearMethods(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getSpecifiers@Class@AST@CppParser@CppSharp@@QAEPAVAccessSpecifierDecl@234@I@Z")] - internal static extern global::System.IntPtr GetSpecifiers(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addSpecifiers@Class@AST@CppParser@CppSharp@@QAEXAAPAVAccessSpecifierDecl@234@@Z")] - internal static extern void AddSpecifiers(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearSpecifiers@Class@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearSpecifiers(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getBasesCount@Class@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetBasesCount(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getFieldsCount@Class@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetFieldsCount(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getMethodsCount@Class@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetMethodsCount(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getSpecifiersCount@Class@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetSpecifiersCount(global::System.IntPtr __instance); - } - - internal static new global::CppSharp.Parser.AST.Class __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Class(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.Class __CreateInstance(global::CppSharp.Parser.AST.Class.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Class(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.Class.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); - global::CppSharp.Parser.AST.Class.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private Class(global::CppSharp.Parser.AST.Class.__Internal native, bool skipVTables = false) + private Function(global::CppSharp.Parser.AST.Function.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Class(void* native, bool skipVTables = false) + protected Function(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -9554,19 +9414,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Class() + public Function() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public Class(global::CppSharp.Parser.AST.Class _0) + public Function(global::CppSharp.Parser.AST.Function _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -9588,290 +9448,296 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.BaseClassSpecifier GetBases(uint i) - { - var __ret = __Internal.GetBases((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.BaseClassSpecifier __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.BaseClassSpecifier.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.BaseClassSpecifier) global::CppSharp.Parser.AST.BaseClassSpecifier.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.BaseClassSpecifier.__CreateInstance(__ret); - return __result0; - } - - public void AddBases(global::CppSharp.Parser.AST.BaseClassSpecifier s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddBases((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearBases() - { - __Internal.ClearBases((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.Field GetFields(uint i) - { - var __ret = __Internal.GetFields((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Field __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Field.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Field) global::CppSharp.Parser.AST.Field.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Field.__CreateInstance(__ret); - return __result0; - } - - public void AddFields(global::CppSharp.Parser.AST.Field s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddFields((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearFields() - { - __Internal.ClearFields((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.Method GetMethods(uint i) + public global::CppSharp.Parser.AST.Parameter GetParameters(uint i) { - var __ret = __Internal.GetMethods((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Method __result0; + var __ret = __Internal.GetParameters((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Parameter __result0; if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Method.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Method) global::CppSharp.Parser.AST.Method.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Method.__CreateInstance(__ret); + else if (global::CppSharp.Parser.AST.Parameter.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Parameter) global::CppSharp.Parser.AST.Parameter.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Parameter.__CreateInstance(__ret); return __result0; } - public void AddMethods(global::CppSharp.Parser.AST.Method s) + public void AddParameters(global::CppSharp.Parser.AST.Parameter s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddMethods((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearMethods() - { - __Internal.ClearMethods((__Instance + __PointerAdjustment)); + __Internal.AddParameters((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.AccessSpecifierDecl GetSpecifiers(uint i) + public void ClearParameters() { - var __ret = __Internal.GetSpecifiers((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.AccessSpecifierDecl __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.AccessSpecifierDecl.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.AccessSpecifierDecl) global::CppSharp.Parser.AST.AccessSpecifierDecl.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.AccessSpecifierDecl.__CreateInstance(__ret); - return __result0; + __Internal.ClearParameters((__Instance + __PointerAdjustment)); } - public void AddSpecifiers(global::CppSharp.Parser.AST.AccessSpecifierDecl s) + public global::CppSharp.Parser.AST.QualifiedType ReturnType { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddSpecifiers((__Instance + __PointerAdjustment), __arg0); - } + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->returnType)); + } - public void ClearSpecifiers() - { - __Internal.ClearSpecifiers((__Instance + __PointerAdjustment)); + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->returnType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } - public bool IsPOD + public bool IsReturnIndirect { get { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isPOD != 0; + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isReturnIndirect != 0; } set { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isPOD = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isReturnIndirect = (byte) (value ? 1 : 0); } } - public bool IsAbstract + public bool HasThisReturn { get { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isAbstract != 0; + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->hasThisReturn != 0; } set { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isAbstract = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->hasThisReturn = (byte) (value ? 1 : 0); } } - public bool IsUnion + public bool IsConstExpr { get { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isUnion != 0; + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isConstExpr != 0; } set { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isUnion = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isConstExpr = (byte) (value ? 1 : 0); } } - public bool IsDynamic + public bool IsVariadic { get { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isDynamic != 0; + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isVariadic != 0; } set { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isDynamic = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isVariadic = (byte) (value ? 1 : 0); } } - public bool IsPolymorphic + public bool IsInline { get { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isPolymorphic != 0; + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isInline != 0; } set { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isPolymorphic = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isInline = (byte) (value ? 1 : 0); } } - public bool HasNonTrivialDefaultConstructor + public bool IsPure { get { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialDefaultConstructor != 0; + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isPure != 0; } set { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->hasNonTrivialDefaultConstructor = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isPure = (byte) (value ? 1 : 0); } } - public bool HasNonTrivialCopyConstructor + public bool IsDeleted { get { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialCopyConstructor != 0; + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isDeleted != 0; } set { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->hasNonTrivialCopyConstructor = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isDeleted = (byte) (value ? 1 : 0); } } - public bool HasNonTrivialDestructor + public bool IsDefaulted { get { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialDestructor != 0; + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isDefaulted != 0; } set { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->hasNonTrivialDestructor = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isDefaulted = (byte) (value ? 1 : 0); } } - public bool IsExternCContext + public global::CppSharp.Parser.AST.FriendKind FriendKind { get { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isExternCContext != 0; + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->friendKind; } set { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isExternCContext = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->friendKind = value; } } - public bool IsInjected + public global::CppSharp.Parser.AST.CXXOperatorKind OperatorKind { get { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isInjected != 0; + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->operatorKind; } set { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isInjected = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->operatorKind = value; } } - public global::CppSharp.Parser.AST.ClassLayout Layout + public string Mangled { get { - global::CppSharp.Parser.AST.ClassLayout __result0; - if (((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.ClassLayout.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout)) - __result0 = (global::CppSharp.Parser.AST.ClassLayout) global::CppSharp.Parser.AST.ClassLayout.NativeToManagedMap[((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout]; - else __result0 = global::CppSharp.Parser.AST.ClassLayout.__CreateInstance(((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout); - return __result0; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->mangled)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->layout = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->mangled), value); } } - public uint BasesCount + public string Signature { get { - var __ret = __Internal.GetBasesCount((__Instance + __PointerAdjustment)); - return __ret; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->signature)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } - } - public uint FieldsCount - { - get + set { - var __ret = __Internal.GetFieldsCount((__Instance + __PointerAdjustment)); - return __ret; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->signature), value); } } - public uint MethodsCount + public string Body { get { - var __ret = __Internal.GetMethodsCount((__Instance + __PointerAdjustment)); - return __ret; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->body)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->body), value); } } - public uint SpecifiersCount + public global::CppSharp.Parser.AST.CallingConvention CallingConvention { get { - var __ret = __Internal.GetSpecifiersCount((__Instance + __PointerAdjustment)); + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->callingConvention; + } + + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->callingConvention = value; + } + } + + public global::CppSharp.Parser.AST.FunctionTemplateSpecialization SpecializationInfo + { + get + { + global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0; + if (((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo)) + __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo]; + else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->specializationInfo = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Function InstantiatedFrom + { + get + { + global::CppSharp.Parser.AST.Function __result0; + if (((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom)) + __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom]; + else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->instantiatedFrom = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType QualifiedType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->qualifiedType)); + } + + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public uint ParametersCount + { + get + { + var __ret = __Internal.GetParametersCount((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class Template : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class Method : global::CppSharp.Parser.AST.Function, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 160)] + [StructLayout(LayoutKind.Explicit, Size = 428)] public new partial struct __Internal { [FieldOffset(0)] @@ -9935,77 +9801,189 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(144)] - internal global::System.IntPtr TemplatedDecl; + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; - [FieldOffset(148)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; + [FieldOffset(156)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Template@AST@CppParser@CppSharp@@QAE@W4DeclarationKind@123@@Z")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.DeclarationKind kind); + [FieldOffset(168)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; + + [FieldOffset(180)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; + + [FieldOffset(192)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; + + [FieldOffset(204)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; + + [FieldOffset(216)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; + + [FieldOffset(228)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; + + [FieldOffset(240)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; + + [FieldOffset(252)] + internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + + [FieldOffset(260)] + internal byte isAnonymous; + + [FieldOffset(264)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; + + [FieldOffset(272)] + internal byte isReturnIndirect; + + [FieldOffset(273)] + internal byte hasThisReturn; + + [FieldOffset(274)] + internal byte isConstExpr; + + [FieldOffset(275)] + internal byte isVariadic; + + [FieldOffset(276)] + internal byte isInline; + + [FieldOffset(277)] + internal byte isPure; + + [FieldOffset(278)] + internal byte isDeleted; + + [FieldOffset(279)] + internal byte isDefaulted; + + [FieldOffset(280)] + internal global::CppSharp.Parser.AST.FriendKind friendKind; + + [FieldOffset(284)] + internal global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; + + [FieldOffset(288)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; + + [FieldOffset(312)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C signature; + + [FieldOffset(336)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C body; + + [FieldOffset(360)] + internal global::CppSharp.Parser.AST.CallingConvention callingConvention; + + [FieldOffset(364)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_S_allocator__S0_ Parameters; + + [FieldOffset(376)] + internal global::System.IntPtr specializationInfo; + + [FieldOffset(380)] + internal global::System.IntPtr instantiatedFrom; + + [FieldOffset(384)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(392)] + internal byte isVirtual; + + [FieldOffset(393)] + internal byte isStatic; + + [FieldOffset(394)] + internal byte isConst; + + [FieldOffset(395)] + internal byte isExplicit; + + [FieldOffset(396)] + internal global::CppSharp.Parser.AST.CXXMethodKind methodKind; + + [FieldOffset(400)] + internal byte isDefaultConstructor; + + [FieldOffset(401)] + internal byte isCopyConstructor; + + [FieldOffset(402)] + internal byte isMoveConstructor; + + [FieldOffset(404)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal conversionType; + + [FieldOffset(412)] + internal global::CppSharp.Parser.AST.RefQualifierKind refQualifier; + + [FieldOffset(416)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_S_allocator__S0_ OverriddenMethods; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Template@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0Method@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Template@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0Method@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1Template@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??1Method@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor(global::System.IntPtr __instance, int delete); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getParameters@Template@AST@CppParser@CppSharp@@QAEPAVDeclaration@234@I@Z")] - internal static extern global::System.IntPtr GetParameters(global::System.IntPtr __instance, uint i); + EntryPoint="?getOverriddenMethods@Method@AST@CppParser@CppSharp@@QAEPAV1234@I@Z")] + internal static extern global::System.IntPtr GetOverriddenMethods(global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addParameters@Template@AST@CppParser@CppSharp@@QAEXAAPAVDeclaration@234@@Z")] - internal static extern void AddParameters(global::System.IntPtr __instance, global::System.IntPtr s); + EntryPoint="?addOverriddenMethods@Method@AST@CppParser@CppSharp@@QAEXAAPAV1234@@Z")] + internal static extern void AddOverriddenMethods(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearParameters@Template@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearParameters(global::System.IntPtr __instance); + EntryPoint="?clearOverriddenMethods@Method@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearOverriddenMethods(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getParametersCount@Template@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetParametersCount(global::System.IntPtr __instance); + EntryPoint="?getOverriddenMethodsCount@Method@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetOverriddenMethodsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.Template __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Method __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Template(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Method(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Template __CreateInstance(global::CppSharp.Parser.AST.Template.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Method __CreateInstance(global::CppSharp.Parser.AST.Method.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Template(native, skipVTables); + return new global::CppSharp.Parser.AST.Method(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Template.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Method.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); - global::CppSharp.Parser.AST.Template.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); + global::CppSharp.Parser.AST.Method.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Template(global::CppSharp.Parser.AST.Template.__Internal native, bool skipVTables = false) + private Method(global::CppSharp.Parser.AST.Method.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Template(void* native, bool skipVTables = false) + protected Method(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -10014,28 +9992,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Template(global::CppSharp.Parser.AST.DeclarationKind kind) + public Method() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), kind); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public Template() + public Method(global::CppSharp.Parser.AST.Method _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } - - public Template(global::CppSharp.Parser.AST.Template _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -10057,66 +10026,173 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.Declaration GetParameters(uint i) + public global::CppSharp.Parser.AST.Method GetOverriddenMethods(uint i) { - var __ret = __Internal.GetParameters((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Declaration __result0; + var __ret = __Internal.GetOverriddenMethods((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Method __result0; if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(__ret); + else if (global::CppSharp.Parser.AST.Method.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Method) global::CppSharp.Parser.AST.Method.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Method.__CreateInstance(__ret); return __result0; } - public void AddParameters(global::CppSharp.Parser.AST.Declaration s) + public void AddOverriddenMethods(global::CppSharp.Parser.AST.Method s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddParameters((__Instance + __PointerAdjustment), __arg0); + __Internal.AddOverriddenMethods((__Instance + __PointerAdjustment), __arg0); } - public void ClearParameters() + public void ClearOverriddenMethods() { - __Internal.ClearParameters((__Instance + __PointerAdjustment)); + __Internal.ClearOverriddenMethods((__Instance + __PointerAdjustment)); } - public static implicit operator global::CppSharp.Parser.AST.Template(global::CppSharp.Parser.AST.DeclarationKind kind) + public bool IsVirtual { - return new global::CppSharp.Parser.AST.Template(kind); + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isVirtual != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isVirtual = (byte) (value ? 1 : 0); + } } - public global::CppSharp.Parser.AST.Declaration TemplatedDecl + public bool IsStatic { get { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl); - return __result0; + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isStatic != 0; } set { - ((global::CppSharp.Parser.AST.Template.__Internal*)__Instance)->TemplatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isStatic = (byte) (value ? 1 : 0); } } - public uint ParametersCount + public bool IsConst { get { - var __ret = __Internal.GetParametersCount((__Instance + __PointerAdjustment)); + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isConst != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isConst = (byte) (value ? 1 : 0); + } + } + + public bool IsExplicit + { + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isExplicit != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isExplicit = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.CXXMethodKind MethodKind + { + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->methodKind; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->methodKind = value; + } + } + + public bool IsDefaultConstructor + { + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isDefaultConstructor != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isDefaultConstructor = (byte) (value ? 1 : 0); + } + } + + public bool IsCopyConstructor + { + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isCopyConstructor != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isCopyConstructor = (byte) (value ? 1 : 0); + } + } + + public bool IsMoveConstructor + { + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isMoveConstructor != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isMoveConstructor = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.QualifiedType ConversionType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->conversionType)); + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->conversionType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public global::CppSharp.Parser.AST.RefQualifierKind RefQualifier + { + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->refQualifier; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->refQualifier = value; + } + } + + public uint OverriddenMethodsCount + { + get + { + var __ret = __Internal.GetOverriddenMethodsCount((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class TypeAliasTemplate : global::CppSharp.Parser.AST.Template, IDisposable + public unsafe partial class Enumeration : global::CppSharp.Parser.AST.DeclarationContext, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 160)] + [StructLayout(LayoutKind.Explicit, Size = 288)] public new partial struct __Internal { [FieldOffset(0)] @@ -10180,52 +10256,308 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(144)] - internal global::System.IntPtr TemplatedDecl; + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; - [FieldOffset(148)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; + [FieldOffset(156)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; + + [FieldOffset(168)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; + + [FieldOffset(180)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; + + [FieldOffset(192)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; + + [FieldOffset(204)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; + + [FieldOffset(216)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; + + [FieldOffset(228)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; + + [FieldOffset(240)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; + + [FieldOffset(252)] + internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + + [FieldOffset(260)] + internal byte isAnonymous; + + [FieldOffset(264)] + internal global::CppSharp.Parser.AST.Enumeration.EnumModifiers modifiers; + + [FieldOffset(268)] + internal global::System.IntPtr type; + + [FieldOffset(272)] + internal global::System.IntPtr builtinType; + + [FieldOffset(276)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration_S_Item___N_std_S_allocator__S0_ Items; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TypeAliasTemplate@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0Enumeration@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TypeAliasTemplate@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0Enumeration@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1TypeAliasTemplate@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??1Enumeration@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor(global::System.IntPtr __instance, int delete); - } - internal static new global::CppSharp.Parser.AST.TypeAliasTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.TypeAliasTemplate(native.ToPointer(), skipVTables); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getItems@Enumeration@AST@CppParser@CppSharp@@QAEPAVItem@1234@I@Z")] + internal static extern global::System.IntPtr GetItems(global::System.IntPtr __instance, uint i); - internal static global::CppSharp.Parser.AST.TypeAliasTemplate __CreateInstance(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.TypeAliasTemplate(native, skipVTables); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?addItems@Enumeration@AST@CppParser@CppSharp@@QAEXAAPAVItem@1234@@Z")] + internal static extern void AddItems(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?clearItems@Enumeration@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearItems(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?FindItemByName@Enumeration@AST@CppParser@CppSharp@@QAEPAVItem@1234@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z")] + internal static extern global::System.IntPtr FindItemByName(global::System.IntPtr __instance, global::System.IntPtr Name); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getItemsCount@Enumeration@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetItemsCount(global::System.IntPtr __instance); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native) + [Flags] + public enum EnumModifiers { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); - global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); + Anonymous = 1, + Scoped = 2, + Flags = 4 } - private TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native, bool skipVTables = false) + public unsafe partial class Item : global::CppSharp.Parser.AST.Declaration, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 176)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(12)] + internal global::System.IntPtr _namespace; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(20)] + internal int lineNumberStart; + + [FieldOffset(24)] + internal int lineNumberEnd; + + [FieldOffset(28)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(52)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(76)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(100)] + internal byte isIncomplete; + + [FieldOffset(101)] + internal byte isDependent; + + [FieldOffset(102)] + internal byte isImplicit; + + [FieldOffset(103)] + internal byte isInvalid; + + [FieldOffset(104)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(108)] + internal uint definitionOrder; + + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(124)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(136)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(140)] + internal global::System.IntPtr comment; + + [FieldOffset(144)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C expression; + + [FieldOffset(168)] + internal ulong value; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0Item@Enumeration@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0Item@Enumeration@AST@CppParser@CppSharp@@QAE@ABV01234@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??1Item@Enumeration@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); + } + + internal static new global::CppSharp.Parser.AST.Enumeration.Item __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Enumeration.Item(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.Enumeration.Item __CreateInstance(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Enumeration.Item(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); + global::CppSharp.Parser.AST.Enumeration.Item.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private Item(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Item(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Item() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public Item(global::CppSharp.Parser.AST.Enumeration.Item _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public string Expression + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*) __Instance)->expression)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*)__Instance)->expression), value); + } + } + + public ulong Value + { + get + { + return ((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*) __Instance)->value; + } + + set + { + ((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*)__Instance)->value = value; + } + } + } + + internal static new global::CppSharp.Parser.AST.Enumeration __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Enumeration(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.Enumeration __CreateInstance(global::CppSharp.Parser.AST.Enumeration.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Enumeration(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.Enumeration.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); + global::CppSharp.Parser.AST.Enumeration.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private Enumeration(global::CppSharp.Parser.AST.Enumeration.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TypeAliasTemplate(void* native, bool skipVTables = false) + protected Enumeration(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -10234,19 +10566,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TypeAliasTemplate() + public Enumeration() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate _0) + public Enumeration(global::CppSharp.Parser.AST.Enumeration _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -10267,213 +10599,108 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - } - public unsafe partial class TemplateParameter : global::CppSharp.Parser.AST.Declaration, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 156)] - public new partial struct __Internal + public global::CppSharp.Parser.AST.Enumeration.Item GetItems(uint i) { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(12)] - internal global::System.IntPtr _namespace; - - [FieldOffset(16)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + var __ret = __Internal.GetItems((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Enumeration.Item __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Enumeration.Item) global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Enumeration.Item.__CreateInstance(__ret); + return __result0; + } - [FieldOffset(20)] - internal int lineNumberStart; + public void AddItems(global::CppSharp.Parser.AST.Enumeration.Item s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddItems((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(24)] - internal int lineNumberEnd; + public void ClearItems() + { + __Internal.ClearItems((__Instance + __PointerAdjustment)); + } - [FieldOffset(28)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(52)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - - [FieldOffset(76)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - - [FieldOffset(100)] - internal byte isIncomplete; - - [FieldOffset(101)] - internal byte isDependent; - - [FieldOffset(102)] - internal byte isImplicit; - - [FieldOffset(103)] - internal byte isInvalid; - - [FieldOffset(104)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(108)] - internal uint definitionOrder; - - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(124)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - - [FieldOffset(136)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(140)] - internal global::System.IntPtr comment; - - [FieldOffset(144)] - internal uint depth; - - [FieldOffset(148)] - internal uint index; - - [FieldOffset(152)] - internal byte isParameterPack; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TemplateParameter@AST@CppParser@CppSharp@@QAE@W4DeclarationKind@123@@Z")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.DeclarationKind kind); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TemplateParameter@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1TemplateParameter@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern void dtor(global::System.IntPtr __instance, int delete); - } - - internal static new global::CppSharp.Parser.AST.TemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.TemplateParameter(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.TemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TemplateParameter.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.TemplateParameter(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameter.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); - global::CppSharp.Parser.AST.TemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected TemplateParameter(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public TemplateParameter(global::CppSharp.Parser.AST.DeclarationKind kind) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), kind); - } - - public TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } - - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public static implicit operator global::CppSharp.Parser.AST.TemplateParameter(global::CppSharp.Parser.AST.DeclarationKind kind) + public global::CppSharp.Parser.AST.Enumeration.Item FindItemByName(string Name) { - return new global::CppSharp.Parser.AST.TemplateParameter(kind); + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, Name); + var __arg0 = __basicString0.__Instance; + var __ret = __Internal.FindItemByName((__Instance + __PointerAdjustment), __arg0); + __basicString0.Dispose(false); + global::CppSharp.Parser.AST.Enumeration.Item __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Enumeration.Item) global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Enumeration.Item.__CreateInstance(__ret); + return __result0; } - public uint Depth + public global::CppSharp.Parser.AST.Enumeration.EnumModifiers Modifiers { get { - return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->depth; + return ((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->modifiers; } set { - ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*)__Instance)->depth = value; + ((global::CppSharp.Parser.AST.Enumeration.__Internal*)__Instance)->modifiers = value; } } - public uint Index + public global::CppSharp.Parser.AST.Type Type { get { - return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->index; + global::CppSharp.Parser.AST.Type __result0; + if (((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type)) + __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type]; + else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type); + return __result0; } set { - ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*)__Instance)->index = value; + ((global::CppSharp.Parser.AST.Enumeration.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public bool IsParameterPack + public global::CppSharp.Parser.AST.BuiltinType BuiltinType { get { - return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->isParameterPack != 0; + global::CppSharp.Parser.AST.BuiltinType __result0; + if (((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.BuiltinType.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType)) + __result0 = (global::CppSharp.Parser.AST.BuiltinType) global::CppSharp.Parser.AST.BuiltinType.NativeToManagedMap[((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType]; + else __result0 = global::CppSharp.Parser.AST.BuiltinType.__CreateInstance(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType); + return __result0; } set { - ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*)__Instance)->isParameterPack = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Enumeration.__Internal*)__Instance)->builtinType = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public uint ItemsCount + { + get + { + var __ret = __Internal.GetItemsCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class TemplateTemplateParameter : global::CppSharp.Parser.AST.Template, IDisposable + public unsafe partial class Variable : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 164)] + [StructLayout(LayoutKind.Explicit, Size = 176)] public new partial struct __Internal { [FieldOffset(0)] @@ -10537,61 +10764,52 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(144)] - internal global::System.IntPtr TemplatedDecl; - - [FieldOffset(148)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; - - [FieldOffset(160)] - internal byte isParameterPack; - - [FieldOffset(161)] - internal byte isPackExpansion; + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; - [FieldOffset(162)] - internal byte isExpandedParameterPack; + [FieldOffset(168)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TemplateTemplateParameter@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0Variable@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TemplateTemplateParameter@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0Variable@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1TemplateTemplateParameter@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??1Variable@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor(global::System.IntPtr __instance, int delete); } - internal static new global::CppSharp.Parser.AST.TemplateTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Variable __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateTemplateParameter(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Variable(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TemplateTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Variable __CreateInstance(global::CppSharp.Parser.AST.Variable.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateTemplateParameter(native, skipVTables); + return new global::CppSharp.Parser.AST.Variable(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Variable.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); - global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); + global::CppSharp.Parser.AST.Variable.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native, bool skipVTables = false) + private Variable(global::CppSharp.Parser.AST.Variable.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TemplateTemplateParameter(void* native, bool skipVTables = false) + protected Variable(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -10600,19 +10818,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TemplateTemplateParameter() + public Variable() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter _0) + public Variable(global::CppSharp.Parser.AST.Variable _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -10634,223 +10852,196 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public bool IsParameterPack + public string Mangled { get { - return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isParameterPack != 0; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Variable.__Internal*) __Instance)->mangled)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*)__Instance)->isParameterPack = (byte) (value ? 1 : 0); + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Variable.__Internal*)__Instance)->mangled), value); } } - public bool IsPackExpansion + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { get { - return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isPackExpansion != 0; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Variable.__Internal*) __Instance)->qualifiedType)); } set { - ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*)__Instance)->isPackExpansion = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Variable.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } + } - public bool IsExpandedParameterPack - { - get - { - return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack != 0; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*)__Instance)->isExpandedParameterPack = (byte) (value ? 1 : 0); - } - } - } - - public unsafe partial class TypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 164)] - public new partial struct __Internal + public unsafe partial class BaseClassSpecifier : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 16)] + public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(4)] - internal int maxFieldAlignment; + internal byte isVirtual; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + internal global::System.IntPtr type; [FieldOffset(12)] - internal global::System.IntPtr _namespace; - - [FieldOffset(16)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(20)] - internal int lineNumberStart; - - [FieldOffset(24)] - internal int lineNumberEnd; - - [FieldOffset(28)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(52)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - - [FieldOffset(76)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - - [FieldOffset(100)] - internal byte isIncomplete; - - [FieldOffset(101)] - internal byte isDependent; - - [FieldOffset(102)] - internal byte isImplicit; - - [FieldOffset(103)] - internal byte isInvalid; - - [FieldOffset(104)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(108)] - internal uint definitionOrder; - - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(124)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - - [FieldOffset(136)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(140)] - internal global::System.IntPtr comment; - - [FieldOffset(144)] - internal uint depth; - - [FieldOffset(148)] - internal uint index; - - [FieldOffset(152)] - internal byte isParameterPack; - - [FieldOffset(156)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal defaultArgument; + internal int offset; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TypeTemplateParameter@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0BaseClassSpecifier@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TypeTemplateParameter@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0BaseClassSpecifier@AST@CppParser@CppSharp@@QAE@ABU0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1TypeTemplateParameter@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern void dtor(global::System.IntPtr __instance, int delete); } - internal static new global::CppSharp.Parser.AST.TypeTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.BaseClassSpecifier __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypeTemplateParameter(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.BaseClassSpecifier(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TypeTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.BaseClassSpecifier __CreateInstance(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypeTemplateParameter(native, skipVTables); + return new global::CppSharp.Parser.AST.BaseClassSpecifier(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); - global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); + *(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) ret = native; return ret.ToPointer(); } - private TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native, bool skipVTables = false) + private BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TypeTemplateParameter(void* native, bool skipVTables = false) - : base((void*) null) + protected BaseClassSpecifier(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public TypeTemplateParameter() - : this((void*) null) + public BaseClassSpecifier() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter _0) - : this((void*) null) + public BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + *((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) _0.__Instance); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.BaseClassSpecifier __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.QualifiedType DefaultArgument + public global::CppSharp.Parser.AST.AccessSpecifier Access { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal*) __Instance)->defaultArgument)); + return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->access; } set { - ((global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal*)__Instance)->defaultArgument = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->access = value; + } + } + + public bool IsVirtual + { + get + { + return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->isVirtual != 0; + } + + set + { + ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->isVirtual = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.Type Type + { + get + { + global::CppSharp.Parser.AST.Type __result0; + if (((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type)) + __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type]; + else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public int Offset + { + get + { + return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->offset; + } + + set + { + ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->offset = value; } } } - public unsafe partial class NonTypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable + public unsafe partial class Field : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 168)] + [StructLayout(LayoutKind.Explicit, Size = 164)] public new partial struct __Internal { [FieldOffset(0)] @@ -10914,67 +11105,58 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(144)] - internal uint depth; - - [FieldOffset(148)] - internal uint index; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [FieldOffset(152)] - internal byte isParameterPack; + internal global::System.IntPtr _class; [FieldOffset(156)] - internal global::System.IntPtr defaultArgument; + internal byte isBitField; [FieldOffset(160)] - internal uint position; - - [FieldOffset(164)] - internal byte isPackExpansion; - - [FieldOffset(165)] - internal byte isExpandedParameterPack; + internal uint bitWidth; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0NonTypeTemplateParameter@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0Field@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0NonTypeTemplateParameter@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0Field@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1NonTypeTemplateParameter@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??1Field@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor(global::System.IntPtr __instance, int delete); } - internal static new global::CppSharp.Parser.AST.NonTypeTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Field __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.NonTypeTemplateParameter(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Field(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.NonTypeTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Field __CreateInstance(global::CppSharp.Parser.AST.Field.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.NonTypeTemplateParameter(native, skipVTables); + return new global::CppSharp.Parser.AST.Field(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Field.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); - global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); + global::CppSharp.Parser.AST.Field.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native, bool skipVTables = false) + private Field(global::CppSharp.Parser.AST.Field.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected NonTypeTemplateParameter(void* native, bool skipVTables = false) + protected Field(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -10983,19 +11165,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public NonTypeTemplateParameter() + public Field() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter _0) + public Field(global::CppSharp.Parser.AST.Field _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -11017,67 +11199,67 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.Expression DefaultArgument + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { get { - global::CppSharp.Parser.AST.Expression __result0; - if (((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument)) - __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument]; - else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument); - return __result0; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->qualifiedType)); } set { - ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->defaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public uint Position + public global::CppSharp.Parser.AST.Class Class { get { - return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->position; + global::CppSharp.Parser.AST.Class __result0; + if (((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class)) + __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class]; + else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class); + return __result0; } set { - ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->position = value; + ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public bool IsPackExpansion + public bool IsBitField { get { - return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->isPackExpansion != 0; + return ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->isBitField != 0; } set { - ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->isPackExpansion = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->isBitField = (byte) (value ? 1 : 0); } } - public bool IsExpandedParameterPack + public uint BitWidth { get { - return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack != 0; + return ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->bitWidth; } set { - ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->isExpandedParameterPack = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->bitWidth = value; } } } - public unsafe partial class ClassTemplate : global::CppSharp.Parser.AST.Template, IDisposable + public unsafe partial class AccessSpecifierDecl : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 172)] + [StructLayout(LayoutKind.Explicit, Size = 144)] public new partial struct __Internal { [FieldOffset(0)] @@ -11140,86 +11322,47 @@ namespace CppSharp [FieldOffset(140)] internal global::System.IntPtr comment; - [FieldOffset(144)] - internal global::System.IntPtr TemplatedDecl; - - [FieldOffset(148)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; - - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_ClassTemplateSpecialization___N_std_S_allocator__S0_ Specializations; - [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0ClassTemplate@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0AccessSpecifierDecl@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0ClassTemplate@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0AccessSpecifierDecl@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1ClassTemplate@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??1AccessSpecifierDecl@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor(global::System.IntPtr __instance, int delete); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getSpecializations@ClassTemplate@AST@CppParser@CppSharp@@QAEPAVClassTemplateSpecialization@234@I@Z")] - internal static extern global::System.IntPtr GetSpecializations(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addSpecializations@ClassTemplate@AST@CppParser@CppSharp@@QAEXAAPAVClassTemplateSpecialization@234@@Z")] - internal static extern void AddSpecializations(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearSpecializations@ClassTemplate@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearSpecializations(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?FindSpecialization@ClassTemplate@AST@CppParser@CppSharp@@QAEPAVClassTemplateSpecialization@234@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z")] - internal static extern global::System.IntPtr FindSpecialization(global::System.IntPtr __instance, global::System.IntPtr usr); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?FindPartialSpecialization@ClassTemplate@AST@CppParser@CppSharp@@QAEPAVClassTemplatePartialSpecialization@234@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z")] - internal static extern global::System.IntPtr FindPartialSpecialization(global::System.IntPtr __instance, global::System.IntPtr usr); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getSpecializationsCount@ClassTemplate@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetSpecializationsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.ClassTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.AccessSpecifierDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ClassTemplate(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.AccessSpecifierDecl(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.ClassTemplate __CreateInstance(global::CppSharp.Parser.AST.ClassTemplate.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.AccessSpecifierDecl __CreateInstance(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ClassTemplate(native, skipVTables); + return new global::CppSharp.Parser.AST.AccessSpecifierDecl(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplate.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal)); - global::CppSharp.Parser.AST.ClassTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); + global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private ClassTemplate(global::CppSharp.Parser.AST.ClassTemplate.__Internal native, bool skipVTables = false) + private AccessSpecifierDecl(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected ClassTemplate(void* native, bool skipVTables = false) + protected AccessSpecifierDecl(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -11228,19 +11371,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public ClassTemplate() + public AccessSpecifierDecl() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public ClassTemplate(global::CppSharp.Parser.AST.ClassTemplate _0) + public AccessSpecifierDecl(global::CppSharp.Parser.AST.AccessSpecifierDecl _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -11261,305 +11404,243 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } + } - public global::CppSharp.Parser.AST.ClassTemplateSpecialization GetSpecializations(uint i) + public unsafe partial class VTableComponent : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 12)] + public partial struct __Internal { - var __ret = __Internal.GetSpecializations((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.ClassTemplateSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.ClassTemplateSpecialization) global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.ClassTemplateSpecialization.__CreateInstance(__ret); - return __result0; + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.VTableComponentKind kind; + + [FieldOffset(4)] + internal uint offset; + + [FieldOffset(8)] + internal global::System.IntPtr declaration; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0VTableComponent@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0VTableComponent@AST@CppParser@CppSharp@@QAE@ABU0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); } - public void AddSpecializations(global::CppSharp.Parser.AST.ClassTemplateSpecialization s) + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.VTableComponent __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddSpecializations((__Instance + __PointerAdjustment), __arg0); + return new global::CppSharp.Parser.AST.VTableComponent(native.ToPointer(), skipVTables); } - public void ClearSpecializations() + internal static global::CppSharp.Parser.AST.VTableComponent __CreateInstance(global::CppSharp.Parser.AST.VTableComponent.__Internal native, bool skipVTables = false) { - __Internal.ClearSpecializations((__Instance + __PointerAdjustment)); + return new global::CppSharp.Parser.AST.VTableComponent(native, skipVTables); } - public global::CppSharp.Parser.AST.ClassTemplateSpecialization FindSpecialization(string usr) + private static void* __CopyValue(global::CppSharp.Parser.AST.VTableComponent.__Internal native) { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, usr); - var __arg0 = __basicString0.__Instance; - var __ret = __Internal.FindSpecialization((__Instance + __PointerAdjustment), __arg0); - __basicString0.Dispose(false); - global::CppSharp.Parser.AST.ClassTemplateSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.ClassTemplateSpecialization) global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.ClassTemplateSpecialization.__CreateInstance(__ret); - return __result0; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); + *(global::CppSharp.Parser.AST.VTableComponent.__Internal*) ret = native; + return ret.ToPointer(); } - public global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization FindPartialSpecialization(string usr) + private VTableComponent(global::CppSharp.Parser.AST.VTableComponent.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, usr); - var __arg0 = __basicString0.__Instance; - var __ret = __Internal.FindPartialSpecialization((__Instance + __PointerAdjustment), __arg0); - __basicString0.Dispose(false); - global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization) global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__CreateInstance(__ret); - return __result0; + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; } - public uint SpecializationsCount + protected VTableComponent(void* native, bool skipVTables = false) { - get - { - var __ret = __Internal.GetSpecializationsCount((__Instance + __PointerAdjustment)); - return __ret; - } + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - } - public unsafe partial class ClassTemplateSpecialization : global::CppSharp.Parser.AST.Class, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 348)] - public new partial struct __Internal + public VTableComponent() { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [FieldOffset(12)] - internal global::System.IntPtr _namespace; + public VTableComponent(global::CppSharp.Parser.AST.VTableComponent _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.VTableComponent.__Internal*) _0.__Instance); + } - [FieldOffset(16)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + public void Dispose() + { + Dispose(disposing: true); + } - [FieldOffset(20)] - internal int lineNumberStart; + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.VTableComponent __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } - [FieldOffset(24)] - internal int lineNumberEnd; + public global::CppSharp.Parser.AST.VTableComponentKind Kind + { + get + { + return ((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->kind; + } - [FieldOffset(28)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + set + { + ((global::CppSharp.Parser.AST.VTableComponent.__Internal*)__Instance)->kind = value; + } + } - [FieldOffset(52)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + public uint Offset + { + get + { + return ((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->offset; + } - [FieldOffset(76)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - - [FieldOffset(100)] - internal byte isIncomplete; - - [FieldOffset(101)] - internal byte isDependent; - - [FieldOffset(102)] - internal byte isImplicit; - - [FieldOffset(103)] - internal byte isInvalid; - - [FieldOffset(104)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(108)] - internal uint definitionOrder; - - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(124)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - - [FieldOffset(136)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(140)] - internal global::System.IntPtr comment; - - [FieldOffset(144)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; - - [FieldOffset(156)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; - - [FieldOffset(168)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; - - [FieldOffset(180)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; - - [FieldOffset(192)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; - - [FieldOffset(204)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; - - [FieldOffset(216)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; - - [FieldOffset(228)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; - - [FieldOffset(240)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; - - [FieldOffset(252)] - internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; - - [FieldOffset(260)] - internal byte isAnonymous; - - [FieldOffset(264)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BaseClassSpecifier___N_std_S_allocator__S0_ Bases; - - [FieldOffset(276)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Field___N_std_S_allocator__S0_ Fields; - - [FieldOffset(288)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_S_allocator__S0_ Methods; - - [FieldOffset(300)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_AccessSpecifierDecl___N_std_S_allocator__S0_ Specifiers; - - [FieldOffset(312)] - internal byte isPOD; - - [FieldOffset(313)] - internal byte isAbstract; - - [FieldOffset(314)] - internal byte isUnion; - - [FieldOffset(315)] - internal byte isDynamic; - - [FieldOffset(316)] - internal byte isPolymorphic; - - [FieldOffset(317)] - internal byte hasNonTrivialDefaultConstructor; - - [FieldOffset(318)] - internal byte hasNonTrivialCopyConstructor; - - [FieldOffset(319)] - internal byte hasNonTrivialDestructor; - - [FieldOffset(320)] - internal byte isExternCContext; - - [FieldOffset(321)] - internal byte isInjected; - - [FieldOffset(324)] - internal global::System.IntPtr layout; + set + { + ((global::CppSharp.Parser.AST.VTableComponent.__Internal*)__Instance)->offset = value; + } + } - [FieldOffset(328)] - internal global::System.IntPtr templatedDecl; + public global::CppSharp.Parser.AST.Declaration Declaration + { + get + { + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration); + return __result0; + } - [FieldOffset(332)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; + set + { + ((global::CppSharp.Parser.AST.VTableComponent.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } - [FieldOffset(344)] - internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; + public unsafe partial class VTableLayout : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 12)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_VTableComponent___N_std_S_allocator__S0_ Components; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0ClassTemplateSpecialization@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0VTableLayout@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0ClassTemplateSpecialization@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0VTableLayout@AST@CppParser@CppSharp@@QAE@ABU0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1ClassTemplateSpecialization@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??1VTableLayout@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor(global::System.IntPtr __instance, int delete); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getArguments@ClassTemplateSpecialization@AST@CppParser@CppSharp@@QAE?AUTemplateArgument@234@I@Z")] - internal static extern void GetArguments(global::System.IntPtr __instance, global::System.IntPtr @return, uint i); + EntryPoint="?getComponents@VTableLayout@AST@CppParser@CppSharp@@QAE?AUVTableComponent@234@I@Z")] + internal static extern void GetComponents(global::System.IntPtr __instance, global::System.IntPtr @return, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addArguments@ClassTemplateSpecialization@AST@CppParser@CppSharp@@QAEXAAUTemplateArgument@234@@Z")] - internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); + EntryPoint="?addComponents@VTableLayout@AST@CppParser@CppSharp@@QAEXAAUVTableComponent@234@@Z")] + internal static extern void AddComponents(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearArguments@ClassTemplateSpecialization@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearArguments(global::System.IntPtr __instance); + EntryPoint="?clearComponents@VTableLayout@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearComponents(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getArgumentsCount@ClassTemplateSpecialization@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); + EntryPoint="?getComponentsCount@VTableLayout@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetComponentsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.ClassTemplateSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.VTableLayout __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ClassTemplateSpecialization(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.VTableLayout(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.ClassTemplateSpecialization __CreateInstance(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VTableLayout __CreateInstance(global::CppSharp.Parser.AST.VTableLayout.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ClassTemplateSpecialization(native, skipVTables); + return new global::CppSharp.Parser.AST.VTableLayout(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VTableLayout.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); - global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); + global::CppSharp.Parser.AST.VTableLayout.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private ClassTemplateSpecialization(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal native, bool skipVTables = false) + private VTableLayout(global::CppSharp.Parser.AST.VTableLayout.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected ClassTemplateSpecialization(void* native, bool skipVTables = false) - : base((void*) null) + protected VTableLayout(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public ClassTemplateSpecialization() - : this((void*) null) + public VTableLayout() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public ClassTemplateSpecialization(global::CppSharp.Parser.AST.ClassTemplateSpecialization _0) - : this((void*) null) + public VTableLayout(global::CppSharp.Parser.AST.VTableLayout _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -11568,11 +11649,16 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.VTableLayout __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -11581,281 +11667,119 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) + public global::CppSharp.Parser.AST.VTableComponent GetComponents(uint i) { - var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); - __Internal.GetArguments((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); - return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); + var __ret = new global::CppSharp.Parser.AST.VTableComponent.__Internal(); + __Internal.GetComponents((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); + return global::CppSharp.Parser.AST.VTableComponent.__CreateInstance(__ret); } - public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + public void AddComponents(global::CppSharp.Parser.AST.VTableComponent s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); + __Internal.AddComponents((__Instance + __PointerAdjustment), __arg0); } - public void ClearArguments() + public void ClearComponents() { - __Internal.ClearArguments((__Instance + __PointerAdjustment)); + __Internal.ClearComponents((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.ClassTemplate TemplatedDecl + public uint ComponentsCount { get { - global::CppSharp.Parser.AST.ClassTemplate __result0; - if (((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.ClassTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl)) - __result0 = (global::CppSharp.Parser.AST.ClassTemplate) global::CppSharp.Parser.AST.ClassTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl]; - else __result0 = global::CppSharp.Parser.AST.ClassTemplate.__CreateInstance(((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*)__Instance)->templatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + var __ret = __Internal.GetComponentsCount((__Instance + __PointerAdjustment)); + return __ret; } } + } - public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind - { - get - { - return ((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->specializationKind; - } - - set - { - ((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*)__Instance)->specializationKind = value; - } - } - - public uint ArgumentsCount - { - get - { - var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - } - - public unsafe partial class ClassTemplatePartialSpecialization : global::CppSharp.Parser.AST.ClassTemplateSpecialization, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 348)] - public new partial struct __Internal + public unsafe partial class VFTableInfo : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; + internal ulong VBTableIndex; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + internal uint VFPtrOffset; [FieldOffset(12)] - internal global::System.IntPtr _namespace; + internal uint VFPtrFullOffset; [FieldOffset(16)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(20)] - internal int lineNumberStart; - - [FieldOffset(24)] - internal int lineNumberEnd; - - [FieldOffset(28)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(52)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - - [FieldOffset(76)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - - [FieldOffset(100)] - internal byte isIncomplete; - - [FieldOffset(101)] - internal byte isDependent; - - [FieldOffset(102)] - internal byte isImplicit; - - [FieldOffset(103)] - internal byte isInvalid; - - [FieldOffset(104)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(108)] - internal uint definitionOrder; - - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(124)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - - [FieldOffset(136)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(140)] - internal global::System.IntPtr comment; - - [FieldOffset(144)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; - - [FieldOffset(156)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; - - [FieldOffset(168)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; - - [FieldOffset(180)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; - - [FieldOffset(192)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; - - [FieldOffset(204)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; - - [FieldOffset(216)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; - - [FieldOffset(228)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; - - [FieldOffset(240)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; - - [FieldOffset(252)] - internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; - - [FieldOffset(260)] - internal byte isAnonymous; - - [FieldOffset(264)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BaseClassSpecifier___N_std_S_allocator__S0_ Bases; - - [FieldOffset(276)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Field___N_std_S_allocator__S0_ Fields; - - [FieldOffset(288)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_S_allocator__S0_ Methods; - - [FieldOffset(300)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_AccessSpecifierDecl___N_std_S_allocator__S0_ Specifiers; - - [FieldOffset(312)] - internal byte isPOD; - - [FieldOffset(313)] - internal byte isAbstract; - - [FieldOffset(314)] - internal byte isUnion; - - [FieldOffset(315)] - internal byte isDynamic; - - [FieldOffset(316)] - internal byte isPolymorphic; - - [FieldOffset(317)] - internal byte hasNonTrivialDefaultConstructor; - - [FieldOffset(318)] - internal byte hasNonTrivialCopyConstructor; - - [FieldOffset(319)] - internal byte hasNonTrivialDestructor; - - [FieldOffset(320)] - internal byte isExternCContext; - - [FieldOffset(321)] - internal byte isInjected; - - [FieldOffset(324)] - internal global::System.IntPtr layout; - - [FieldOffset(328)] - internal global::System.IntPtr templatedDecl; - - [FieldOffset(332)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; - - [FieldOffset(344)] - internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; + internal global::CppSharp.Parser.AST.VTableLayout.__Internal layout; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0ClassTemplatePartialSpecialization@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0VFTableInfo@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0ClassTemplatePartialSpecialization@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0VFTableInfo@AST@CppParser@CppSharp@@QAE@ABU0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1ClassTemplatePartialSpecialization@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??1VFTableInfo@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor(global::System.IntPtr __instance, int delete); } - internal static new global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.VFTableInfo __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.VFTableInfo(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization __CreateInstance(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VFTableInfo __CreateInstance(global::CppSharp.Parser.AST.VFTableInfo.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization(native, skipVTables); + return new global::CppSharp.Parser.AST.VFTableInfo(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VFTableInfo.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); - global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); + global::CppSharp.Parser.AST.VFTableInfo.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private ClassTemplatePartialSpecialization(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native, bool skipVTables = false) + private VFTableInfo(global::CppSharp.Parser.AST.VFTableInfo.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected ClassTemplatePartialSpecialization(void* native, bool skipVTables = false) - : base((void*) null) + protected VFTableInfo(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public ClassTemplatePartialSpecialization() - : this((void*) null) + public VFTableInfo() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public ClassTemplatePartialSpecialization(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization _0) - : this((void*) null) + public VFTableInfo(global::CppSharp.Parser.AST.VFTableInfo _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -11864,11 +11788,16 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.VFTableInfo __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -11876,182 +11805,161 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - } - public unsafe partial class FunctionTemplate : global::CppSharp.Parser.AST.Template, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 172)] - public new partial struct __Internal + public ulong VBTableIndex { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; + get + { + return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VBTableIndex; + } - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + set + { + ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->VBTableIndex = value; + } + } - [FieldOffset(12)] - internal global::System.IntPtr _namespace; + public uint VFPtrOffset + { + get + { + return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VFPtrOffset; + } - [FieldOffset(16)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + set + { + ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->VFPtrOffset = value; + } + } - [FieldOffset(20)] - internal int lineNumberStart; - - [FieldOffset(24)] - internal int lineNumberEnd; - - [FieldOffset(28)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(52)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - - [FieldOffset(76)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - - [FieldOffset(100)] - internal byte isIncomplete; - - [FieldOffset(101)] - internal byte isDependent; - - [FieldOffset(102)] - internal byte isImplicit; - - [FieldOffset(103)] - internal byte isInvalid; - - [FieldOffset(104)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(108)] - internal uint definitionOrder; + public uint VFPtrFullOffset + { + get + { + return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VFPtrFullOffset; + } - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + set + { + ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->VFPtrFullOffset = value; + } + } - [FieldOffset(124)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + public global::CppSharp.Parser.AST.VTableLayout Layout + { + get + { + return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->layout)); + } - [FieldOffset(136)] - internal global::System.IntPtr originalPtr; + set + { + ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->layout = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.VTableLayout.__Internal() : *(global::CppSharp.Parser.AST.VTableLayout.__Internal*) value.__Instance; + } + } + } - [FieldOffset(140)] - internal global::System.IntPtr comment; + public unsafe partial class LayoutField : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public partial struct __Internal + { + [FieldOffset(0)] + internal uint offset; - [FieldOffset(144)] - internal global::System.IntPtr TemplatedDecl; + [FieldOffset(4)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - [FieldOffset(148)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; + [FieldOffset(28)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_FunctionTemplateSpecialization___N_std_S_allocator__S0_ Specializations; + [FieldOffset(36)] + internal global::System.IntPtr fieldPtr; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0FunctionTemplate@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0LayoutField@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0FunctionTemplate@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + EntryPoint="??0LayoutField@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr other); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1FunctionTemplate@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??1LayoutField@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor(global::System.IntPtr __instance, int delete); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getSpecializations@FunctionTemplate@AST@CppParser@CppSharp@@QAEPAVFunctionTemplateSpecialization@234@I@Z")] - internal static extern global::System.IntPtr GetSpecializations(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addSpecializations@FunctionTemplate@AST@CppParser@CppSharp@@QAEXAAPAVFunctionTemplateSpecialization@234@@Z")] - internal static extern void AddSpecializations(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearSpecializations@FunctionTemplate@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearSpecializations(global::System.IntPtr __instance); + public global::System.IntPtr __Instance { get; protected set; } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?FindSpecialization@FunctionTemplate@AST@CppParser@CppSharp@@QAEPAVFunctionTemplateSpecialization@234@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z")] - internal static extern global::System.IntPtr FindSpecialization(global::System.IntPtr __instance, global::System.IntPtr usr); + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getSpecializationsCount@FunctionTemplate@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetSpecializationsCount(global::System.IntPtr __instance); - } + protected bool __ownsNativeInstance; - internal static new global::CppSharp.Parser.AST.FunctionTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.LayoutField __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FunctionTemplate(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.LayoutField(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.FunctionTemplate __CreateInstance(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.LayoutField __CreateInstance(global::CppSharp.Parser.AST.LayoutField.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FunctionTemplate(native, skipVTables); + return new global::CppSharp.Parser.AST.LayoutField(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.LayoutField.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); - global::CppSharp.Parser.AST.FunctionTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); + global::CppSharp.Parser.AST.LayoutField.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private FunctionTemplate(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native, bool skipVTables = false) + private LayoutField(global::CppSharp.Parser.AST.LayoutField.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected FunctionTemplate(void* native, bool skipVTables = false) - : base((void*) null) + protected LayoutField(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public FunctionTemplate() - : this((void*) null) + public LayoutField() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public FunctionTemplate(global::CppSharp.Parser.AST.FunctionTemplate _0) - : this((void*) null) + public LayoutField(global::CppSharp.Parser.AST.LayoutField other) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; + if (ReferenceEquals(other, null)) + throw new global::System.ArgumentNullException("other", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = other.__Instance; __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.LayoutField __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -12060,163 +11968,144 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.FunctionTemplateSpecialization GetSpecializations(uint i) + public uint Offset { - var __ret = __Internal.GetSpecializations((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(__ret); - return __result0; - } + get + { + return ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->offset; + } - public void AddSpecializations(global::CppSharp.Parser.AST.FunctionTemplateSpecialization s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddSpecializations((__Instance + __PointerAdjustment), __arg0); + set + { + ((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->offset = value; + } } - public void ClearSpecializations() + public string Name { - __Internal.ClearSpecializations((__Instance + __PointerAdjustment)); + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->name)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->name), value); + } } - public global::CppSharp.Parser.AST.FunctionTemplateSpecialization FindSpecialization(string usr) + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, usr); - var __arg0 = __basicString0.__Instance; - var __ret = __Internal.FindSpecialization((__Instance + __PointerAdjustment), __arg0); - __basicString0.Dispose(false); - global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(__ret); - return __result0; + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->qualifiedType)); + } + + set + { + ((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } - public uint SpecializationsCount + public global::System.IntPtr FieldPtr { get { - var __ret = __Internal.GetSpecializationsCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->fieldPtr; + } + + set + { + ((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->fieldPtr = (global::System.IntPtr) value; } } } - public unsafe partial class FunctionTemplateSpecialization : IDisposable + public unsafe partial class LayoutBase : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public partial struct __Internal { [FieldOffset(0)] - internal global::System.IntPtr _template; + internal uint offset; [FieldOffset(4)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; - - [FieldOffset(16)] - internal global::System.IntPtr specializedFunction; - - [FieldOffset(20)] - internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; + internal global::System.IntPtr _class; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0FunctionTemplateSpecialization@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0LayoutBase@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0FunctionTemplateSpecialization@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + EntryPoint="??0LayoutBase@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr other); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1FunctionTemplateSpecialization@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??1LayoutBase@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor(global::System.IntPtr __instance, int delete); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getArguments@FunctionTemplateSpecialization@AST@CppParser@CppSharp@@QAE?AUTemplateArgument@234@I@Z")] - internal static extern void GetArguments(global::System.IntPtr __instance, global::System.IntPtr @return, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addArguments@FunctionTemplateSpecialization@AST@CppParser@CppSharp@@QAEXAAUTemplateArgument@234@@Z")] - internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearArguments@FunctionTemplateSpecialization@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearArguments(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getArgumentsCount@FunctionTemplateSpecialization@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); - } + } public global::System.IntPtr __Instance { get; protected set; } protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); protected internal void*[] __OriginalVTables; protected bool __ownsNativeInstance; - internal static global::CppSharp.Parser.AST.FunctionTemplateSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.LayoutBase __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FunctionTemplateSpecialization(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.LayoutBase(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.FunctionTemplateSpecialization __CreateInstance(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.LayoutBase __CreateInstance(global::CppSharp.Parser.AST.LayoutBase.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FunctionTemplateSpecialization(native, skipVTables); + return new global::CppSharp.Parser.AST.LayoutBase(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.LayoutBase.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); - global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); + global::CppSharp.Parser.AST.LayoutBase.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native, bool skipVTables = false) + private LayoutBase(global::CppSharp.Parser.AST.LayoutBase.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected FunctionTemplateSpecialization(void* native, bool skipVTables = false) + protected LayoutBase(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public FunctionTemplateSpecialization() + public LayoutBase() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization _0) + public LayoutBase(global::CppSharp.Parser.AST.LayoutBase other) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; + if (ReferenceEquals(other, null)) + throw new global::System.ArgumentNullException("other", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = other.__Instance; __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } @@ -12229,7 +12118,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.FunctionTemplateSpecialization __dummy; + global::CppSharp.Parser.AST.LayoutBase __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -12238,251 +12127,199 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) - { - var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); - __Internal.GetArguments((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); - return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); - } - - public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearArguments() - { - __Internal.ClearArguments((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.FunctionTemplate Template + public uint Offset { get { - global::CppSharp.Parser.AST.FunctionTemplate __result0; - if (((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.FunctionTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template)) - __result0 = (global::CppSharp.Parser.AST.FunctionTemplate) global::CppSharp.Parser.AST.FunctionTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template]; - else __result0 = global::CppSharp.Parser.AST.FunctionTemplate.__CreateInstance(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template); - return __result0; + return ((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->offset; } set { - ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*)__Instance)->_template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.LayoutBase.__Internal*)__Instance)->offset = value; } } - public global::CppSharp.Parser.AST.Function SpecializedFunction + public global::CppSharp.Parser.AST.Class Class { get { - global::CppSharp.Parser.AST.Function __result0; - if (((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction)) - __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction]; - else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction); + global::CppSharp.Parser.AST.Class __result0; + if (((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class)) + __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class]; + else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class); return __result0; } set { - ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*)__Instance)->specializedFunction = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - - public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind - { - get - { - return ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializationKind; - } - - set - { - ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*)__Instance)->specializationKind = value; - } - } - - public uint ArgumentsCount - { - get - { - var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.LayoutBase.__Internal*)__Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class VarTemplate : global::CppSharp.Parser.AST.Template, IDisposable + public unsafe partial class ClassLayout : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 172)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 72)] + public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::CppSharp.Parser.AST.CppAbi ABI; [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(12)] - internal global::System.IntPtr _namespace; + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_VFTableInfo___N_std_S_allocator__S0_ VFTables; [FieldOffset(16)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(20)] - internal int lineNumberStart; - - [FieldOffset(24)] - internal int lineNumberEnd; + internal global::CppSharp.Parser.AST.VTableLayout.__Internal layout; [FieldOffset(28)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(52)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - - [FieldOffset(76)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - - [FieldOffset(100)] - internal byte isIncomplete; + internal byte hasOwnVFPtr; - [FieldOffset(101)] - internal byte isDependent; + [FieldOffset(32)] + internal int VBPtrOffset; - [FieldOffset(102)] - internal byte isImplicit; + [FieldOffset(36)] + internal int alignment; - [FieldOffset(103)] - internal byte isInvalid; + [FieldOffset(40)] + internal int size; - [FieldOffset(104)] - internal global::System.IntPtr completeDeclaration; + [FieldOffset(44)] + internal int dataSize; - [FieldOffset(108)] - internal uint definitionOrder; + [FieldOffset(48)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_LayoutField___N_std_S_allocator__S0_ Fields; - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + [FieldOffset(60)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_LayoutBase___N_std_S_allocator__S0_ Bases; - [FieldOffset(124)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0ClassLayout@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); - [FieldOffset(136)] - internal global::System.IntPtr originalPtr; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0ClassLayout@AST@CppParser@CppSharp@@QAE@ABU0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - [FieldOffset(140)] - internal global::System.IntPtr comment; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??1ClassLayout@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); - [FieldOffset(144)] - internal global::System.IntPtr TemplatedDecl; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getVFTables@ClassLayout@AST@CppParser@CppSharp@@QAE?AUVFTableInfo@234@I@Z")] + internal static extern void GetVFTables(global::System.IntPtr __instance, global::System.IntPtr @return, uint i); - [FieldOffset(148)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?addVFTables@ClassLayout@AST@CppParser@CppSharp@@QAEXAAUVFTableInfo@234@@Z")] + internal static extern void AddVFTables(global::System.IntPtr __instance, global::System.IntPtr s); - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_VarTemplateSpecialization___N_std_S_allocator__S0_ Specializations; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?clearVFTables@ClassLayout@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearVFTables(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0VarTemplate@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + EntryPoint="?getFields@ClassLayout@AST@CppParser@CppSharp@@QAE?AVLayoutField@234@I@Z")] + internal static extern void GetFields(global::System.IntPtr __instance, global::System.IntPtr @return, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0VarTemplate@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + EntryPoint="?addFields@ClassLayout@AST@CppParser@CppSharp@@QAEXAAVLayoutField@234@@Z")] + internal static extern void AddFields(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1VarTemplate@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern void dtor(global::System.IntPtr __instance, int delete); + EntryPoint="?clearFields@ClassLayout@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearFields(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getSpecializations@VarTemplate@AST@CppParser@CppSharp@@QAEPAVVarTemplateSpecialization@234@I@Z")] - internal static extern global::System.IntPtr GetSpecializations(global::System.IntPtr __instance, uint i); + EntryPoint="?getBases@ClassLayout@AST@CppParser@CppSharp@@QAE?AVLayoutBase@234@I@Z")] + internal static extern void GetBases(global::System.IntPtr __instance, global::System.IntPtr @return, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addSpecializations@VarTemplate@AST@CppParser@CppSharp@@QAEXAAPAVVarTemplateSpecialization@234@@Z")] - internal static extern void AddSpecializations(global::System.IntPtr __instance, global::System.IntPtr s); + EntryPoint="?addBases@ClassLayout@AST@CppParser@CppSharp@@QAEXAAVLayoutBase@234@@Z")] + internal static extern void AddBases(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearSpecializations@VarTemplate@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearSpecializations(global::System.IntPtr __instance); + EntryPoint="?clearBases@ClassLayout@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearBases(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?FindSpecialization@VarTemplate@AST@CppParser@CppSharp@@QAEPAVVarTemplateSpecialization@234@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z")] - internal static extern global::System.IntPtr FindSpecialization(global::System.IntPtr __instance, global::System.IntPtr usr); + EntryPoint="?getVFTablesCount@ClassLayout@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetVFTablesCount(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?FindPartialSpecialization@VarTemplate@AST@CppParser@CppSharp@@QAEPAVVarTemplatePartialSpecialization@234@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z")] - internal static extern global::System.IntPtr FindPartialSpecialization(global::System.IntPtr __instance, global::System.IntPtr usr); + EntryPoint="?getFieldsCount@ClassLayout@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetFieldsCount(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getSpecializationsCount@VarTemplate@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetSpecializationsCount(global::System.IntPtr __instance); + EntryPoint="?getBasesCount@ClassLayout@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetBasesCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.VarTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.ClassLayout __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VarTemplate(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.ClassLayout(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.VarTemplate __CreateInstance(global::CppSharp.Parser.AST.VarTemplate.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.ClassLayout __CreateInstance(global::CppSharp.Parser.AST.ClassLayout.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VarTemplate(native, skipVTables); + return new global::CppSharp.Parser.AST.ClassLayout(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplate.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ClassLayout.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); - global::CppSharp.Parser.AST.VarTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); + global::CppSharp.Parser.AST.ClassLayout.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private VarTemplate(global::CppSharp.Parser.AST.VarTemplate.__Internal native, bool skipVTables = false) + private ClassLayout(global::CppSharp.Parser.AST.ClassLayout.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected VarTemplate(void* native, bool skipVTables = false) - : base((void*) null) + protected ClassLayout(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public VarTemplate() - : this((void*) null) + public ClassLayout() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public VarTemplate(global::CppSharp.Parser.AST.VarTemplate _0) - : this((void*) null) + public ClassLayout(global::CppSharp.Parser.AST.ClassLayout _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -12491,11 +12328,16 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.ClassLayout __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -12504,73 +12346,188 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.VarTemplateSpecialization GetSpecializations(uint i) + public global::CppSharp.Parser.AST.VFTableInfo GetVFTables(uint i) { - var __ret = __Internal.GetSpecializations((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.VarTemplateSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.VarTemplateSpecialization) global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.VarTemplateSpecialization.__CreateInstance(__ret); - return __result0; + var __ret = new global::CppSharp.Parser.AST.VFTableInfo.__Internal(); + __Internal.GetVFTables((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); + return global::CppSharp.Parser.AST.VFTableInfo.__CreateInstance(__ret); } - public void AddSpecializations(global::CppSharp.Parser.AST.VarTemplateSpecialization s) + public void AddVFTables(global::CppSharp.Parser.AST.VFTableInfo s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddSpecializations((__Instance + __PointerAdjustment), __arg0); + __Internal.AddVFTables((__Instance + __PointerAdjustment), __arg0); } - public void ClearSpecializations() + public void ClearVFTables() { - __Internal.ClearSpecializations((__Instance + __PointerAdjustment)); + __Internal.ClearVFTables((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.VarTemplateSpecialization FindSpecialization(string usr) + public global::CppSharp.Parser.AST.LayoutField GetFields(uint i) { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, usr); - var __arg0 = __basicString0.__Instance; - var __ret = __Internal.FindSpecialization((__Instance + __PointerAdjustment), __arg0); - __basicString0.Dispose(false); - global::CppSharp.Parser.AST.VarTemplateSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.VarTemplateSpecialization) global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.VarTemplateSpecialization.__CreateInstance(__ret); - return __result0; + var __ret = new global::CppSharp.Parser.AST.LayoutField.__Internal(); + __Internal.GetFields((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); + return global::CppSharp.Parser.AST.LayoutField.__CreateInstance(__ret); } - public global::CppSharp.Parser.AST.VarTemplatePartialSpecialization FindPartialSpecialization(string usr) + public void AddFields(global::CppSharp.Parser.AST.LayoutField s) { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, usr); - var __arg0 = __basicString0.__Instance; - var __ret = __Internal.FindPartialSpecialization((__Instance + __PointerAdjustment), __arg0); - __basicString0.Dispose(false); - global::CppSharp.Parser.AST.VarTemplatePartialSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.VarTemplatePartialSpecialization) global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__CreateInstance(__ret); - return __result0; + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddFields((__Instance + __PointerAdjustment), __arg0); } - public uint SpecializationsCount + public void ClearFields() + { + __Internal.ClearFields((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.LayoutBase GetBases(uint i) + { + var __ret = new global::CppSharp.Parser.AST.LayoutBase.__Internal(); + __Internal.GetBases((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); + return global::CppSharp.Parser.AST.LayoutBase.__CreateInstance(__ret); + } + + public void AddBases(global::CppSharp.Parser.AST.LayoutBase s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddBases((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearBases() + { + __Internal.ClearBases((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.CppAbi ABI { get { - var __ret = __Internal.GetSpecializationsCount((__Instance + __PointerAdjustment)); + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->ABI; + } + + set + { + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->ABI = value; + } + } + + public global::CppSharp.Parser.AST.VTableLayout Layout + { + get + { + return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->layout)); + } + + set + { + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->layout = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.VTableLayout.__Internal() : *(global::CppSharp.Parser.AST.VTableLayout.__Internal*) value.__Instance; + } + } + + public bool HasOwnVFPtr + { + get + { + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->hasOwnVFPtr != 0; + } + + set + { + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->hasOwnVFPtr = (byte) (value ? 1 : 0); + } + } + + public int VBPtrOffset + { + get + { + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->VBPtrOffset; + } + + set + { + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->VBPtrOffset = value; + } + } + + public int Alignment + { + get + { + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->alignment; + } + + set + { + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->alignment = value; + } + } + + public int Size + { + get + { + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->size; + } + + set + { + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->size = value; + } + } + + public int DataSize + { + get + { + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->dataSize; + } + + set + { + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->dataSize = value; + } + } + + public uint VFTablesCount + { + get + { + var __ret = __Internal.GetVFTablesCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public uint FieldsCount + { + get + { + var __ret = __Internal.GetFieldsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public uint BasesCount + { + get + { + var __ret = __Internal.GetBasesCount((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class VarTemplateSpecialization : global::CppSharp.Parser.AST.Variable, IDisposable + public unsafe partial class Class : global::CppSharp.Parser.AST.DeclarationContext, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 196)] + [StructLayout(LayoutKind.Explicit, Size = 328)] public new partial struct __Internal { [FieldOffset(0)] @@ -12634,81 +12591,204 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(144)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; - [FieldOffset(168)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + [FieldOffset(156)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; - [FieldOffset(176)] - internal global::System.IntPtr templatedDecl; + [FieldOffset(168)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; [FieldOffset(180)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; [FieldOffset(192)] - internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; - [SuppressUnmanagedCodeSecurity] + [FieldOffset(204)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; + + [FieldOffset(216)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; + + [FieldOffset(228)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; + + [FieldOffset(240)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; + + [FieldOffset(252)] + internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + + [FieldOffset(260)] + internal byte isAnonymous; + + [FieldOffset(264)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BaseClassSpecifier___N_std_S_allocator__S0_ Bases; + + [FieldOffset(276)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Field___N_std_S_allocator__S0_ Fields; + + [FieldOffset(288)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_S_allocator__S0_ Methods; + + [FieldOffset(300)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_AccessSpecifierDecl___N_std_S_allocator__S0_ Specifiers; + + [FieldOffset(312)] + internal byte isPOD; + + [FieldOffset(313)] + internal byte isAbstract; + + [FieldOffset(314)] + internal byte isUnion; + + [FieldOffset(315)] + internal byte isDynamic; + + [FieldOffset(316)] + internal byte isPolymorphic; + + [FieldOffset(317)] + internal byte hasNonTrivialDefaultConstructor; + + [FieldOffset(318)] + internal byte hasNonTrivialCopyConstructor; + + [FieldOffset(319)] + internal byte hasNonTrivialDestructor; + + [FieldOffset(320)] + internal byte isExternCContext; + + [FieldOffset(321)] + internal byte isInjected; + + [FieldOffset(324)] + internal global::System.IntPtr layout; + + [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0VarTemplateSpecialization@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0Class@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0VarTemplateSpecialization@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0Class@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1VarTemplateSpecialization@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??1Class@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor(global::System.IntPtr __instance, int delete); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getArguments@VarTemplateSpecialization@AST@CppParser@CppSharp@@QAE?AUTemplateArgument@234@I@Z")] - internal static extern void GetArguments(global::System.IntPtr __instance, global::System.IntPtr @return, uint i); + EntryPoint="?getBases@Class@AST@CppParser@CppSharp@@QAEPAUBaseClassSpecifier@234@I@Z")] + internal static extern global::System.IntPtr GetBases(global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addArguments@VarTemplateSpecialization@AST@CppParser@CppSharp@@QAEXAAUTemplateArgument@234@@Z")] - internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); + EntryPoint="?addBases@Class@AST@CppParser@CppSharp@@QAEXAAPAUBaseClassSpecifier@234@@Z")] + internal static extern void AddBases(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearArguments@VarTemplateSpecialization@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearArguments(global::System.IntPtr __instance); + EntryPoint="?clearBases@Class@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearBases(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getArgumentsCount@VarTemplateSpecialization@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); + EntryPoint="?getFields@Class@AST@CppParser@CppSharp@@QAEPAVField@234@I@Z")] + internal static extern global::System.IntPtr GetFields(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?addFields@Class@AST@CppParser@CppSharp@@QAEXAAPAVField@234@@Z")] + internal static extern void AddFields(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?clearFields@Class@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearFields(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getMethods@Class@AST@CppParser@CppSharp@@QAEPAVMethod@234@I@Z")] + internal static extern global::System.IntPtr GetMethods(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?addMethods@Class@AST@CppParser@CppSharp@@QAEXAAPAVMethod@234@@Z")] + internal static extern void AddMethods(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?clearMethods@Class@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearMethods(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getSpecifiers@Class@AST@CppParser@CppSharp@@QAEPAVAccessSpecifierDecl@234@I@Z")] + internal static extern global::System.IntPtr GetSpecifiers(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?addSpecifiers@Class@AST@CppParser@CppSharp@@QAEXAAPAVAccessSpecifierDecl@234@@Z")] + internal static extern void AddSpecifiers(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?clearSpecifiers@Class@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearSpecifiers(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getBasesCount@Class@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetBasesCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getFieldsCount@Class@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetFieldsCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getMethodsCount@Class@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetMethodsCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getSpecifiersCount@Class@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetSpecifiersCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.VarTemplateSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Class __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VarTemplateSpecialization(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Class(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.VarTemplateSpecialization __CreateInstance(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Class __CreateInstance(global::CppSharp.Parser.AST.Class.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VarTemplateSpecialization(native, skipVTables); + return new global::CppSharp.Parser.AST.Class(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Class.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); - global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); + global::CppSharp.Parser.AST.Class.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private VarTemplateSpecialization(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal native, bool skipVTables = false) + private Class(global::CppSharp.Parser.AST.Class.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected VarTemplateSpecialization(void* native, bool skipVTables = false) + protected Class(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -12717,19 +12797,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public VarTemplateSpecialization() + public Class() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public VarTemplateSpecialization(global::CppSharp.Parser.AST.VarTemplateSpecialization _0) + public Class(global::CppSharp.Parser.AST.Class _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -12751,77 +12831,297 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) + public global::CppSharp.Parser.AST.BaseClassSpecifier GetBases(uint i) { - var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); - __Internal.GetArguments((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); - return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); + var __ret = __Internal.GetBases((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.BaseClassSpecifier __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.BaseClassSpecifier.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.BaseClassSpecifier) global::CppSharp.Parser.AST.BaseClassSpecifier.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.BaseClassSpecifier.__CreateInstance(__ret); + return __result0; } - public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + public void AddBases(global::CppSharp.Parser.AST.BaseClassSpecifier s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); + __Internal.AddBases((__Instance + __PointerAdjustment), __arg0); } - public void ClearArguments() + public void ClearBases() { - __Internal.ClearArguments((__Instance + __PointerAdjustment)); + __Internal.ClearBases((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.VarTemplate TemplatedDecl + public global::CppSharp.Parser.AST.Field GetFields(uint i) { - get - { - global::CppSharp.Parser.AST.VarTemplate __result0; - if (((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.VarTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl)) - __result0 = (global::CppSharp.Parser.AST.VarTemplate) global::CppSharp.Parser.AST.VarTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl]; - else __result0 = global::CppSharp.Parser.AST.VarTemplate.__CreateInstance(((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*)__Instance)->templatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + var __ret = __Internal.GetFields((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Field __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Field.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Field) global::CppSharp.Parser.AST.Field.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Field.__CreateInstance(__ret); + return __result0; } - public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind + public void AddFields(global::CppSharp.Parser.AST.Field s) { - get - { - return ((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->specializationKind; - } - - set - { - ((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*)__Instance)->specializationKind = value; - } + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddFields((__Instance + __PointerAdjustment), __arg0); } - public uint ArgumentsCount + public void ClearFields() { - get - { - var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); - return __ret; - } + __Internal.ClearFields((__Instance + __PointerAdjustment)); } - } - public unsafe partial class VarTemplatePartialSpecialization : global::CppSharp.Parser.AST.VarTemplateSpecialization, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 196)] - public new partial struct __Internal + public global::CppSharp.Parser.AST.Method GetMethods(uint i) { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + var __ret = __Internal.GetMethods((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Method __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Method.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Method) global::CppSharp.Parser.AST.Method.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Method.__CreateInstance(__ret); + return __result0; + } - [FieldOffset(4)] - internal int maxFieldAlignment; + public void AddMethods(global::CppSharp.Parser.AST.Method s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddMethods((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearMethods() + { + __Internal.ClearMethods((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.AccessSpecifierDecl GetSpecifiers(uint i) + { + var __ret = __Internal.GetSpecifiers((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.AccessSpecifierDecl __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.AccessSpecifierDecl.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.AccessSpecifierDecl) global::CppSharp.Parser.AST.AccessSpecifierDecl.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.AccessSpecifierDecl.__CreateInstance(__ret); + return __result0; + } + + public void AddSpecifiers(global::CppSharp.Parser.AST.AccessSpecifierDecl s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddSpecifiers((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearSpecifiers() + { + __Internal.ClearSpecifiers((__Instance + __PointerAdjustment)); + } + + public bool IsPOD + { + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isPOD != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isPOD = (byte) (value ? 1 : 0); + } + } + + public bool IsAbstract + { + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isAbstract != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isAbstract = (byte) (value ? 1 : 0); + } + } + + public bool IsUnion + { + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isUnion != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isUnion = (byte) (value ? 1 : 0); + } + } + + public bool IsDynamic + { + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isDynamic != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isDynamic = (byte) (value ? 1 : 0); + } + } + + public bool IsPolymorphic + { + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isPolymorphic != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isPolymorphic = (byte) (value ? 1 : 0); + } + } + + public bool HasNonTrivialDefaultConstructor + { + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialDefaultConstructor != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->hasNonTrivialDefaultConstructor = (byte) (value ? 1 : 0); + } + } + + public bool HasNonTrivialCopyConstructor + { + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialCopyConstructor != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->hasNonTrivialCopyConstructor = (byte) (value ? 1 : 0); + } + } + + public bool HasNonTrivialDestructor + { + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialDestructor != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->hasNonTrivialDestructor = (byte) (value ? 1 : 0); + } + } + + public bool IsExternCContext + { + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isExternCContext != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isExternCContext = (byte) (value ? 1 : 0); + } + } + + public bool IsInjected + { + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isInjected != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isInjected = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.ClassLayout Layout + { + get + { + global::CppSharp.Parser.AST.ClassLayout __result0; + if (((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ClassLayout.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout)) + __result0 = (global::CppSharp.Parser.AST.ClassLayout) global::CppSharp.Parser.AST.ClassLayout.NativeToManagedMap[((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout]; + else __result0 = global::CppSharp.Parser.AST.ClassLayout.__CreateInstance(((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->layout = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public uint BasesCount + { + get + { + var __ret = __Internal.GetBasesCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public uint FieldsCount + { + get + { + var __ret = __Internal.GetFieldsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public uint MethodsCount + { + get + { + var __ret = __Internal.GetMethodsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public uint SpecifiersCount + { + get + { + var __ret = __Internal.GetSpecifiersCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class Template : global::CppSharp.Parser.AST.Declaration, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 160)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; [FieldOffset(8)] internal global::CppSharp.Parser.AST.AccessSpecifier access; @@ -12878,61 +13178,77 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(144)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; - - [FieldOffset(168)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - - [FieldOffset(176)] - internal global::System.IntPtr templatedDecl; + internal global::System.IntPtr TemplatedDecl; - [FieldOffset(180)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; + [FieldOffset(148)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; - [FieldOffset(192)] - internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0Template@AST@CppParser@CppSharp@@QAE@W4DeclarationKind@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.DeclarationKind kind); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0VarTemplatePartialSpecialization@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0Template@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0VarTemplatePartialSpecialization@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0Template@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1VarTemplatePartialSpecialization@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??1Template@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor(global::System.IntPtr __instance, int delete); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getParameters@Template@AST@CppParser@CppSharp@@QAEPAVDeclaration@234@I@Z")] + internal static extern global::System.IntPtr GetParameters(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?addParameters@Template@AST@CppParser@CppSharp@@QAEXAAPAVDeclaration@234@@Z")] + internal static extern void AddParameters(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?clearParameters@Template@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearParameters(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getParametersCount@Template@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetParametersCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.VarTemplatePartialSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Template __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VarTemplatePartialSpecialization(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Template(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.VarTemplatePartialSpecialization __CreateInstance(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Template __CreateInstance(global::CppSharp.Parser.AST.Template.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VarTemplatePartialSpecialization(native, skipVTables); + return new global::CppSharp.Parser.AST.Template(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Template.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); - global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + global::CppSharp.Parser.AST.Template.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private VarTemplatePartialSpecialization(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal native, bool skipVTables = false) + private Template(global::CppSharp.Parser.AST.Template.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected VarTemplatePartialSpecialization(void* native, bool skipVTables = false) + protected Template(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -12941,19 +13257,28 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public VarTemplatePartialSpecialization() + public Template(global::CppSharp.Parser.AST.DeclarationKind kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), kind); + } + + public Template() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public VarTemplatePartialSpecialization(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization _0) + public Template(global::CppSharp.Parser.AST.Template _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -12974,11 +13299,67 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } + + public global::CppSharp.Parser.AST.Declaration GetParameters(uint i) + { + var __ret = __Internal.GetParameters((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Declaration __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(__ret); + return __result0; + } + + public void AddParameters(global::CppSharp.Parser.AST.Declaration s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddParameters((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearParameters() + { + __Internal.ClearParameters((__Instance + __PointerAdjustment)); + } + + public static implicit operator global::CppSharp.Parser.AST.Template(global::CppSharp.Parser.AST.DeclarationKind kind) + { + return new global::CppSharp.Parser.AST.Template(kind); + } + + public global::CppSharp.Parser.AST.Declaration TemplatedDecl + { + get + { + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.Template.__Internal*)__Instance)->TemplatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public uint ParametersCount + { + get + { + var __ret = __Internal.GetParametersCount((__Instance + __PointerAdjustment)); + return __ret; + } + } } - public unsafe partial class Namespace : global::CppSharp.Parser.AST.DeclarationContext, IDisposable + public unsafe partial class TypeAliasTemplate : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 268)] + [StructLayout(LayoutKind.Explicit, Size = 160)] public new partial struct __Internal { [FieldOffset(0)] @@ -13042,82 +13423,52 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(144)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; - - [FieldOffset(156)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; - - [FieldOffset(168)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; - - [FieldOffset(180)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; - - [FieldOffset(192)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; - - [FieldOffset(204)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; - - [FieldOffset(216)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; - - [FieldOffset(228)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; - - [FieldOffset(240)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; - - [FieldOffset(252)] - internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; - - [FieldOffset(260)] - internal byte isAnonymous; + internal global::System.IntPtr TemplatedDecl; - [FieldOffset(264)] - internal byte isInline; + [FieldOffset(148)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Namespace@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0TypeAliasTemplate@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Namespace@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0TypeAliasTemplate@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1Namespace@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??1TypeAliasTemplate@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor(global::System.IntPtr __instance, int delete); } - internal static new global::CppSharp.Parser.AST.Namespace __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TypeAliasTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Namespace(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TypeAliasTemplate(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Namespace __CreateInstance(global::CppSharp.Parser.AST.Namespace.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TypeAliasTemplate __CreateInstance(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Namespace(native, skipVTables); + return new global::CppSharp.Parser.AST.TypeAliasTemplate(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Namespace.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); - global::CppSharp.Parser.AST.Namespace.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); + global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Namespace(global::CppSharp.Parser.AST.Namespace.__Internal native, bool skipVTables = false) + private TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Namespace(void* native, bool skipVTables = false) + protected TypeAliasTemplate(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -13126,19 +13477,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Namespace() + public TypeAliasTemplate() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public Namespace(global::CppSharp.Parser.AST.Namespace _0) + public TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -13159,224 +13510,331 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - - public bool IsInline - { - get - { - return ((global::CppSharp.Parser.AST.Namespace.__Internal*) __Instance)->isInline != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Namespace.__Internal*)__Instance)->isInline = (byte) (value ? 1 : 0); - } - } } - public unsafe partial class PreprocessedEntity : IDisposable + public unsafe partial class TemplateParameter : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 12)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 156)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.MacroLocation macroLocation; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal global::System.IntPtr originalPtr; + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::CppSharp.Parser.AST.AccessSpecifier access; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0PreprocessedEntity@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + [FieldOffset(12)] + internal global::System.IntPtr _namespace; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0PreprocessedEntity@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - } + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; - public global::System.IntPtr __Instance { get; protected set; } + [FieldOffset(20)] + internal int lineNumberStart; - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; + [FieldOffset(24)] + internal int lineNumberEnd; - protected bool __ownsNativeInstance; + [FieldOffset(28)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - internal static global::CppSharp.Parser.AST.PreprocessedEntity __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.PreprocessedEntity(native.ToPointer(), skipVTables); - } + [FieldOffset(52)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - internal static global::CppSharp.Parser.AST.PreprocessedEntity __CreateInstance(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.PreprocessedEntity(native, skipVTables); - } + [FieldOffset(76)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - private static void* __CopyValue(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); - *(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) ret = native; - return ret.ToPointer(); - } + [FieldOffset(100)] + internal byte isIncomplete; - private PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; + [FieldOffset(101)] + internal byte isDependent; + + [FieldOffset(102)] + internal byte isImplicit; + + [FieldOffset(103)] + internal byte isInvalid; + + [FieldOffset(104)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(108)] + internal uint definitionOrder; + + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(124)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(136)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(140)] + internal global::System.IntPtr comment; + + [FieldOffset(144)] + internal uint depth; + + [FieldOffset(148)] + internal uint index; + + [FieldOffset(152)] + internal byte isParameterPack; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0TemplateParameter@AST@CppParser@CppSharp@@QAE@W4DeclarationKind@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.DeclarationKind kind); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0TemplateParameter@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??1TemplateParameter@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); + } + + internal static new global::CppSharp.Parser.AST.TemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TemplateParameter(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.TemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TemplateParameter.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TemplateParameter(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameter.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); + global::CppSharp.Parser.AST.TemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected PreprocessedEntity(void* native, bool skipVTables = false) + protected TemplateParameter(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public PreprocessedEntity() + public TemplateParameter(global::CppSharp.Parser.AST.DeclarationKind kind) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + __Internal.ctor((__Instance + __PointerAdjustment), kind); } - public PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity _0) + public TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) _0.__Instance); - } - - public void Dispose() - { - Dispose(disposing: true); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.PreprocessedEntity __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.MacroLocation MacroLocation + public static implicit operator global::CppSharp.Parser.AST.TemplateParameter(global::CppSharp.Parser.AST.DeclarationKind kind) + { + return new global::CppSharp.Parser.AST.TemplateParameter(kind); + } + + public uint Depth { get { - return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->macroLocation; + return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->depth; } set { - ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*)__Instance)->macroLocation = value; + ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*)__Instance)->depth = value; } } - public global::System.IntPtr OriginalPtr + public uint Index { get { - return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->originalPtr; + return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->index; } set { - ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*)__Instance)->originalPtr = (global::System.IntPtr) value; + ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*)__Instance)->index = value; } } - public global::CppSharp.Parser.AST.DeclarationKind Kind + public bool IsParameterPack { get { - return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->kind; + return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->isParameterPack != 0; } set { - ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*)__Instance)->kind = value; + ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*)__Instance)->isParameterPack = (byte) (value ? 1 : 0); } } } - public unsafe partial class MacroDefinition : global::CppSharp.Parser.AST.PreprocessedEntity, IDisposable + public unsafe partial class TemplateTemplateParameter : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 68)] + [StructLayout(LayoutKind.Explicit, Size = 164)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.MacroLocation macroLocation; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal global::System.IntPtr originalPtr; + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(12)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + internal global::System.IntPtr _namespace; - [FieldOffset(36)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C expression; + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; - [FieldOffset(60)] + [FieldOffset(20)] internal int lineNumberStart; - [FieldOffset(64)] + [FieldOffset(24)] internal int lineNumberEnd; + [FieldOffset(28)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(52)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(76)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(100)] + internal byte isIncomplete; + + [FieldOffset(101)] + internal byte isDependent; + + [FieldOffset(102)] + internal byte isImplicit; + + [FieldOffset(103)] + internal byte isInvalid; + + [FieldOffset(104)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(108)] + internal uint definitionOrder; + + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(124)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(136)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(140)] + internal global::System.IntPtr comment; + + [FieldOffset(144)] + internal global::System.IntPtr TemplatedDecl; + + [FieldOffset(148)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; + + [FieldOffset(160)] + internal byte isParameterPack; + + [FieldOffset(161)] + internal byte isPackExpansion; + + [FieldOffset(162)] + internal byte isExpandedParameterPack; + [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0MacroDefinition@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0TemplateTemplateParameter@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0MacroDefinition@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0TemplateTemplateParameter@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1MacroDefinition@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??1TemplateTemplateParameter@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor(global::System.IntPtr __instance, int delete); } - internal static new global::CppSharp.Parser.AST.MacroDefinition __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TemplateTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.MacroDefinition(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TemplateTemplateParameter(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.MacroDefinition __CreateInstance(global::CppSharp.Parser.AST.MacroDefinition.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TemplateTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.MacroDefinition(native, skipVTables); + return new global::CppSharp.Parser.AST.TemplateTemplateParameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.MacroDefinition.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); - global::CppSharp.Parser.AST.MacroDefinition.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); + global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private MacroDefinition(global::CppSharp.Parser.AST.MacroDefinition.__Internal native, bool skipVTables = false) + private TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected MacroDefinition(void* native, bool skipVTables = false) + protected TemplateTemplateParameter(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -13385,19 +13843,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public MacroDefinition() + public TemplateTemplateParameter() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public MacroDefinition(global::CppSharp.Parser.AST.MacroDefinition _0) + public TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -13410,7 +13868,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.PreprocessedEntity __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -13419,129 +13877,164 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public string Name + public bool IsParameterPack { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->name)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isParameterPack != 0; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->name), value); + ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*)__Instance)->isParameterPack = (byte) (value ? 1 : 0); } } - public string Expression + public bool IsPackExpansion { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->expression)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isPackExpansion != 0; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->expression), value); + ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*)__Instance)->isPackExpansion = (byte) (value ? 1 : 0); } } - public int LineNumberStart + public bool IsExpandedParameterPack { get { - return ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->lineNumberStart; - } - - set - { - ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->lineNumberStart = value; - } - } - - public int LineNumberEnd - { - get - { - return ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->lineNumberEnd; + return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack != 0; } set { - ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->lineNumberEnd = value; + ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*)__Instance)->isExpandedParameterPack = (byte) (value ? 1 : 0); } } } - public unsafe partial class MacroExpansion : global::CppSharp.Parser.AST.PreprocessedEntity, IDisposable + public unsafe partial class TypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 64)] + [StructLayout(LayoutKind.Explicit, Size = 164)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.MacroLocation macroLocation; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal global::System.IntPtr originalPtr; + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(12)] + internal global::System.IntPtr _namespace; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(20)] + internal int lineNumberStart; + + [FieldOffset(24)] + internal int lineNumberEnd; + + [FieldOffset(28)] internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - [FieldOffset(36)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; + [FieldOffset(52)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - [FieldOffset(60)] - internal global::System.IntPtr definition; + [FieldOffset(76)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(100)] + internal byte isIncomplete; + + [FieldOffset(101)] + internal byte isDependent; + + [FieldOffset(102)] + internal byte isImplicit; + + [FieldOffset(103)] + internal byte isInvalid; + + [FieldOffset(104)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(108)] + internal uint definitionOrder; + + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(124)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(136)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(140)] + internal global::System.IntPtr comment; + + [FieldOffset(144)] + internal uint depth; + + [FieldOffset(148)] + internal uint index; + + [FieldOffset(152)] + internal byte isParameterPack; + + [FieldOffset(156)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal defaultArgument; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0MacroExpansion@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0TypeTemplateParameter@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0MacroExpansion@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0TypeTemplateParameter@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1MacroExpansion@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??1TypeTemplateParameter@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor(global::System.IntPtr __instance, int delete); } - internal static new global::CppSharp.Parser.AST.MacroExpansion __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TypeTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.MacroExpansion(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TypeTemplateParameter(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.MacroExpansion __CreateInstance(global::CppSharp.Parser.AST.MacroExpansion.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TypeTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.MacroExpansion(native, skipVTables); + return new global::CppSharp.Parser.AST.TypeTemplateParameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.MacroExpansion.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); - global::CppSharp.Parser.AST.MacroExpansion.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); + global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private MacroExpansion(global::CppSharp.Parser.AST.MacroExpansion.__Internal native, bool skipVTables = false) + private TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected MacroExpansion(void* native, bool skipVTables = false) + protected TypeTemplateParameter(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -13550,19 +14043,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public MacroExpansion() + public TypeTemplateParameter() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public MacroExpansion(global::CppSharp.Parser.AST.MacroExpansion _0) + public TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -13575,7 +14068,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.PreprocessedEntity __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -13584,60 +14077,23 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public string Name - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->name)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*)__Instance)->name), value); - } - } - - public string Text - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->text)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*)__Instance)->text), value); - } - } - - public global::CppSharp.Parser.AST.MacroDefinition Definition + public global::CppSharp.Parser.AST.QualifiedType DefaultArgument { get { - global::CppSharp.Parser.AST.MacroDefinition __result0; - if (((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition)) - __result0 = (global::CppSharp.Parser.AST.MacroDefinition) global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap[((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition]; - else __result0 = global::CppSharp.Parser.AST.MacroDefinition.__CreateInstance(((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition); - return __result0; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal*) __Instance)->defaultArgument)); } set { - ((global::CppSharp.Parser.AST.MacroExpansion.__Internal*)__Instance)->definition = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal*)__Instance)->defaultArgument = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } } - public unsafe partial class TranslationUnit : global::CppSharp.Parser.AST.Namespace, IDisposable + public unsafe partial class NonTypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 308)] + [StructLayout(LayoutKind.Explicit, Size = 172)] public new partial struct __Internal { [FieldOffset(0)] @@ -13701,111 +14157,70 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(144)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; - - [FieldOffset(156)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; - - [FieldOffset(168)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; - - [FieldOffset(180)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; - - [FieldOffset(192)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; - - [FieldOffset(204)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; - - [FieldOffset(216)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; - - [FieldOffset(228)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; + internal uint depth; - [FieldOffset(240)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; + [FieldOffset(148)] + internal uint index; - [FieldOffset(252)] - internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + [FieldOffset(152)] + internal byte isParameterPack; - [FieldOffset(260)] - internal byte isAnonymous; + [FieldOffset(156)] + internal global::System.IntPtr defaultArgument; - [FieldOffset(264)] - internal byte isInline; + [FieldOffset(160)] + internal global::System.IntPtr defaultArgumentNew; - [FieldOffset(268)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C fileName; + [FieldOffset(164)] + internal uint position; - [FieldOffset(292)] - internal byte isSystemHeader; + [FieldOffset(168)] + internal byte isPackExpansion; - [FieldOffset(296)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_MacroDefinition___N_std_S_allocator__S0_ Macros; + [FieldOffset(169)] + internal byte isExpandedParameterPack; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TranslationUnit@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0NonTypeTemplateParameter@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TranslationUnit@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0NonTypeTemplateParameter@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1TranslationUnit@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??1NonTypeTemplateParameter@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor(global::System.IntPtr __instance, int delete); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getMacros@TranslationUnit@AST@CppParser@CppSharp@@QAEPAVMacroDefinition@234@I@Z")] - internal static extern global::System.IntPtr GetMacros(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addMacros@TranslationUnit@AST@CppParser@CppSharp@@QAEXAAPAVMacroDefinition@234@@Z")] - internal static extern void AddMacros(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearMacros@TranslationUnit@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearMacros(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getMacrosCount@TranslationUnit@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetMacrosCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.TranslationUnit __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.NonTypeTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TranslationUnit(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.NonTypeTemplateParameter(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TranslationUnit __CreateInstance(global::CppSharp.Parser.AST.TranslationUnit.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.NonTypeTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TranslationUnit(native, skipVTables); + return new global::CppSharp.Parser.AST.NonTypeTemplateParameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TranslationUnit.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); - global::CppSharp.Parser.AST.TranslationUnit.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); + global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TranslationUnit(global::CppSharp.Parser.AST.TranslationUnit.__Internal native, bool skipVTables = false) + private NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TranslationUnit(void* native, bool skipVTables = false) + protected NonTypeTemplateParameter(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -13814,19 +14229,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TranslationUnit() + public NonTypeTemplateParameter() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TranslationUnit(global::CppSharp.Parser.AST.TranslationUnit _0) + public NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -13848,192 +14263,248 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.MacroDefinition GetMacros(uint i) + public global::CppSharp.Parser.AST.ExpressionObsolete DefaultArgument { - var __ret = __Internal.GetMacros((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.MacroDefinition __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.MacroDefinition) global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.MacroDefinition.__CreateInstance(__ret); - return __result0; - } + get + { + global::CppSharp.Parser.AST.ExpressionObsolete __result0; + if (((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ExpressionObsolete.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument)) + __result0 = (global::CppSharp.Parser.AST.ExpressionObsolete) global::CppSharp.Parser.AST.ExpressionObsolete.NativeToManagedMap[((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument]; + else __result0 = global::CppSharp.Parser.AST.ExpressionObsolete.__CreateInstance(((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument); + return __result0; + } - public void AddMacros(global::CppSharp.Parser.AST.MacroDefinition s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddMacros((__Instance + __PointerAdjustment), __arg0); + set + { + ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->defaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } } - public void ClearMacros() + public global::CppSharp.Parser.AST.Expr DefaultArgumentNew { - __Internal.ClearMacros((__Instance + __PointerAdjustment)); + get + { + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgumentNew == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgumentNew)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgumentNew]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgumentNew); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->defaultArgumentNew = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } } - public string FileName + public uint Position { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TranslationUnit.__Internal*) __Instance)->fileName)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->position; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TranslationUnit.__Internal*)__Instance)->fileName), value); + ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->position = value; } } - public bool IsSystemHeader + public bool IsPackExpansion { get { - return ((global::CppSharp.Parser.AST.TranslationUnit.__Internal*) __Instance)->isSystemHeader != 0; + return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->isPackExpansion != 0; } set { - ((global::CppSharp.Parser.AST.TranslationUnit.__Internal*)__Instance)->isSystemHeader = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->isPackExpansion = (byte) (value ? 1 : 0); } } - public uint MacrosCount + public bool IsExpandedParameterPack { get { - var __ret = __Internal.GetMacrosCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack != 0; + } + + set + { + ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->isExpandedParameterPack = (byte) (value ? 1 : 0); } } } - public unsafe partial class NativeLibrary : IDisposable + public unsafe partial class ClassTemplate : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 52)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 172)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C fileName; + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(12)] + internal global::System.IntPtr _namespace; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(20)] + internal int lineNumberStart; [FieldOffset(24)] - internal global::CppSharp.Parser.AST.ArchType archType; + internal int lineNumberEnd; [FieldOffset(28)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C___N_std_S_allocator__S0_ Symbols; + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - [FieldOffset(40)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C___N_std_S_allocator__S0_ Dependencies; + [FieldOffset(52)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(76)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(100)] + internal byte isIncomplete; + + [FieldOffset(101)] + internal byte isDependent; + + [FieldOffset(102)] + internal byte isImplicit; + + [FieldOffset(103)] + internal byte isInvalid; + + [FieldOffset(104)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(108)] + internal uint definitionOrder; + + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(124)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(136)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(140)] + internal global::System.IntPtr comment; + + [FieldOffset(144)] + internal global::System.IntPtr TemplatedDecl; + + [FieldOffset(148)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_ClassTemplateSpecialization___N_std_S_allocator__S0_ Specializations; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0NativeLibrary@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0ClassTemplate@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0NativeLibrary@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0ClassTemplate@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1NativeLibrary@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??1ClassTemplate@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor(global::System.IntPtr __instance, int delete); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getSymbols@NativeLibrary@AST@CppParser@CppSharp@@QAEPBDI@Z")] - internal static extern global::System.IntPtr GetSymbols(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addSymbols@NativeLibrary@AST@CppParser@CppSharp@@QAEXPBD@Z")] - internal static extern void AddSymbols(global::System.IntPtr __instance, [MarshalAs(UnmanagedType.LPStr)] string s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearSymbols@NativeLibrary@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearSymbols(global::System.IntPtr __instance); + EntryPoint="?getSpecializations@ClassTemplate@AST@CppParser@CppSharp@@QAEPAVClassTemplateSpecialization@234@I@Z")] + internal static extern global::System.IntPtr GetSpecializations(global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getDependencies@NativeLibrary@AST@CppParser@CppSharp@@QAEPBDI@Z")] - internal static extern global::System.IntPtr GetDependencies(global::System.IntPtr __instance, uint i); + EntryPoint="?addSpecializations@ClassTemplate@AST@CppParser@CppSharp@@QAEXAAPAVClassTemplateSpecialization@234@@Z")] + internal static extern void AddSpecializations(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addDependencies@NativeLibrary@AST@CppParser@CppSharp@@QAEXPBD@Z")] - internal static extern void AddDependencies(global::System.IntPtr __instance, [MarshalAs(UnmanagedType.LPStr)] string s); + EntryPoint="?clearSpecializations@ClassTemplate@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearSpecializations(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearDependencies@NativeLibrary@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearDependencies(global::System.IntPtr __instance); + EntryPoint="?FindSpecialization@ClassTemplate@AST@CppParser@CppSharp@@QAEPAVClassTemplateSpecialization@234@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z")] + internal static extern global::System.IntPtr FindSpecialization(global::System.IntPtr __instance, global::System.IntPtr usr); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getSymbolsCount@NativeLibrary@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetSymbolsCount(global::System.IntPtr __instance); + EntryPoint="?FindPartialSpecialization@ClassTemplate@AST@CppParser@CppSharp@@QAEPAVClassTemplatePartialSpecialization@234@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z")] + internal static extern global::System.IntPtr FindPartialSpecialization(global::System.IntPtr __instance, global::System.IntPtr usr); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getDependenciesCount@NativeLibrary@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetDependenciesCount(global::System.IntPtr __instance); + EntryPoint="?getSpecializationsCount@ClassTemplate@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetSpecializationsCount(global::System.IntPtr __instance); } - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.NativeLibrary __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.ClassTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.NativeLibrary(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.ClassTemplate(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.NativeLibrary __CreateInstance(global::CppSharp.Parser.AST.NativeLibrary.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.ClassTemplate __CreateInstance(global::CppSharp.Parser.AST.ClassTemplate.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.NativeLibrary(native, skipVTables); + return new global::CppSharp.Parser.AST.ClassTemplate(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.NativeLibrary.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplate.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); - global::CppSharp.Parser.AST.NativeLibrary.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal)); + global::CppSharp.Parser.AST.ClassTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private NativeLibrary(global::CppSharp.Parser.AST.NativeLibrary.__Internal native, bool skipVTables = false) + private ClassTemplate(global::CppSharp.Parser.AST.ClassTemplate.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected NativeLibrary(void* native, bool skipVTables = false) + protected ClassTemplate(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public NativeLibrary() + public ClassTemplate() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public NativeLibrary(global::CppSharp.Parser.AST.NativeLibrary _0) + public ClassTemplate(global::CppSharp.Parser.AST.ClassTemplate _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -14042,16 +14513,11 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.NativeLibrary __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -14060,418 +14526,283 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public string GetSymbols(uint i) + public global::CppSharp.Parser.AST.ClassTemplateSpecialization GetSpecializations(uint i) { - var __ret = __Internal.GetSymbols((__Instance + __PointerAdjustment), i); - return Marshal.PtrToStringAnsi(__ret); + var __ret = __Internal.GetSpecializations((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.ClassTemplateSpecialization __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.ClassTemplateSpecialization) global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.ClassTemplateSpecialization.__CreateInstance(__ret); + return __result0; } - public void AddSymbols(string s) + public void AddSpecializations(global::CppSharp.Parser.AST.ClassTemplateSpecialization s) { - __Internal.AddSymbols((__Instance + __PointerAdjustment), s); + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddSpecializations((__Instance + __PointerAdjustment), __arg0); } - public void ClearSymbols() + public void ClearSpecializations() { - __Internal.ClearSymbols((__Instance + __PointerAdjustment)); + __Internal.ClearSpecializations((__Instance + __PointerAdjustment)); } - public string GetDependencies(uint i) - { - var __ret = __Internal.GetDependencies((__Instance + __PointerAdjustment), i); - return Marshal.PtrToStringAnsi(__ret); - } - - public void AddDependencies(string s) - { - __Internal.AddDependencies((__Instance + __PointerAdjustment), s); - } - - public void ClearDependencies() - { - __Internal.ClearDependencies((__Instance + __PointerAdjustment)); - } - - public string FileName - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.NativeLibrary.__Internal*) __Instance)->fileName)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.NativeLibrary.__Internal*)__Instance)->fileName), value); - } - } - - public global::CppSharp.Parser.AST.ArchType ArchType + public global::CppSharp.Parser.AST.ClassTemplateSpecialization FindSpecialization(string usr) { - get - { - return ((global::CppSharp.Parser.AST.NativeLibrary.__Internal*) __Instance)->archType; - } - - set - { - ((global::CppSharp.Parser.AST.NativeLibrary.__Internal*)__Instance)->archType = value; - } + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, usr); + var __arg0 = __basicString0.__Instance; + var __ret = __Internal.FindSpecialization((__Instance + __PointerAdjustment), __arg0); + __basicString0.Dispose(false); + global::CppSharp.Parser.AST.ClassTemplateSpecialization __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.ClassTemplateSpecialization) global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.ClassTemplateSpecialization.__CreateInstance(__ret); + return __result0; } - public uint SymbolsCount + public global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization FindPartialSpecialization(string usr) { - get - { - var __ret = __Internal.GetSymbolsCount((__Instance + __PointerAdjustment)); - return __ret; - } + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, usr); + var __arg0 = __basicString0.__Instance; + var __ret = __Internal.FindPartialSpecialization((__Instance + __PointerAdjustment), __arg0); + __basicString0.Dispose(false); + global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization) global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__CreateInstance(__ret); + return __result0; } - public uint DependenciesCount + public uint SpecializationsCount { get { - var __ret = __Internal.GetDependenciesCount((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetSpecializationsCount((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class ASTContext : IDisposable + public unsafe partial class ClassTemplateSpecialization : global::CppSharp.Parser.AST.Class, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 12)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 348)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TranslationUnit___N_std_S_allocator__S0_ TranslationUnits; + internal global::CppSharp.Parser.AST.DeclarationKind kind; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0ASTContext@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + [FieldOffset(4)] + internal int maxFieldAlignment; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0ASTContext@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1ASTContext@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern void dtor(global::System.IntPtr __instance, int delete); + [FieldOffset(12)] + internal global::System.IntPtr _namespace; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?FindOrCreateModule@ASTContext@AST@CppParser@CppSharp@@QAEPAVTranslationUnit@234@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z")] - internal static extern global::System.IntPtr FindOrCreateModule(global::System.IntPtr __instance, global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C File); + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getTranslationUnits@ASTContext@AST@CppParser@CppSharp@@QAEPAVTranslationUnit@234@I@Z")] - internal static extern global::System.IntPtr GetTranslationUnits(global::System.IntPtr __instance, uint i); + [FieldOffset(20)] + internal int lineNumberStart; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addTranslationUnits@ASTContext@AST@CppParser@CppSharp@@QAEXAAPAVTranslationUnit@234@@Z")] - internal static extern void AddTranslationUnits(global::System.IntPtr __instance, global::System.IntPtr s); + [FieldOffset(24)] + internal int lineNumberEnd; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearTranslationUnits@ASTContext@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearTranslationUnits(global::System.IntPtr __instance); + [FieldOffset(28)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getTranslationUnitsCount@ASTContext@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetTranslationUnitsCount(global::System.IntPtr __instance); - } + [FieldOffset(52)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - public global::System.IntPtr __Instance { get; protected set; } + [FieldOffset(76)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; + [FieldOffset(100)] + internal byte isIncomplete; - protected bool __ownsNativeInstance; + [FieldOffset(101)] + internal byte isDependent; - internal static global::CppSharp.Parser.AST.ASTContext __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.ASTContext(native.ToPointer(), skipVTables); - } + [FieldOffset(102)] + internal byte isImplicit; - internal static global::CppSharp.Parser.AST.ASTContext __CreateInstance(global::CppSharp.Parser.AST.ASTContext.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.ASTContext(native, skipVTables); - } + [FieldOffset(103)] + internal byte isInvalid; - private static void* __CopyValue(global::CppSharp.Parser.AST.ASTContext.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); - global::CppSharp.Parser.AST.ASTContext.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [FieldOffset(104)] + internal global::System.IntPtr completeDeclaration; - private ASTContext(global::CppSharp.Parser.AST.ASTContext.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [FieldOffset(108)] + internal uint definitionOrder; - protected ASTContext(void* native, bool skipVTables = false) - { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - public ASTContext() - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + [FieldOffset(124)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - public ASTContext(global::CppSharp.Parser.AST.ASTContext _0) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(136)] + internal global::System.IntPtr originalPtr; - public void Dispose() - { - Dispose(disposing: true); - } + [FieldOffset(140)] + internal global::System.IntPtr comment; - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.ASTContext __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + [FieldOffset(144)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; - public global::CppSharp.Parser.AST.TranslationUnit FindOrCreateModule(string File) - { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, File); - var __arg0 = *(global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C*) __basicString0.__Instance; - var __ret = __Internal.FindOrCreateModule((__Instance + __PointerAdjustment), __arg0); - __basicString0.Dispose(false); - global::CppSharp.Parser.AST.TranslationUnit __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.TranslationUnit) global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.TranslationUnit.__CreateInstance(__ret); - return __result0; - } + [FieldOffset(156)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; - public global::CppSharp.Parser.AST.TranslationUnit GetTranslationUnits(uint i) - { - var __ret = __Internal.GetTranslationUnits((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.TranslationUnit __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.TranslationUnit) global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.TranslationUnit.__CreateInstance(__ret); - return __result0; - } + [FieldOffset(168)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; - public void AddTranslationUnits(global::CppSharp.Parser.AST.TranslationUnit s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddTranslationUnits((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(180)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; - public void ClearTranslationUnits() - { - __Internal.ClearTranslationUnits((__Instance + __PointerAdjustment)); - } + [FieldOffset(192)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; - public uint TranslationUnitsCount - { - get - { - var __ret = __Internal.GetTranslationUnitsCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - } + [FieldOffset(204)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; - public unsafe partial class Comment : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 4)] - public partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + [FieldOffset(216)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Comment@AST@CppParser@CppSharp@@QAE@W4CommentKind@123@@Z")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.CommentKind kind); + [FieldOffset(228)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Comment@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - } + [FieldOffset(240)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; - public global::System.IntPtr __Instance { get; protected set; } + [FieldOffset(252)] + internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; + [FieldOffset(260)] + internal byte isAnonymous; - protected bool __ownsNativeInstance; + [FieldOffset(264)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BaseClassSpecifier___N_std_S_allocator__S0_ Bases; - internal static global::CppSharp.Parser.AST.Comment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Comment(native.ToPointer(), skipVTables); - } + [FieldOffset(276)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Field___N_std_S_allocator__S0_ Fields; - internal static global::CppSharp.Parser.AST.Comment __CreateInstance(global::CppSharp.Parser.AST.Comment.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Comment(native, skipVTables); - } + [FieldOffset(288)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_S_allocator__S0_ Methods; - private static void* __CopyValue(global::CppSharp.Parser.AST.Comment.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); - *(global::CppSharp.Parser.AST.Comment.__Internal*) ret = native; - return ret.ToPointer(); - } + [FieldOffset(300)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_AccessSpecifierDecl___N_std_S_allocator__S0_ Specifiers; - private Comment(global::CppSharp.Parser.AST.Comment.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [FieldOffset(312)] + internal byte isPOD; - protected Comment(void* native, bool skipVTables = false) - { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [FieldOffset(313)] + internal byte isAbstract; - public Comment(global::CppSharp.Parser.AST.CommentKind kind) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), kind); - } + [FieldOffset(314)] + internal byte isUnion; - public Comment(global::CppSharp.Parser.AST.Comment _0) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.Comment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.Comment.__Internal*) _0.__Instance); - } + [FieldOffset(315)] + internal byte isDynamic; - public void Dispose() - { - Dispose(disposing: true); - } + [FieldOffset(316)] + internal byte isPolymorphic; - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Comment __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + [FieldOffset(317)] + internal byte hasNonTrivialDefaultConstructor; - public static implicit operator global::CppSharp.Parser.AST.Comment(global::CppSharp.Parser.AST.CommentKind kind) - { - return new global::CppSharp.Parser.AST.Comment(kind); - } + [FieldOffset(318)] + internal byte hasNonTrivialCopyConstructor; - public global::CppSharp.Parser.AST.CommentKind Kind - { - get - { - return ((global::CppSharp.Parser.AST.Comment.__Internal*) __Instance)->kind; - } + [FieldOffset(319)] + internal byte hasNonTrivialDestructor; - set - { - ((global::CppSharp.Parser.AST.Comment.__Internal*)__Instance)->kind = value; - } - } - } + [FieldOffset(320)] + internal byte isExternCContext; - public unsafe partial class BlockContentComment : global::CppSharp.Parser.AST.Comment, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 4)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + [FieldOffset(321)] + internal byte isInjected; + + [FieldOffset(324)] + internal global::System.IntPtr layout; + + [FieldOffset(328)] + internal global::System.IntPtr templatedDecl; + + [FieldOffset(332)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; + + [FieldOffset(344)] + internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0ClassTemplateSpecialization@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0ClassTemplateSpecialization@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??1ClassTemplateSpecialization@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getArguments@ClassTemplateSpecialization@AST@CppParser@CppSharp@@QAE?AUTemplateArgument@234@I@Z")] + internal static extern void GetArguments(global::System.IntPtr __instance, global::System.IntPtr @return, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0BlockContentComment@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + EntryPoint="?addArguments@ClassTemplateSpecialization@AST@CppParser@CppSharp@@QAEXAAUTemplateArgument@234@@Z")] + internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0BlockContentComment@AST@CppParser@CppSharp@@QAE@W4CommentKind@123@@Z")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.CommentKind Kind); + EntryPoint="?clearArguments@ClassTemplateSpecialization@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearArguments(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0BlockContentComment@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + EntryPoint="?getArgumentsCount@ClassTemplateSpecialization@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.BlockContentComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.ClassTemplateSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BlockContentComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.ClassTemplateSpecialization(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.BlockContentComment __CreateInstance(global::CppSharp.Parser.AST.BlockContentComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.ClassTemplateSpecialization __CreateInstance(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BlockContentComment(native, skipVTables); + return new global::CppSharp.Parser.AST.ClassTemplateSpecialization(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.BlockContentComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); - *(global::CppSharp.Parser.AST.BlockContentComment.__Internal*) ret = native; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); + global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private BlockContentComment(global::CppSharp.Parser.AST.BlockContentComment.__Internal native, bool skipVTables = false) + private ClassTemplateSpecialization(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected BlockContentComment(void* native, bool skipVTables = false) + protected ClassTemplateSpecialization(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -14480,111 +14811,294 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public BlockContentComment() + public ClassTemplateSpecialization() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public BlockContentComment(global::CppSharp.Parser.AST.CommentKind Kind) + public ClassTemplateSpecialization(global::CppSharp.Parser.AST.ClassTemplateSpecialization _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), Kind); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public BlockContentComment(global::CppSharp.Parser.AST.BlockContentComment _0) - : this((void*) null) + public override void Dispose(bool disposing) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.BlockContentComment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BlockContentComment.__Internal*) _0.__Instance); + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } - public static implicit operator global::CppSharp.Parser.AST.BlockContentComment(global::CppSharp.Parser.AST.CommentKind Kind) + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) { - return new global::CppSharp.Parser.AST.BlockContentComment(Kind); + var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); + __Internal.GetArguments((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); + return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); + } + + public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearArguments() + { + __Internal.ClearArguments((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.ClassTemplate TemplatedDecl + { + get + { + global::CppSharp.Parser.AST.ClassTemplate __result0; + if (((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ClassTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl)) + __result0 = (global::CppSharp.Parser.AST.ClassTemplate) global::CppSharp.Parser.AST.ClassTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl]; + else __result0 = global::CppSharp.Parser.AST.ClassTemplate.__CreateInstance(((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*)__Instance)->templatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind + { + get + { + return ((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->specializationKind; + } + + set + { + ((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*)__Instance)->specializationKind = value; + } + } + + public uint ArgumentsCount + { + get + { + var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); + return __ret; + } } } - public unsafe partial class FullComment : global::CppSharp.Parser.AST.Comment, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 16)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + public unsafe partial class ClassTemplatePartialSpecialization : global::CppSharp.Parser.AST.ClassTemplateSpecialization, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 348)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(12)] + internal global::System.IntPtr _namespace; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(20)] + internal int lineNumberStart; + + [FieldOffset(24)] + internal int lineNumberEnd; + + [FieldOffset(28)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(52)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(76)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(100)] + internal byte isIncomplete; + + [FieldOffset(101)] + internal byte isDependent; + + [FieldOffset(102)] + internal byte isImplicit; + + [FieldOffset(103)] + internal byte isInvalid; + + [FieldOffset(104)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(108)] + internal uint definitionOrder; + + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(124)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(136)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(140)] + internal global::System.IntPtr comment; + + [FieldOffset(144)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; + + [FieldOffset(156)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; + + [FieldOffset(168)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; + + [FieldOffset(180)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; + + [FieldOffset(192)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; + + [FieldOffset(204)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; + + [FieldOffset(216)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; + + [FieldOffset(228)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; + + [FieldOffset(240)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; + + [FieldOffset(252)] + internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + + [FieldOffset(260)] + internal byte isAnonymous; + + [FieldOffset(264)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BaseClassSpecifier___N_std_S_allocator__S0_ Bases; + + [FieldOffset(276)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Field___N_std_S_allocator__S0_ Fields; + + [FieldOffset(288)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_S_allocator__S0_ Methods; + + [FieldOffset(300)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_AccessSpecifierDecl___N_std_S_allocator__S0_ Specifiers; + + [FieldOffset(312)] + internal byte isPOD; + + [FieldOffset(313)] + internal byte isAbstract; + + [FieldOffset(314)] + internal byte isUnion; + + [FieldOffset(315)] + internal byte isDynamic; + + [FieldOffset(316)] + internal byte isPolymorphic; + + [FieldOffset(317)] + internal byte hasNonTrivialDefaultConstructor; + + [FieldOffset(318)] + internal byte hasNonTrivialCopyConstructor; + + [FieldOffset(319)] + internal byte hasNonTrivialDestructor; + + [FieldOffset(320)] + internal byte isExternCContext; - [FieldOffset(4)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BlockContentComment___N_std_S_allocator__S0_ Blocks; + [FieldOffset(321)] + internal byte isInjected; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0FullComment@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + [FieldOffset(324)] + internal global::System.IntPtr layout; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0FullComment@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + [FieldOffset(328)] + internal global::System.IntPtr templatedDecl; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1FullComment@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern void dtor(global::System.IntPtr __instance, int delete); + [FieldOffset(332)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getBlocks@FullComment@AST@CppParser@CppSharp@@QAEPAVBlockContentComment@234@I@Z")] - internal static extern global::System.IntPtr GetBlocks(global::System.IntPtr __instance, uint i); + [FieldOffset(344)] + internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addBlocks@FullComment@AST@CppParser@CppSharp@@QAEXAAPAVBlockContentComment@234@@Z")] - internal static extern void AddBlocks(global::System.IntPtr __instance, global::System.IntPtr s); + EntryPoint="??0ClassTemplatePartialSpecialization@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearBlocks@FullComment@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearBlocks(global::System.IntPtr __instance); + EntryPoint="??0ClassTemplatePartialSpecialization@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getBlocksCount@FullComment@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetBlocksCount(global::System.IntPtr __instance); + EntryPoint="??1ClassTemplatePartialSpecialization@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); } - internal static new global::CppSharp.Parser.AST.FullComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FullComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.FullComment __CreateInstance(global::CppSharp.Parser.AST.FullComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization __CreateInstance(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FullComment(native, skipVTables); + return new global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.FullComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); - global::CppSharp.Parser.AST.FullComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); + global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private FullComment(global::CppSharp.Parser.AST.FullComment.__Internal native, bool skipVTables = false) + private ClassTemplatePartialSpecialization(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected FullComment(void* native, bool skipVTables = false) + protected ClassTemplatePartialSpecialization(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -14593,19 +15107,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public FullComment() + public ClassTemplatePartialSpecialization() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public FullComment(global::CppSharp.Parser.AST.FullComment _0) + public ClassTemplatePartialSpecialization(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -14618,7 +15132,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Comment __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -14626,222 +15140,148 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - - public global::CppSharp.Parser.AST.BlockContentComment GetBlocks(uint i) - { - var __ret = __Internal.GetBlocks((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.BlockContentComment __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.BlockContentComment.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.BlockContentComment) global::CppSharp.Parser.AST.BlockContentComment.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.BlockContentComment.__CreateInstance(__ret); - return __result0; - } - - public void AddBlocks(global::CppSharp.Parser.AST.BlockContentComment s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddBlocks((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearBlocks() - { - __Internal.ClearBlocks((__Instance + __PointerAdjustment)); - } - - public uint BlocksCount - { - get - { - var __ret = __Internal.GetBlocksCount((__Instance + __PointerAdjustment)); - return __ret; - } - } } - public unsafe partial class InlineContentComment : global::CppSharp.Parser.AST.Comment, IDisposable + public unsafe partial class FunctionTemplate : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 172)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal byte hasTrailingNewline; + internal int maxFieldAlignment; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0InlineContentComment@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0InlineContentComment@AST@CppParser@CppSharp@@QAE@W4CommentKind@123@@Z")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.CommentKind Kind); + [FieldOffset(12)] + internal global::System.IntPtr _namespace; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0InlineContentComment@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - } + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; - internal static new global::CppSharp.Parser.AST.InlineContentComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.InlineContentComment(native.ToPointer(), skipVTables); - } + [FieldOffset(20)] + internal int lineNumberStart; - internal static global::CppSharp.Parser.AST.InlineContentComment __CreateInstance(global::CppSharp.Parser.AST.InlineContentComment.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.InlineContentComment(native, skipVTables); - } + [FieldOffset(24)] + internal int lineNumberEnd; - private static void* __CopyValue(global::CppSharp.Parser.AST.InlineContentComment.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal)); - *(global::CppSharp.Parser.AST.InlineContentComment.__Internal*) ret = native; - return ret.ToPointer(); - } + [FieldOffset(28)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - private InlineContentComment(global::CppSharp.Parser.AST.InlineContentComment.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [FieldOffset(52)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - protected InlineContentComment(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [FieldOffset(76)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - public InlineContentComment() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + [FieldOffset(100)] + internal byte isIncomplete; - public InlineContentComment(global::CppSharp.Parser.AST.CommentKind Kind) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), Kind); - } + [FieldOffset(101)] + internal byte isDependent; - public InlineContentComment(global::CppSharp.Parser.AST.InlineContentComment _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.InlineContentComment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.InlineContentComment.__Internal*) _0.__Instance); - } + [FieldOffset(102)] + internal byte isImplicit; - public static implicit operator global::CppSharp.Parser.AST.InlineContentComment(global::CppSharp.Parser.AST.CommentKind Kind) - { - return new global::CppSharp.Parser.AST.InlineContentComment(Kind); - } + [FieldOffset(103)] + internal byte isInvalid; - public bool HasTrailingNewline - { - get - { - return ((global::CppSharp.Parser.AST.InlineContentComment.__Internal*) __Instance)->hasTrailingNewline != 0; - } + [FieldOffset(104)] + internal global::System.IntPtr completeDeclaration; - set - { - ((global::CppSharp.Parser.AST.InlineContentComment.__Internal*)__Instance)->hasTrailingNewline = (byte) (value ? 1 : 0); - } - } - } + [FieldOffset(108)] + internal uint definitionOrder; - public unsafe partial class ParagraphComment : global::CppSharp.Parser.AST.BlockContentComment, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 20)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - [FieldOffset(4)] - internal byte isWhitespace; + [FieldOffset(124)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - [FieldOffset(8)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_InlineContentComment___N_std_S_allocator__S0_ Content; + [FieldOffset(136)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(140)] + internal global::System.IntPtr comment; + + [FieldOffset(144)] + internal global::System.IntPtr TemplatedDecl; + + [FieldOffset(148)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_FunctionTemplateSpecialization___N_std_S_allocator__S0_ Specializations; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0ParagraphComment@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0FunctionTemplate@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0ParagraphComment@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0FunctionTemplate@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1ParagraphComment@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??1FunctionTemplate@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor(global::System.IntPtr __instance, int delete); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getContent@ParagraphComment@AST@CppParser@CppSharp@@QAEPAVInlineContentComment@234@I@Z")] - internal static extern global::System.IntPtr GetContent(global::System.IntPtr __instance, uint i); + EntryPoint="?getSpecializations@FunctionTemplate@AST@CppParser@CppSharp@@QAEPAVFunctionTemplateSpecialization@234@I@Z")] + internal static extern global::System.IntPtr GetSpecializations(global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addContent@ParagraphComment@AST@CppParser@CppSharp@@QAEXAAPAVInlineContentComment@234@@Z")] - internal static extern void AddContent(global::System.IntPtr __instance, global::System.IntPtr s); + EntryPoint="?addSpecializations@FunctionTemplate@AST@CppParser@CppSharp@@QAEXAAPAVFunctionTemplateSpecialization@234@@Z")] + internal static extern void AddSpecializations(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearContent@ParagraphComment@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearContent(global::System.IntPtr __instance); + EntryPoint="?clearSpecializations@FunctionTemplate@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearSpecializations(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getContentCount@ParagraphComment@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetContentCount(global::System.IntPtr __instance); + EntryPoint="?FindSpecialization@FunctionTemplate@AST@CppParser@CppSharp@@QAEPAVFunctionTemplateSpecialization@234@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z")] + internal static extern global::System.IntPtr FindSpecialization(global::System.IntPtr __instance, global::System.IntPtr usr); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getSpecializationsCount@FunctionTemplate@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetSpecializationsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.ParagraphComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.FunctionTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ParagraphComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.FunctionTemplate(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.ParagraphComment __CreateInstance(global::CppSharp.Parser.AST.ParagraphComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.FunctionTemplate __CreateInstance(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ParagraphComment(native, skipVTables); + return new global::CppSharp.Parser.AST.FunctionTemplate(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ParagraphComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParagraphComment.__Internal)); - global::CppSharp.Parser.AST.ParagraphComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); + global::CppSharp.Parser.AST.FunctionTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private ParagraphComment(global::CppSharp.Parser.AST.ParagraphComment.__Internal native, bool skipVTables = false) + private FunctionTemplate(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected ParagraphComment(void* native, bool skipVTables = false) + protected FunctionTemplate(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -14850,19 +15290,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public ParagraphComment() + public FunctionTemplate() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParagraphComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public ParagraphComment(global::CppSharp.Parser.AST.ParagraphComment _0) + public FunctionTemplate(global::CppSharp.Parser.AST.FunctionTemplate _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParagraphComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -14875,7 +15315,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Comment __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -14884,283 +15324,158 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.InlineContentComment GetContent(uint i) + public global::CppSharp.Parser.AST.FunctionTemplateSpecialization GetSpecializations(uint i) { - var __ret = __Internal.GetContent((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.InlineContentComment __result0; + var __ret = __Internal.GetSpecializations((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0; if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.InlineContentComment.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.InlineContentComment) global::CppSharp.Parser.AST.InlineContentComment.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.InlineContentComment.__CreateInstance(__ret); + else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(__ret); return __result0; } - public void AddContent(global::CppSharp.Parser.AST.InlineContentComment s) + public void AddSpecializations(global::CppSharp.Parser.AST.FunctionTemplateSpecialization s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddContent((__Instance + __PointerAdjustment), __arg0); + __Internal.AddSpecializations((__Instance + __PointerAdjustment), __arg0); } - public void ClearContent() + public void ClearSpecializations() { - __Internal.ClearContent((__Instance + __PointerAdjustment)); + __Internal.ClearSpecializations((__Instance + __PointerAdjustment)); } - public bool IsWhitespace + public global::CppSharp.Parser.AST.FunctionTemplateSpecialization FindSpecialization(string usr) { - get - { - return ((global::CppSharp.Parser.AST.ParagraphComment.__Internal*) __Instance)->isWhitespace != 0; - } - - set - { - ((global::CppSharp.Parser.AST.ParagraphComment.__Internal*)__Instance)->isWhitespace = (byte) (value ? 1 : 0); - } + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, usr); + var __arg0 = __basicString0.__Instance; + var __ret = __Internal.FindSpecialization((__Instance + __PointerAdjustment), __arg0); + __basicString0.Dispose(false); + global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(__ret); + return __result0; } - public uint ContentCount + public uint SpecializationsCount { get { - var __ret = __Internal.GetContentCount((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetSpecializationsCount((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class BlockCommandComment : global::CppSharp.Parser.AST.BlockContentComment, IDisposable + public unsafe partial class FunctionTemplateSpecialization : IDisposable { [StructLayout(LayoutKind.Explicit, Size = 24)] - public new partial struct __Internal + public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + internal global::System.IntPtr _template; [FieldOffset(4)] - internal uint commandId; + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; - [FieldOffset(8)] - internal global::System.IntPtr paragraphComment; + [FieldOffset(16)] + internal global::System.IntPtr specializedFunction; - [FieldOffset(12)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_S_allocator__S0_ Arguments; + [FieldOffset(20)] + internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0BlockCommandComment@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0FunctionTemplateSpecialization@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0BlockCommandComment@AST@CppParser@CppSharp@@QAE@W4CommentKind@123@@Z")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.CommentKind Kind); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0BlockCommandComment@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0FunctionTemplateSpecialization@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1BlockCommandComment@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??1FunctionTemplateSpecialization@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor(global::System.IntPtr __instance, int delete); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getArguments@BlockCommandComment@AST@CppParser@CppSharp@@QAE?AVArgument@1234@I@Z")] + EntryPoint="?getArguments@FunctionTemplateSpecialization@AST@CppParser@CppSharp@@QAE?AUTemplateArgument@234@I@Z")] internal static extern void GetArguments(global::System.IntPtr __instance, global::System.IntPtr @return, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addArguments@BlockCommandComment@AST@CppParser@CppSharp@@QAEXAAVArgument@1234@@Z")] + EntryPoint="?addArguments@FunctionTemplateSpecialization@AST@CppParser@CppSharp@@QAEXAAUTemplateArgument@234@@Z")] internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearArguments@BlockCommandComment@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearArguments(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getArgumentsCount@BlockCommandComment@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); - } - - public unsafe partial class Argument : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 24)] - public partial struct __Internal - { - [FieldOffset(0)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Argument@BlockCommandComment@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Argument@BlockCommandComment@AST@CppParser@CppSharp@@QAE@ABV01234@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1Argument@BlockCommandComment@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern void dtor(global::System.IntPtr __instance, int delete); - } - - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.BlockCommandComment.Argument __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.BlockCommandComment.Argument(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.BlockCommandComment.Argument __CreateInstance(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.BlockCommandComment.Argument(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal)); - global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private Argument(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected Argument(void* native, bool skipVTables = false) - { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public Argument() - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } - - public Argument(global::CppSharp.Parser.AST.BlockCommandComment.Argument _0) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } - - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.BlockCommandComment.Argument __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public string Text - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal*) __Instance)->text)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal*)__Instance)->text), value); - } - } + EntryPoint="?clearArguments@FunctionTemplateSpecialization@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearArguments(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getArgumentsCount@FunctionTemplateSpecialization@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.BlockCommandComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.FunctionTemplateSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BlockCommandComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.FunctionTemplateSpecialization(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.BlockCommandComment __CreateInstance(global::CppSharp.Parser.AST.BlockCommandComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.FunctionTemplateSpecialization __CreateInstance(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BlockCommandComment(native, skipVTables); + return new global::CppSharp.Parser.AST.FunctionTemplateSpecialization(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.BlockCommandComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__Internal)); - global::CppSharp.Parser.AST.BlockCommandComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); + global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private BlockCommandComment(global::CppSharp.Parser.AST.BlockCommandComment.__Internal native, bool skipVTables = false) + private FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected BlockCommandComment(void* native, bool skipVTables = false) - : base((void*) null) + protected FunctionTemplateSpecialization(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public BlockCommandComment() - : this((void*) null) + public FunctionTemplateSpecialization() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public BlockCommandComment(global::CppSharp.Parser.AST.CommentKind Kind) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), Kind); - } - - public BlockCommandComment(global::CppSharp.Parser.AST.BlockCommandComment _0) - : this((void*) null) + public FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -15169,11 +15484,16 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Comment __dummy; + global::CppSharp.Parser.AST.FunctionTemplateSpecialization __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -15182,14 +15502,14 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.BlockCommandComment.Argument GetArguments(uint i) + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) { - var __ret = new global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal(); + var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); __Internal.GetArguments((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); - return global::CppSharp.Parser.AST.BlockCommandComment.Argument.__CreateInstance(__ret); + return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); } - public void AddArguments(global::CppSharp.Parser.AST.BlockCommandComment.Argument s) + public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); @@ -15202,39 +15522,52 @@ namespace CppSharp __Internal.ClearArguments((__Instance + __PointerAdjustment)); } - public static implicit operator global::CppSharp.Parser.AST.BlockCommandComment(global::CppSharp.Parser.AST.CommentKind Kind) + public global::CppSharp.Parser.AST.FunctionTemplate Template { - return new global::CppSharp.Parser.AST.BlockCommandComment(Kind); + get + { + global::CppSharp.Parser.AST.FunctionTemplate __result0; + if (((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.FunctionTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template)) + __result0 = (global::CppSharp.Parser.AST.FunctionTemplate) global::CppSharp.Parser.AST.FunctionTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template]; + else __result0 = global::CppSharp.Parser.AST.FunctionTemplate.__CreateInstance(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*)__Instance)->_template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } } - public uint CommandId + public global::CppSharp.Parser.AST.Function SpecializedFunction { get { - return ((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*) __Instance)->commandId; + global::CppSharp.Parser.AST.Function __result0; + if (((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction)) + __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction]; + else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction); + return __result0; } set { - ((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*)__Instance)->commandId = value; + ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*)__Instance)->specializedFunction = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public global::CppSharp.Parser.AST.ParagraphComment ParagraphComment + public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind { get { - global::CppSharp.Parser.AST.ParagraphComment __result0; - if (((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*) __Instance)->paragraphComment == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.ParagraphComment.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*) __Instance)->paragraphComment)) - __result0 = (global::CppSharp.Parser.AST.ParagraphComment) global::CppSharp.Parser.AST.ParagraphComment.NativeToManagedMap[((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*) __Instance)->paragraphComment]; - else __result0 = global::CppSharp.Parser.AST.ParagraphComment.__CreateInstance(((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*) __Instance)->paragraphComment); - return __result0; + return ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializationKind; } set { - ((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*)__Instance)->paragraphComment = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*)__Instance)->specializationKind = value; } } @@ -15248,227 +15581,151 @@ namespace CppSharp } } - public unsafe partial class ParamCommandComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable + public unsafe partial class VarTemplate : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 172)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal uint commandId; + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::System.IntPtr paragraphComment; + internal global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(12)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_S_allocator__S0_ Arguments; - - [FieldOffset(24)] - internal global::CppSharp.Parser.AST.ParamCommandComment.PassDirection direction; - - [FieldOffset(28)] - internal uint paramIndex; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0ParamCommandComment@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0ParamCommandComment@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1ParamCommandComment@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern void dtor(global::System.IntPtr __instance, int delete); - } - - public enum PassDirection - { - In = 0, - Out = 1, - InOut = 2 - } + internal global::System.IntPtr _namespace; - internal static new global::CppSharp.Parser.AST.ParamCommandComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.ParamCommandComment(native.ToPointer(), skipVTables); - } + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; - internal static global::CppSharp.Parser.AST.ParamCommandComment __CreateInstance(global::CppSharp.Parser.AST.ParamCommandComment.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.ParamCommandComment(native, skipVTables); - } + [FieldOffset(20)] + internal int lineNumberStart; - private static void* __CopyValue(global::CppSharp.Parser.AST.ParamCommandComment.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParamCommandComment.__Internal)); - global::CppSharp.Parser.AST.ParamCommandComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [FieldOffset(24)] + internal int lineNumberEnd; - private ParamCommandComment(global::CppSharp.Parser.AST.ParamCommandComment.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [FieldOffset(28)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - protected ParamCommandComment(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [FieldOffset(52)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - public ParamCommandComment() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParamCommandComment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + [FieldOffset(76)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - public ParamCommandComment(global::CppSharp.Parser.AST.ParamCommandComment _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParamCommandComment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(100)] + internal byte isIncomplete; - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Comment __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + [FieldOffset(101)] + internal byte isDependent; - public global::CppSharp.Parser.AST.ParamCommandComment.PassDirection Direction - { - get - { - return ((global::CppSharp.Parser.AST.ParamCommandComment.__Internal*) __Instance)->direction; - } + [FieldOffset(102)] + internal byte isImplicit; - set - { - ((global::CppSharp.Parser.AST.ParamCommandComment.__Internal*)__Instance)->direction = value; - } - } + [FieldOffset(103)] + internal byte isInvalid; - public uint ParamIndex - { - get - { - return ((global::CppSharp.Parser.AST.ParamCommandComment.__Internal*) __Instance)->paramIndex; - } + [FieldOffset(104)] + internal global::System.IntPtr completeDeclaration; - set - { - ((global::CppSharp.Parser.AST.ParamCommandComment.__Internal*)__Instance)->paramIndex = value; - } - } - } + [FieldOffset(108)] + internal uint definitionOrder; - public unsafe partial class TParamCommandComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 36)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - [FieldOffset(4)] - internal uint commandId; + [FieldOffset(124)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - [FieldOffset(8)] - internal global::System.IntPtr paragraphComment; + [FieldOffset(136)] + internal global::System.IntPtr originalPtr; - [FieldOffset(12)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_S_allocator__S0_ Arguments; + [FieldOffset(140)] + internal global::System.IntPtr comment; - [FieldOffset(24)] - internal global::Std.Vector.__Internalc__N_std_S_vector__i___N_std_S_allocator__i Position; + [FieldOffset(144)] + internal global::System.IntPtr TemplatedDecl; + + [FieldOffset(148)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_VarTemplateSpecialization___N_std_S_allocator__S0_ Specializations; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TParamCommandComment@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0VarTemplate@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TParamCommandComment@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0VarTemplate@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1TParamCommandComment@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??1VarTemplate@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor(global::System.IntPtr __instance, int delete); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getPosition@TParamCommandComment@AST@CppParser@CppSharp@@QAEII@Z")] - internal static extern uint GetPosition(global::System.IntPtr __instance, uint i); + EntryPoint="?getSpecializations@VarTemplate@AST@CppParser@CppSharp@@QAEPAVVarTemplateSpecialization@234@I@Z")] + internal static extern global::System.IntPtr GetSpecializations(global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addPosition@TParamCommandComment@AST@CppParser@CppSharp@@QAEXAAI@Z")] - internal static extern void AddPosition(global::System.IntPtr __instance, uint* s); + EntryPoint="?addSpecializations@VarTemplate@AST@CppParser@CppSharp@@QAEXAAPAVVarTemplateSpecialization@234@@Z")] + internal static extern void AddSpecializations(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearPosition@TParamCommandComment@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearPosition(global::System.IntPtr __instance); + EntryPoint="?clearSpecializations@VarTemplate@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearSpecializations(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getPositionCount@TParamCommandComment@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetPositionCount(global::System.IntPtr __instance); + EntryPoint="?FindSpecialization@VarTemplate@AST@CppParser@CppSharp@@QAEPAVVarTemplateSpecialization@234@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z")] + internal static extern global::System.IntPtr FindSpecialization(global::System.IntPtr __instance, global::System.IntPtr usr); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?FindPartialSpecialization@VarTemplate@AST@CppParser@CppSharp@@QAEPAVVarTemplatePartialSpecialization@234@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z")] + internal static extern global::System.IntPtr FindPartialSpecialization(global::System.IntPtr __instance, global::System.IntPtr usr); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getSpecializationsCount@VarTemplate@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetSpecializationsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.TParamCommandComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.VarTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TParamCommandComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.VarTemplate(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TParamCommandComment __CreateInstance(global::CppSharp.Parser.AST.TParamCommandComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VarTemplate __CreateInstance(global::CppSharp.Parser.AST.VarTemplate.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TParamCommandComment(native, skipVTables); + return new global::CppSharp.Parser.AST.VarTemplate(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TParamCommandComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplate.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TParamCommandComment.__Internal)); - global::CppSharp.Parser.AST.TParamCommandComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); + global::CppSharp.Parser.AST.VarTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TParamCommandComment(global::CppSharp.Parser.AST.TParamCommandComment.__Internal native, bool skipVTables = false) + private VarTemplate(global::CppSharp.Parser.AST.VarTemplate.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TParamCommandComment(void* native, bool skipVTables = false) + protected VarTemplate(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -15477,19 +15734,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TParamCommandComment() + public VarTemplate() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TParamCommandComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TParamCommandComment(global::CppSharp.Parser.AST.TParamCommandComment _0) + public VarTemplate(global::CppSharp.Parser.AST.VarTemplate _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TParamCommandComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -15502,7 +15759,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Comment __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -15511,228 +15768,211 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public uint GetPosition(uint i) - { - var __ret = __Internal.GetPosition((__Instance + __PointerAdjustment), i); - return __ret; - } - - public void AddPosition(ref uint s) - { - fixed (uint* __s0 = &s) - { - var __arg0 = __s0; - __Internal.AddPosition((__Instance + __PointerAdjustment), __arg0); - } - } - - public void ClearPosition() - { - __Internal.ClearPosition((__Instance + __PointerAdjustment)); - } - - public uint PositionCount - { - get - { - var __ret = __Internal.GetPositionCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - } - - public unsafe partial class VerbatimBlockLineComment : global::CppSharp.Parser.AST.Comment, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 28)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; - - [FieldOffset(4)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0VerbatimBlockLineComment@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0VerbatimBlockLineComment@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1VerbatimBlockLineComment@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern void dtor(global::System.IntPtr __instance, int delete); - } - - internal static new global::CppSharp.Parser.AST.VerbatimBlockLineComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.VerbatimBlockLineComment(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.VerbatimBlockLineComment __CreateInstance(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.VerbatimBlockLineComment(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal)); - global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private VerbatimBlockLineComment(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + public global::CppSharp.Parser.AST.VarTemplateSpecialization GetSpecializations(uint i) { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + var __ret = __Internal.GetSpecializations((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.VarTemplateSpecialization __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.VarTemplateSpecialization) global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.VarTemplateSpecialization.__CreateInstance(__ret); + return __result0; } - protected VerbatimBlockLineComment(void* native, bool skipVTables = false) - : base((void*) null) + public void AddSpecializations(global::CppSharp.Parser.AST.VarTemplateSpecialization s) { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddSpecializations((__Instance + __PointerAdjustment), __arg0); } - public VerbatimBlockLineComment() - : this((void*) null) + public void ClearSpecializations() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + __Internal.ClearSpecializations((__Instance + __PointerAdjustment)); } - public VerbatimBlockLineComment(global::CppSharp.Parser.AST.VerbatimBlockLineComment _0) - : this((void*) null) + public global::CppSharp.Parser.AST.VarTemplateSpecialization FindSpecialization(string usr) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, usr); + var __arg0 = __basicString0.__Instance; + var __ret = __Internal.FindSpecialization((__Instance + __PointerAdjustment), __arg0); + __basicString0.Dispose(false); + global::CppSharp.Parser.AST.VarTemplateSpecialization __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.VarTemplateSpecialization) global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.VarTemplateSpecialization.__CreateInstance(__ret); + return __result0; } - public override void Dispose(bool disposing) + public global::CppSharp.Parser.AST.VarTemplatePartialSpecialization FindPartialSpecialization(string usr) { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Comment __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, usr); + var __arg0 = __basicString0.__Instance; + var __ret = __Internal.FindPartialSpecialization((__Instance + __PointerAdjustment), __arg0); + __basicString0.Dispose(false); + global::CppSharp.Parser.AST.VarTemplatePartialSpecialization __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.VarTemplatePartialSpecialization) global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__CreateInstance(__ret); + return __result0; } - public string Text + public uint SpecializationsCount { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal*) __Instance)->text)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal*)__Instance)->text), value); + var __ret = __Internal.GetSpecializationsCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class VerbatimBlockComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable + public unsafe partial class VarTemplateSpecialization : global::CppSharp.Parser.AST.Variable, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 36)] + [StructLayout(LayoutKind.Explicit, Size = 196)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal uint commandId; + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::System.IntPtr paragraphComment; + internal global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(12)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_S_allocator__S0_ Arguments; + internal global::System.IntPtr _namespace; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(20)] + internal int lineNumberStart; [FieldOffset(24)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_VerbatimBlockLineComment___N_std_S_allocator__S0_ Lines; + internal int lineNumberEnd; + + [FieldOffset(28)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(52)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(76)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(100)] + internal byte isIncomplete; + + [FieldOffset(101)] + internal byte isDependent; + + [FieldOffset(102)] + internal byte isImplicit; + + [FieldOffset(103)] + internal byte isInvalid; + + [FieldOffset(104)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(108)] + internal uint definitionOrder; + + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(124)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(136)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(140)] + internal global::System.IntPtr comment; + + [FieldOffset(144)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; + + [FieldOffset(168)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(176)] + internal global::System.IntPtr templatedDecl; + + [FieldOffset(180)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; + + [FieldOffset(192)] + internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0VerbatimBlockComment@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0VarTemplateSpecialization@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0VerbatimBlockComment@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0VarTemplateSpecialization@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1VerbatimBlockComment@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??1VarTemplateSpecialization@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor(global::System.IntPtr __instance, int delete); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getLines@VerbatimBlockComment@AST@CppParser@CppSharp@@QAEPAVVerbatimBlockLineComment@234@I@Z")] - internal static extern global::System.IntPtr GetLines(global::System.IntPtr __instance, uint i); + EntryPoint="?getArguments@VarTemplateSpecialization@AST@CppParser@CppSharp@@QAE?AUTemplateArgument@234@I@Z")] + internal static extern void GetArguments(global::System.IntPtr __instance, global::System.IntPtr @return, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addLines@VerbatimBlockComment@AST@CppParser@CppSharp@@QAEXAAPAVVerbatimBlockLineComment@234@@Z")] - internal static extern void AddLines(global::System.IntPtr __instance, global::System.IntPtr s); + EntryPoint="?addArguments@VarTemplateSpecialization@AST@CppParser@CppSharp@@QAEXAAUTemplateArgument@234@@Z")] + internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearLines@VerbatimBlockComment@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearLines(global::System.IntPtr __instance); + EntryPoint="?clearArguments@VarTemplateSpecialization@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearArguments(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getLinesCount@VerbatimBlockComment@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetLinesCount(global::System.IntPtr __instance); + EntryPoint="?getArgumentsCount@VarTemplateSpecialization@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.VerbatimBlockComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.VarTemplateSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VerbatimBlockComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.VarTemplateSpecialization(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.VerbatimBlockComment __CreateInstance(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VarTemplateSpecialization __CreateInstance(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VerbatimBlockComment(native, skipVTables); + return new global::CppSharp.Parser.AST.VarTemplateSpecialization(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal)); - global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); + global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private VerbatimBlockComment(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal native, bool skipVTables = false) + private VarTemplateSpecialization(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected VerbatimBlockComment(void* native, bool skipVTables = false) + protected VarTemplateSpecialization(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -15741,19 +15981,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public VerbatimBlockComment() + public VarTemplateSpecialization() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public VerbatimBlockComment(global::CppSharp.Parser.AST.VerbatimBlockComment _0) + public VarTemplateSpecialization(global::CppSharp.Parser.AST.VarTemplateSpecialization _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -15766,7 +16006,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Comment __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -15775,101 +16015,188 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.VerbatimBlockLineComment GetLines(uint i) + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) { - var __ret = __Internal.GetLines((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.VerbatimBlockLineComment __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.VerbatimBlockLineComment.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.VerbatimBlockLineComment) global::CppSharp.Parser.AST.VerbatimBlockLineComment.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.VerbatimBlockLineComment.__CreateInstance(__ret); - return __result0; + var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); + __Internal.GetArguments((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); + return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); } - public void AddLines(global::CppSharp.Parser.AST.VerbatimBlockLineComment s) + public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddLines((__Instance + __PointerAdjustment), __arg0); + __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); } - public void ClearLines() + public void ClearArguments() { - __Internal.ClearLines((__Instance + __PointerAdjustment)); + __Internal.ClearArguments((__Instance + __PointerAdjustment)); } - public uint LinesCount + public global::CppSharp.Parser.AST.VarTemplate TemplatedDecl { get { - var __ret = __Internal.GetLinesCount((__Instance + __PointerAdjustment)); + global::CppSharp.Parser.AST.VarTemplate __result0; + if (((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.VarTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl)) + __result0 = (global::CppSharp.Parser.AST.VarTemplate) global::CppSharp.Parser.AST.VarTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl]; + else __result0 = global::CppSharp.Parser.AST.VarTemplate.__CreateInstance(((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*)__Instance)->templatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind + { + get + { + return ((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->specializationKind; + } + + set + { + ((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*)__Instance)->specializationKind = value; + } + } + + public uint ArgumentsCount + { + get + { + var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class VerbatimLineComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable + public unsafe partial class VarTemplatePartialSpecialization : global::CppSharp.Parser.AST.VarTemplateSpecialization, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 196)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal uint commandId; + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::System.IntPtr paragraphComment; + internal global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(12)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_S_allocator__S0_ Arguments; + internal global::System.IntPtr _namespace; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(20)] + internal int lineNumberStart; [FieldOffset(24)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; + internal int lineNumberEnd; + + [FieldOffset(28)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(52)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(76)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(100)] + internal byte isIncomplete; + + [FieldOffset(101)] + internal byte isDependent; + + [FieldOffset(102)] + internal byte isImplicit; + + [FieldOffset(103)] + internal byte isInvalid; + + [FieldOffset(104)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(108)] + internal uint definitionOrder; + + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(124)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(136)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(140)] + internal global::System.IntPtr comment; + + [FieldOffset(144)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; + + [FieldOffset(168)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(176)] + internal global::System.IntPtr templatedDecl; + + [FieldOffset(180)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; + + [FieldOffset(192)] + internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0VerbatimLineComment@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0VarTemplatePartialSpecialization@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0VerbatimLineComment@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0VarTemplatePartialSpecialization@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1VerbatimLineComment@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??1VarTemplatePartialSpecialization@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor(global::System.IntPtr __instance, int delete); } - internal static new global::CppSharp.Parser.AST.VerbatimLineComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.VarTemplatePartialSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VerbatimLineComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.VarTemplatePartialSpecialization(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.VerbatimLineComment __CreateInstance(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VarTemplatePartialSpecialization __CreateInstance(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VerbatimLineComment(native, skipVTables); + return new global::CppSharp.Parser.AST.VarTemplatePartialSpecialization(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal)); - global::CppSharp.Parser.AST.VerbatimLineComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); + global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private VerbatimLineComment(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal native, bool skipVTables = false) + private VarTemplatePartialSpecialization(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected VerbatimLineComment(void* native, bool skipVTables = false) + protected VarTemplatePartialSpecialization(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -15878,19 +16205,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public VerbatimLineComment() + public VarTemplatePartialSpecialization() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public VerbatimLineComment(global::CppSharp.Parser.AST.VerbatimLineComment _0) + public VarTemplatePartialSpecialization(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -15903,7 +16230,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Comment __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -15911,230 +16238,150 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - - public string Text - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VerbatimLineComment.__Internal*) __Instance)->text)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VerbatimLineComment.__Internal*)__Instance)->text), value); - } - } } - public unsafe partial class InlineCommandComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable + public unsafe partial class Namespace : global::CppSharp.Parser.AST.DeclarationContext, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 28)] + [StructLayout(LayoutKind.Explicit, Size = 268)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal byte hasTrailingNewline; + internal int maxFieldAlignment; [FieldOffset(8)] - internal uint commandId; + internal global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(12)] - internal global::CppSharp.Parser.AST.InlineCommandComment.RenderKind commentRenderKind; + internal global::System.IntPtr _namespace; [FieldOffset(16)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_InlineCommandComment_S_Argument___N_std_S_allocator__S0_ Arguments; + internal global::CppSharp.Parser.SourceLocation.__Internal location; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0InlineCommandComment@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + [FieldOffset(20)] + internal int lineNumberStart; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0InlineCommandComment@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + [FieldOffset(24)] + internal int lineNumberEnd; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1InlineCommandComment@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern void dtor(global::System.IntPtr __instance, int delete); + [FieldOffset(28)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getArguments@InlineCommandComment@AST@CppParser@CppSharp@@QAE?AVArgument@1234@I@Z")] - internal static extern void GetArguments(global::System.IntPtr __instance, global::System.IntPtr @return, uint i); + [FieldOffset(52)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addArguments@InlineCommandComment@AST@CppParser@CppSharp@@QAEXAAVArgument@1234@@Z")] - internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); + [FieldOffset(76)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearArguments@InlineCommandComment@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearArguments(global::System.IntPtr __instance); + [FieldOffset(100)] + internal byte isIncomplete; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getArgumentsCount@InlineCommandComment@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); - } + [FieldOffset(101)] + internal byte isDependent; - public enum RenderKind - { - RenderNormal = 0, - RenderBold = 1, - RenderMonospaced = 2, - RenderEmphasized = 3 - } + [FieldOffset(102)] + internal byte isImplicit; - public unsafe partial class Argument : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 24)] - public partial struct __Internal - { - [FieldOffset(0)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; + [FieldOffset(103)] + internal byte isInvalid; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Argument@InlineCommandComment@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + [FieldOffset(104)] + internal global::System.IntPtr completeDeclaration; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Argument@InlineCommandComment@AST@CppParser@CppSharp@@QAE@ABV01234@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + [FieldOffset(108)] + internal uint definitionOrder; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1Argument@InlineCommandComment@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern void dtor(global::System.IntPtr __instance, int delete); - } + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - public global::System.IntPtr __Instance { get; protected set; } + [FieldOffset(124)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; + [FieldOffset(136)] + internal global::System.IntPtr originalPtr; - protected bool __ownsNativeInstance; + [FieldOffset(140)] + internal global::System.IntPtr comment; - internal static global::CppSharp.Parser.AST.InlineCommandComment.Argument __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.InlineCommandComment.Argument(native.ToPointer(), skipVTables); - } + [FieldOffset(144)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; - internal static global::CppSharp.Parser.AST.InlineCommandComment.Argument __CreateInstance(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.InlineCommandComment.Argument(native, skipVTables); - } + [FieldOffset(156)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; - private static void* __CopyValue(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal)); - global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [FieldOffset(168)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; - private Argument(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [FieldOffset(180)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; - protected Argument(void* native, bool skipVTables = false) - { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [FieldOffset(192)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; - public Argument() - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + [FieldOffset(204)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; - public Argument(global::CppSharp.Parser.AST.InlineCommandComment.Argument _0) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(216)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; - public void Dispose() - { - Dispose(disposing: true); - } + [FieldOffset(228)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.InlineCommandComment.Argument __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + [FieldOffset(240)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; - public string Text - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal*) __Instance)->text)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + [FieldOffset(252)] + internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal*)__Instance)->text), value); - } - } + [FieldOffset(260)] + internal byte isAnonymous; + + [FieldOffset(264)] + internal byte isInline; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0Namespace@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0Namespace@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??1Namespace@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); } - internal static new global::CppSharp.Parser.AST.InlineCommandComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Namespace __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.InlineCommandComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Namespace(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.InlineCommandComment __CreateInstance(global::CppSharp.Parser.AST.InlineCommandComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Namespace __CreateInstance(global::CppSharp.Parser.AST.Namespace.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.InlineCommandComment(native, skipVTables); + return new global::CppSharp.Parser.AST.Namespace(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.InlineCommandComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Namespace.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.__Internal)); - global::CppSharp.Parser.AST.InlineCommandComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); + global::CppSharp.Parser.AST.Namespace.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private InlineCommandComment(global::CppSharp.Parser.AST.InlineCommandComment.__Internal native, bool skipVTables = false) + private Namespace(global::CppSharp.Parser.AST.Namespace.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected InlineCommandComment(void* native, bool skipVTables = false) + protected Namespace(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -16143,19 +16390,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public InlineCommandComment() + public Namespace() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public InlineCommandComment(global::CppSharp.Parser.AST.InlineCommandComment _0) + public Namespace(global::CppSharp.Parser.AST.Namespace _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -16168,7 +16415,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Comment __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -16177,369 +16424,223 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.InlineCommandComment.Argument GetArguments(uint i) - { - var __ret = new global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal(); - __Internal.GetArguments((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); - return global::CppSharp.Parser.AST.InlineCommandComment.Argument.__CreateInstance(__ret); - } - - public void AddArguments(global::CppSharp.Parser.AST.InlineCommandComment.Argument s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearArguments() - { - __Internal.ClearArguments((__Instance + __PointerAdjustment)); - } - - public uint CommandId - { - get - { - return ((global::CppSharp.Parser.AST.InlineCommandComment.__Internal*) __Instance)->commandId; - } - - set - { - ((global::CppSharp.Parser.AST.InlineCommandComment.__Internal*)__Instance)->commandId = value; - } - } - - public global::CppSharp.Parser.AST.InlineCommandComment.RenderKind CommentRenderKind + public bool IsInline { get { - return ((global::CppSharp.Parser.AST.InlineCommandComment.__Internal*) __Instance)->commentRenderKind; + return ((global::CppSharp.Parser.AST.Namespace.__Internal*) __Instance)->isInline != 0; } set { - ((global::CppSharp.Parser.AST.InlineCommandComment.__Internal*)__Instance)->commentRenderKind = value; - } - } - - public uint ArgumentsCount - { - get - { - var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.Namespace.__Internal*)__Instance)->isInline = (byte) (value ? 1 : 0); } } } - public unsafe partial class HTMLTagComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable + public unsafe partial class PreprocessedEntity : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 8)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 12)] + public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + internal global::CppSharp.Parser.AST.MacroLocation macroLocation; [FieldOffset(4)] - internal byte hasTrailingNewline; + internal global::System.IntPtr originalPtr; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0HTMLTagComment@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0HTMLTagComment@AST@CppParser@CppSharp@@QAE@W4CommentKind@123@@Z")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.CommentKind Kind); + EntryPoint="??0PreprocessedEntity@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0HTMLTagComment@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0PreprocessedEntity@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); } - internal static new global::CppSharp.Parser.AST.HTMLTagComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.PreprocessedEntity __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.HTMLTagComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.PreprocessedEntity(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.HTMLTagComment __CreateInstance(global::CppSharp.Parser.AST.HTMLTagComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.PreprocessedEntity __CreateInstance(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.HTMLTagComment(native, skipVTables); + return new global::CppSharp.Parser.AST.PreprocessedEntity(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.HTMLTagComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal)); - *(global::CppSharp.Parser.AST.HTMLTagComment.__Internal*) ret = native; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); + *(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) ret = native; return ret.ToPointer(); } - private HTMLTagComment(global::CppSharp.Parser.AST.HTMLTagComment.__Internal native, bool skipVTables = false) + private PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected HTMLTagComment(void* native, bool skipVTables = false) - : base((void*) null) + protected PreprocessedEntity(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public HTMLTagComment() - : this((void*) null) + public PreprocessedEntity() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public HTMLTagComment(global::CppSharp.Parser.AST.CommentKind Kind) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), Kind); - } - - public HTMLTagComment(global::CppSharp.Parser.AST.HTMLTagComment _0) - : this((void*) null) + public PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.HTMLTagComment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.HTMLTagComment.__Internal*) _0.__Instance); + *((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) _0.__Instance); } - public static implicit operator global::CppSharp.Parser.AST.HTMLTagComment(global::CppSharp.Parser.AST.CommentKind Kind) + public void Dispose() { - return new global::CppSharp.Parser.AST.HTMLTagComment(Kind); + Dispose(disposing: true); } - } - public unsafe partial class HTMLStartTagComment : global::CppSharp.Parser.AST.HTMLTagComment, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 44)] - public new partial struct __Internal + public virtual void Dispose(bool disposing) { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; - - [FieldOffset(4)] - internal byte hasTrailingNewline; - - [FieldOffset(8)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C tagName; - - [FieldOffset(32)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_HTMLStartTagComment_S_Attribute___N_std_S_allocator__S0_ Attributes; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0HTMLStartTagComment@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0HTMLStartTagComment@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1HTMLStartTagComment@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern void dtor(global::System.IntPtr __instance, int delete); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getAttributes@HTMLStartTagComment@AST@CppParser@CppSharp@@QAE?AVAttribute@1234@I@Z")] - internal static extern void GetAttributes(global::System.IntPtr __instance, global::System.IntPtr @return, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addAttributes@HTMLStartTagComment@AST@CppParser@CppSharp@@QAEXAAVAttribute@1234@@Z")] - internal static extern void AddAttributes(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearAttributes@HTMLStartTagComment@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearAttributes(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getAttributesCount@HTMLStartTagComment@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetAttributesCount(global::System.IntPtr __instance); + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.PreprocessedEntity __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } - public unsafe partial class Attribute : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 48)] - public partial struct __Internal - { - [FieldOffset(0)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(24)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C value; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Attribute@HTMLStartTagComment@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Attribute@HTMLStartTagComment@AST@CppParser@CppSharp@@QAE@ABV01234@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1Attribute@HTMLStartTagComment@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern void dtor(global::System.IntPtr __instance, int delete); - } - - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute __CreateInstance(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal native, bool skipVTables = false) + public global::CppSharp.Parser.AST.MacroLocation MacroLocation + { + get { - return new global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute(native, skipVTables); + return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->macroLocation; } - private static void* __CopyValue(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal native) + set { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal)); - global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); + ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*)__Instance)->macroLocation = value; } + } - private Attribute(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + public global::System.IntPtr OriginalPtr + { + get { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->originalPtr; } - protected Attribute(void* native, bool skipVTables = false) + set { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); + ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*)__Instance)->originalPtr = (global::System.IntPtr) value; } + } - public Attribute() + public global::CppSharp.Parser.AST.DeclarationKind Kind + { + get { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->kind; } - public Attribute(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute _0) + set { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*)__Instance)->kind = value; } + } + } - public void Dispose() - { - Dispose(disposing: true); - } + public unsafe partial class MacroDefinition : global::CppSharp.Parser.AST.PreprocessedEntity, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 68)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.MacroLocation macroLocation; - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + [FieldOffset(4)] + internal global::System.IntPtr originalPtr; - public string Name - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal*) __Instance)->name)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal*)__Instance)->name), value); - } - } + [FieldOffset(12)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - public string Value - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal*) __Instance)->value)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + [FieldOffset(36)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C expression; - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal*)__Instance)->value), value); - } - } + [FieldOffset(60)] + internal int lineNumberStart; + + [FieldOffset(64)] + internal int lineNumberEnd; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0MacroDefinition@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0MacroDefinition@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??1MacroDefinition@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); } - internal static new global::CppSharp.Parser.AST.HTMLStartTagComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.MacroDefinition __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.HTMLStartTagComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.MacroDefinition(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.HTMLStartTagComment __CreateInstance(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.MacroDefinition __CreateInstance(global::CppSharp.Parser.AST.MacroDefinition.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.HTMLStartTagComment(native, skipVTables); + return new global::CppSharp.Parser.AST.MacroDefinition(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.MacroDefinition.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal)); - global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); + global::CppSharp.Parser.AST.MacroDefinition.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private HTMLStartTagComment(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal native, bool skipVTables = false) + private MacroDefinition(global::CppSharp.Parser.AST.MacroDefinition.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected HTMLStartTagComment(void* native, bool skipVTables = false) + protected MacroDefinition(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -16548,19 +16649,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public HTMLStartTagComment() + public MacroDefinition() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public HTMLStartTagComment(global::CppSharp.Parser.AST.HTMLStartTagComment _0) + public MacroDefinition(global::CppSharp.Parser.AST.MacroDefinition _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -16573,7 +16674,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Comment __dummy; + global::CppSharp.Parser.AST.PreprocessedEntity __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -16582,31 +16683,27 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute GetAttributes(uint i) - { - var __ret = new global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal(); - __Internal.GetAttributes((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); - return global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__CreateInstance(__ret); - } - - public void AddAttributes(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute s) + public string Name { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddAttributes((__Instance + __PointerAdjustment), __arg0); - } + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->name)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - public void ClearAttributes() - { - __Internal.ClearAttributes((__Instance + __PointerAdjustment)); + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->name), value); + } } - public string TagName + public string Expression { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal*) __Instance)->tagName)); + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->expression)); var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); __basicStringRet0.Dispose(false); return __stringRet0; @@ -16614,75 +16711,101 @@ namespace CppSharp set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal*)__Instance)->tagName), value); + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->expression), value); } } - public uint AttributesCount + public int LineNumberStart { get { - var __ret = __Internal.GetAttributesCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->lineNumberStart; + } + + set + { + ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->lineNumberStart = value; + } + } + + public int LineNumberEnd + { + get + { + return ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->lineNumberEnd; + } + + set + { + ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->lineNumberEnd = value; } } } - public unsafe partial class HTMLEndTagComment : global::CppSharp.Parser.AST.HTMLTagComment, IDisposable + public unsafe partial class MacroExpansion : global::CppSharp.Parser.AST.PreprocessedEntity, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 64)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + internal global::CppSharp.Parser.AST.MacroLocation macroLocation; [FieldOffset(4)] - internal byte hasTrailingNewline; + internal global::System.IntPtr originalPtr; [FieldOffset(8)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C tagName; + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(12)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(36)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; + + [FieldOffset(60)] + internal global::System.IntPtr definition; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0HTMLEndTagComment@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0MacroExpansion@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0HTMLEndTagComment@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0MacroExpansion@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1HTMLEndTagComment@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??1MacroExpansion@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor(global::System.IntPtr __instance, int delete); } - internal static new global::CppSharp.Parser.AST.HTMLEndTagComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.MacroExpansion __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.HTMLEndTagComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.MacroExpansion(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.HTMLEndTagComment __CreateInstance(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.MacroExpansion __CreateInstance(global::CppSharp.Parser.AST.MacroExpansion.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.HTMLEndTagComment(native, skipVTables); + return new global::CppSharp.Parser.AST.MacroExpansion(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.MacroExpansion.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); - global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); + global::CppSharp.Parser.AST.MacroExpansion.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private HTMLEndTagComment(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal native, bool skipVTables = false) + private MacroExpansion(global::CppSharp.Parser.AST.MacroExpansion.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected HTMLEndTagComment(void* native, bool skipVTables = false) + protected MacroExpansion(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -16691,19 +16814,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public HTMLEndTagComment() + public MacroExpansion() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public HTMLEndTagComment(global::CppSharp.Parser.AST.HTMLEndTagComment _0) + public MacroExpansion(global::CppSharp.Parser.AST.MacroExpansion _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -16716,7 +16839,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Comment __dummy; + global::CppSharp.Parser.AST.PreprocessedEntity __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -16725,11 +16848,11 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public string TagName + public string Name { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal*) __Instance)->tagName)); + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->name)); var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); __basicStringRet0.Dispose(false); return __stringRet0; @@ -16737,66 +16860,216 @@ namespace CppSharp set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal*)__Instance)->tagName), value); + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*)__Instance)->name), value); + } + } + + public string Text + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->text)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*)__Instance)->text), value); + } + } + + public global::CppSharp.Parser.AST.MacroDefinition Definition + { + get + { + global::CppSharp.Parser.AST.MacroDefinition __result0; + if (((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition)) + __result0 = (global::CppSharp.Parser.AST.MacroDefinition) global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap[((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition]; + else __result0 = global::CppSharp.Parser.AST.MacroDefinition.__CreateInstance(((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.MacroExpansion.__Internal*)__Instance)->definition = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class TextComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable + public unsafe partial class TranslationUnit : global::CppSharp.Parser.AST.Namespace, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 308)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal byte hasTrailingNewline; + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(12)] + internal global::System.IntPtr _namespace; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(20)] + internal int lineNumberStart; + + [FieldOffset(24)] + internal int lineNumberEnd; + + [FieldOffset(28)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(52)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(76)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(100)] + internal byte isIncomplete; + + [FieldOffset(101)] + internal byte isDependent; + + [FieldOffset(102)] + internal byte isImplicit; + + [FieldOffset(103)] + internal byte isInvalid; + + [FieldOffset(104)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(108)] + internal uint definitionOrder; + + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(124)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(136)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(140)] + internal global::System.IntPtr comment; + + [FieldOffset(144)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; + + [FieldOffset(156)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; + + [FieldOffset(168)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; + + [FieldOffset(180)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; + + [FieldOffset(192)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; + + [FieldOffset(204)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; + + [FieldOffset(216)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; + + [FieldOffset(228)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; + + [FieldOffset(240)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; + + [FieldOffset(252)] + internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + + [FieldOffset(260)] + internal byte isAnonymous; + + [FieldOffset(264)] + internal byte isInline; + + [FieldOffset(268)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C fileName; + + [FieldOffset(292)] + internal byte isSystemHeader; + + [FieldOffset(296)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_MacroDefinition___N_std_S_allocator__S0_ Macros; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TextComment@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0TranslationUnit@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TextComment@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0TranslationUnit@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1TextComment@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??1TranslationUnit@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor(global::System.IntPtr __instance, int delete); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getMacros@TranslationUnit@AST@CppParser@CppSharp@@QAEPAVMacroDefinition@234@I@Z")] + internal static extern global::System.IntPtr GetMacros(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?addMacros@TranslationUnit@AST@CppParser@CppSharp@@QAEXAAPAVMacroDefinition@234@@Z")] + internal static extern void AddMacros(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?clearMacros@TranslationUnit@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearMacros(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getMacrosCount@TranslationUnit@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetMacrosCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.TextComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TranslationUnit __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TextComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TranslationUnit(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TextComment __CreateInstance(global::CppSharp.Parser.AST.TextComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TranslationUnit __CreateInstance(global::CppSharp.Parser.AST.TranslationUnit.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TextComment(native, skipVTables); + return new global::CppSharp.Parser.AST.TranslationUnit(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TextComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TranslationUnit.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); - global::CppSharp.Parser.AST.TextComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); + global::CppSharp.Parser.AST.TranslationUnit.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TextComment(global::CppSharp.Parser.AST.TextComment.__Internal native, bool skipVTables = false) + private TranslationUnit(global::CppSharp.Parser.AST.TranslationUnit.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TextComment(void* native, bool skipVTables = false) + protected TranslationUnit(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -16805,19 +17078,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TextComment() + public TranslationUnit() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TextComment(global::CppSharp.Parser.AST.TextComment _0) + public TranslationUnit(global::CppSharp.Parser.AST.TranslationUnit _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -16830,7 +17103,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Comment __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -16839,106 +17112,168 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public string Text + public global::CppSharp.Parser.AST.MacroDefinition GetMacros(uint i) + { + var __ret = __Internal.GetMacros((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.MacroDefinition __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.MacroDefinition) global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.MacroDefinition.__CreateInstance(__ret); + return __result0; + } + + public void AddMacros(global::CppSharp.Parser.AST.MacroDefinition s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddMacros((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearMacros() + { + __Internal.ClearMacros((__Instance + __PointerAdjustment)); + } + + public string FileName { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TextComment.__Internal*) __Instance)->text)); + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TranslationUnit.__Internal*) __Instance)->fileName)); var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); __basicStringRet0.Dispose(false); return __stringRet0; } - set + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TranslationUnit.__Internal*)__Instance)->fileName), value); + } + } + + public bool IsSystemHeader + { + get + { + return ((global::CppSharp.Parser.AST.TranslationUnit.__Internal*) __Instance)->isSystemHeader != 0; + } + + set + { + ((global::CppSharp.Parser.AST.TranslationUnit.__Internal*)__Instance)->isSystemHeader = (byte) (value ? 1 : 0); + } + } + + public uint MacrosCount + { + get { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TextComment.__Internal*)__Instance)->text), value); + var __ret = __Internal.GetMacrosCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class RawComment : IDisposable + public unsafe partial class ASTContext : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 56)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.RawCommentKind kind; - - [FieldOffset(4)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; - - [FieldOffset(28)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C briefText; - - [FieldOffset(52)] - internal global::System.IntPtr fullCommentBlock; + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TranslationUnit___N_std_S_allocator__S0_ TranslationUnits; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0RawComment@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0ASTContext@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0RawComment@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0ASTContext@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1RawComment@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??1ASTContext@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor(global::System.IntPtr __instance, int delete); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?FindOrCreateModule@ASTContext@AST@CppParser@CppSharp@@QAEPAVTranslationUnit@234@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z")] + internal static extern global::System.IntPtr FindOrCreateModule(global::System.IntPtr __instance, global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C File); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getTranslationUnits@ASTContext@AST@CppParser@CppSharp@@QAEPAVTranslationUnit@234@I@Z")] + internal static extern global::System.IntPtr GetTranslationUnits(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?addTranslationUnits@ASTContext@AST@CppParser@CppSharp@@QAEXAAPAVTranslationUnit@234@@Z")] + internal static extern void AddTranslationUnits(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?clearTranslationUnits@ASTContext@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearTranslationUnits(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getTranslationUnitsCount@ASTContext@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetTranslationUnitsCount(global::System.IntPtr __instance); } public global::System.IntPtr __Instance { get; protected set; } protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); protected internal void*[] __OriginalVTables; protected bool __ownsNativeInstance; - internal static global::CppSharp.Parser.AST.RawComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.ASTContext __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.RawComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.ASTContext(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.RawComment __CreateInstance(global::CppSharp.Parser.AST.RawComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.ASTContext __CreateInstance(global::CppSharp.Parser.AST.ASTContext.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.RawComment(native, skipVTables); + return new global::CppSharp.Parser.AST.ASTContext(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.RawComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ASTContext.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); - global::CppSharp.Parser.AST.RawComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); + global::CppSharp.Parser.AST.ASTContext.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private RawComment(global::CppSharp.Parser.AST.RawComment.__Internal native, bool skipVTables = false) + private ASTContext(global::CppSharp.Parser.AST.ASTContext.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected RawComment(void* native, bool skipVTables = false) + protected ASTContext(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public RawComment() + public ASTContext() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public RawComment(global::CppSharp.Parser.AST.RawComment _0) + public ASTContext(global::CppSharp.Parser.AST.ASTContext _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -16956,7 +17291,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.RawComment __dummy; + global::CppSharp.Parser.AST.ASTContext __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -16965,66 +17300,51 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.RawCommentKind Kind + public global::CppSharp.Parser.AST.TranslationUnit FindOrCreateModule(string File) { - get - { - return ((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->kind; - } - - set - { - ((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->kind = value; - } + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, File); + var __arg0 = *(global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C*) __basicString0.__Instance; + var __ret = __Internal.FindOrCreateModule((__Instance + __PointerAdjustment), __arg0); + __basicString0.Dispose(false); + global::CppSharp.Parser.AST.TranslationUnit __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.TranslationUnit) global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.TranslationUnit.__CreateInstance(__ret); + return __result0; } - public string Text + public global::CppSharp.Parser.AST.TranslationUnit GetTranslationUnits(uint i) { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->text)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->text), value); - } + var __ret = __Internal.GetTranslationUnits((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.TranslationUnit __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.TranslationUnit) global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.TranslationUnit.__CreateInstance(__ret); + return __result0; } - public string BriefText + public void AddTranslationUnits(global::CppSharp.Parser.AST.TranslationUnit s) { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->briefText)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddTranslationUnits((__Instance + __PointerAdjustment), __arg0); + } - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->briefText), value); - } + public void ClearTranslationUnits() + { + __Internal.ClearTranslationUnits((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.FullComment FullCommentBlock + public uint TranslationUnitsCount { get { - global::CppSharp.Parser.AST.FullComment __result0; - if (((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.FullComment.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock)) - __result0 = (global::CppSharp.Parser.AST.FullComment) global::CppSharp.Parser.AST.FullComment.NativeToManagedMap[((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock]; - else __result0 = global::CppSharp.Parser.AST.FullComment.__CreateInstance(((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->fullCommentBlock = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + var __ret = __Internal.GetTranslationUnitsCount((__Instance + __PointerAdjustment)); + return __ret; } } } @@ -17032,99 +17352,6 @@ namespace CppSharp } } -namespace CppSharp -{ - namespace Parser - { - public unsafe partial struct SourceLocation - { - [StructLayout(LayoutKind.Explicit, Size = 4)] - public partial struct __Internal - { - [FieldOffset(0)] - internal uint ID; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0SourceLocation@CppParser@CppSharp@@QAE@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0SourceLocation@CppParser@CppSharp@@QAE@I@Z")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, uint ID); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0SourceLocation@CppParser@CppSharp@@QAE@ABU012@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - } - - private SourceLocation.__Internal __instance; - internal SourceLocation.__Internal __Instance { get { return __instance; } } - - internal static global::CppSharp.Parser.SourceLocation __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.SourceLocation(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.SourceLocation __CreateInstance(global::CppSharp.Parser.SourceLocation.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.SourceLocation(native, skipVTables); - } - - private SourceLocation(global::CppSharp.Parser.SourceLocation.__Internal native, bool skipVTables = false) - : this() - { - __instance = native; - } - - private SourceLocation(void* native, bool skipVTables = false) : this() - { - __instance = *(global::CppSharp.Parser.SourceLocation.__Internal*) native; - } - - public SourceLocation(uint ID) - : this() - { - fixed (__Internal* __instancePtr = &__instance) - { - __Internal.ctor(new global::System.IntPtr(__instancePtr), ID); - } - } - - public SourceLocation(global::CppSharp.Parser.SourceLocation _0) - : this() - { - var ____arg0 = _0.__Instance; - var __arg0 = new global::System.IntPtr(&____arg0); - fixed (__Internal* __instancePtr = &__instance) - { - __Internal.cctor(new global::System.IntPtr(__instancePtr), __arg0); - } - } - - public static implicit operator global::CppSharp.Parser.SourceLocation(uint ID) - { - return new global::CppSharp.Parser.SourceLocation(ID); - } - - public uint ID - { - get - { - return __instance.ID; - } - - set - { - __instance.ID = value; - } - } - } - } -} - namespace CppSharp { namespace Parser diff --git a/src/CppParser/Bindings/CSharp/i686-pc-win32-msvc/Std.cs b/src/CppParser/Bindings/CSharp/i686-pc-win32-msvc/Std.cs index 33a97819..70d9f731 100644 --- a/src/CppParser/Bindings/CSharp/i686-pc-win32-msvc/Std.cs +++ b/src/CppParser/Bindings/CSharp/i686-pc-win32-msvc/Std.cs @@ -294,7 +294,7 @@ namespace Std } [StructLayout(LayoutKind.Explicit, Size = 12)] - public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Expression___N_std_S__Vector_val____N_std_S__Simple_types__S1__Vb1 + public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_ExpressionObsolete___N_std_S__Vector_val____N_std_S__Simple_types__S1__Vb1 { [FieldOffset(0)] internal global::Std.VectorVal.__Internal _Myval2; @@ -823,10 +823,10 @@ namespace Std } [StructLayout(LayoutKind.Explicit, Size = 12)] - public unsafe partial struct __Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expression___N_std_S_allocator__S0_ + public unsafe partial struct __Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_ExpressionObsolete___N_std_S_allocator__S0_ { [FieldOffset(0)] - internal global::Std.CompressedPair.__Internalc__N_std_S__Compressed_pair____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Expression___N_std_S__Vector_val____N_std_S__Simple_types__S1__Vb1 _Mypair; + internal global::Std.CompressedPair.__Internalc__N_std_S__Compressed_pair____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_ExpressionObsolete___N_std_S__Vector_val____N_std_S__Simple_types__S1__Vb1 _Mypair; } [StructLayout(LayoutKind.Explicit, Size = 12)] diff --git a/src/CppParser/Bindings/CSharp/x86_64-apple-darwin12.4.0/CppSharp.CppParser.cs b/src/CppParser/Bindings/CSharp/x86_64-apple-darwin12.4.0/CppSharp.CppParser.cs index f1eb2b66..94db76ce 100644 --- a/src/CppParser/Bindings/CSharp/x86_64-apple-darwin12.4.0/CppSharp.CppParser.cs +++ b/src/CppParser/Bindings/CSharp/x86_64-apple-darwin12.4.0/CppSharp.CppParser.cs @@ -17,79 +17,6 @@ namespace CppSharp { namespace AST { - public enum TypeKind - { - Tag = 0, - Array = 1, - Function = 2, - Pointer = 3, - MemberPointer = 4, - Typedef = 5, - Attributed = 6, - Decayed = 7, - TemplateSpecialization = 8, - DependentTemplateSpecialization = 9, - TemplateParameter = 10, - TemplateParameterSubstitution = 11, - InjectedClassName = 12, - DependentName = 13, - PackExpansion = 14, - Builtin = 15, - UnaryTransform = 16, - Vector = 17 - } - - public enum DeclarationKind - { - DeclarationContext = 0, - Typedef = 1, - TypeAlias = 2, - Parameter = 3, - Function = 4, - Method = 5, - Enumeration = 6, - EnumerationItem = 7, - Variable = 8, - Field = 9, - AccessSpecifier = 10, - Class = 11, - Template = 12, - TypeAliasTemplate = 13, - ClassTemplate = 14, - ClassTemplateSpecialization = 15, - ClassTemplatePartialSpecialization = 16, - FunctionTemplate = 17, - Namespace = 18, - PreprocessedEntity = 19, - MacroDefinition = 20, - MacroExpansion = 21, - TranslationUnit = 22, - Friend = 23, - TemplateTemplateParm = 24, - TemplateTypeParm = 25, - NonTypeTemplateParm = 26, - VarTemplate = 27, - VarTemplateSpecialization = 28, - VarTemplatePartialSpecialization = 29 - } - - public enum AccessSpecifier - { - Private = 0, - Protected = 1, - Public = 2 - } - - public enum MacroLocation - { - Unknown = 0, - ClassHead = 1, - ClassBody = 2, - FunctionHead = 3, - FunctionParameters = 4, - FunctionBody = 5 - } - public enum RawCommentKind { Invalid = 0, @@ -121,176 +48,6 @@ namespace CppSharp VerbatimBlockLineComment = 14 } - public enum FriendKind - { - None = 0, - Declared = 1, - Undeclared = 2 - } - - public enum CXXOperatorKind - { - None = 0, - New = 1, - Delete = 2, - ArrayNew = 3, - ArrayDelete = 4, - Plus = 5, - Minus = 6, - Star = 7, - Slash = 8, - Percent = 9, - Caret = 10, - Amp = 11, - Pipe = 12, - Tilde = 13, - Exclaim = 14, - Equal = 15, - Less = 16, - Greater = 17, - PlusEqual = 18, - MinusEqual = 19, - StarEqual = 20, - SlashEqual = 21, - PercentEqual = 22, - CaretEqual = 23, - AmpEqual = 24, - PipeEqual = 25, - LessLess = 26, - GreaterGreater = 27, - LessLessEqual = 28, - GreaterGreaterEqual = 29, - EqualEqual = 30, - ExclaimEqual = 31, - LessEqual = 32, - GreaterEqual = 33, - Spaceship = 34, - AmpAmp = 35, - PipePipe = 36, - PlusPlus = 37, - MinusMinus = 38, - Comma = 39, - ArrowStar = 40, - Arrow = 41, - Call = 42, - Subscript = 43, - Conditional = 44, - Coawait = 45 - } - - public enum CallingConvention - { - Default = 0, - C = 1, - StdCall = 2, - ThisCall = 3, - FastCall = 4, - Unknown = 5 - } - - public enum StatementClass - { - Any = 0, - BinaryOperator = 1, - CallExprClass = 2, - DeclRefExprClass = 3, - CXXConstructExprClass = 4, - CXXOperatorCallExpr = 5, - ImplicitCastExpr = 6, - ExplicitCastExpr = 7 - } - - public enum TemplateSpecializationKind - { - Undeclared = 0, - ImplicitInstantiation = 1, - ExplicitSpecialization = 2, - ExplicitInstantiationDeclaration = 3, - ExplicitInstantiationDefinition = 4 - } - - public enum CXXMethodKind - { - Normal = 0, - Constructor = 1, - Destructor = 2, - Conversion = 3, - Operator = 4, - UsingDirective = 5 - } - - public enum RefQualifierKind - { - None = 0, - LValue = 1, - RValue = 2 - } - - public enum CppAbi - { - Itanium = 0, - Microsoft = 1, - ARM = 2, - iOS = 3, - iOS64 = 4 - } - - public enum VTableComponentKind - { - VCallOffset = 0, - VBaseOffset = 1, - OffsetToTop = 2, - RTTI = 3, - FunctionPointer = 4, - CompleteDtorPointer = 5, - DeletingDtorPointer = 6, - UnusedFunctionPointer = 7 - } - - public enum PrimitiveType - { - Null = 0, - Void = 1, - Bool = 2, - WideChar = 3, - Char = 4, - SChar = 5, - UChar = 6, - Char16 = 7, - Char32 = 8, - Short = 9, - UShort = 10, - Int = 11, - UInt = 12, - Long = 13, - ULong = 14, - LongLong = 15, - ULongLong = 16, - Int128 = 17, - UInt128 = 18, - Half = 19, - Float = 20, - Double = 21, - LongDouble = 22, - Float128 = 23, - IntPtr = 24 - } - - public enum ExceptionSpecType - { - None = 0, - DynamicNone = 1, - Dynamic = 2, - MSAny = 3, - BasicNoexcept = 4, - DependentNoexcept = 5, - NoexceptFalse = 6, - NoexceptTrue = 7, - Unevaluated = 8, - Uninstantiated = 9, - Unparsed = 10 - } - public enum ArchType { UnknownArch = 0, @@ -298,78 +55,129 @@ namespace CppSharp X86_64 = 2 } - public unsafe partial class Type : IDisposable + public unsafe partial class NativeLibrary : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 80)] public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C fileName; - [FieldOffset(4)] - internal byte isDependent; + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.ArchType archType; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST4TypeC2ENS1_8TypeKindE")] - internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.TypeKind kind); + [FieldOffset(32)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S_allocator__S0_ Symbols; + + [FieldOffset(56)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S_allocator__S0_ Dependencies; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST4TypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibraryC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibraryC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibraryD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary10getSymbolsEj")] + internal static extern global::System.IntPtr GetSymbols(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary10addSymbolsEPKc")] + internal static extern void AddSymbols(global::System.IntPtr __instance, [MarshalAs(UnmanagedType.LPStr)] string s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary12clearSymbolsEv")] + internal static extern void ClearSymbols(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary15getDependenciesEj")] + internal static extern global::System.IntPtr GetDependencies(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary15addDependenciesEPKc")] + internal static extern void AddDependencies(global::System.IntPtr __instance, [MarshalAs(UnmanagedType.LPStr)] string s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary17clearDependenciesEv")] + internal static extern void ClearDependencies(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary15getSymbolsCountEv")] + internal static extern uint GetSymbolsCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary20getDependenciesCountEv")] + internal static extern uint GetDependenciesCount(global::System.IntPtr __instance); } public global::System.IntPtr __Instance { get; protected set; } protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); protected internal void*[] __OriginalVTables; protected bool __ownsNativeInstance; - internal static global::CppSharp.Parser.AST.Type __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.NativeLibrary __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Type(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.NativeLibrary(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Type __CreateInstance(global::CppSharp.Parser.AST.Type.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.NativeLibrary __CreateInstance(global::CppSharp.Parser.AST.NativeLibrary.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Type(native, skipVTables); + return new global::CppSharp.Parser.AST.NativeLibrary(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Type.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.NativeLibrary.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Type.__Internal)); - global::CppSharp.Parser.AST.Type.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); + global::CppSharp.Parser.AST.NativeLibrary.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Type(global::CppSharp.Parser.AST.Type.__Internal native, bool skipVTables = false) + private NativeLibrary(global::CppSharp.Parser.AST.NativeLibrary.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Type(void* native, bool skipVTables = false) + protected NativeLibrary(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public Type(global::CppSharp.Parser.AST.TypeKind kind) + public NativeLibrary() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Type.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), kind); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public Type(global::CppSharp.Parser.AST.Type _0) + public NativeLibrary(global::CppSharp.Parser.AST.NativeLibrary _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Type.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -387,117 +195,167 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Type __dummy; + global::CppSharp.Parser.AST.NativeLibrary __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - public static implicit operator global::CppSharp.Parser.AST.Type(global::CppSharp.Parser.AST.TypeKind kind) + public string GetSymbols(uint i) { - return new global::CppSharp.Parser.AST.Type(kind); + var __ret = __Internal.GetSymbols((__Instance + __PointerAdjustment), i); + return Marshal.PtrToStringAnsi(__ret); } - public global::CppSharp.Parser.AST.TypeKind Kind + public void AddSymbols(string s) + { + __Internal.AddSymbols((__Instance + __PointerAdjustment), s); + } + + public void ClearSymbols() + { + __Internal.ClearSymbols((__Instance + __PointerAdjustment)); + } + + public string GetDependencies(uint i) + { + var __ret = __Internal.GetDependencies((__Instance + __PointerAdjustment), i); + return Marshal.PtrToStringAnsi(__ret); + } + + public void AddDependencies(string s) + { + __Internal.AddDependencies((__Instance + __PointerAdjustment), s); + } + + public void ClearDependencies() + { + __Internal.ClearDependencies((__Instance + __PointerAdjustment)); + } + + public string FileName { get { - return ((global::CppSharp.Parser.AST.Type.__Internal*) __Instance)->kind; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.NativeLibrary.__Internal*) __Instance)->fileName)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.Type.__Internal*)__Instance)->kind = value; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.NativeLibrary.__Internal*)__Instance)->fileName), value); } } - public bool IsDependent + public global::CppSharp.Parser.AST.ArchType ArchType { get { - return ((global::CppSharp.Parser.AST.Type.__Internal*) __Instance)->isDependent != 0; + return ((global::CppSharp.Parser.AST.NativeLibrary.__Internal*) __Instance)->archType; } set { - ((global::CppSharp.Parser.AST.Type.__Internal*)__Instance)->isDependent = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.NativeLibrary.__Internal*)__Instance)->archType = value; + } + } + + public uint SymbolsCount + { + get + { + var __ret = __Internal.GetSymbolsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public uint DependenciesCount + { + get + { + var __ret = __Internal.GetDependenciesCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class TypeQualifiers : IDisposable + public unsafe partial class Comment : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 3)] + [StructLayout(LayoutKind.Explicit, Size = 4)] public partial struct __Internal { [FieldOffset(0)] - internal byte isConst; - - [FieldOffset(1)] - internal byte isVolatile; + internal global::CppSharp.Parser.AST.CommentKind kind; - [FieldOffset(2)] - internal byte isRestrict; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST7CommentC2ENS1_11CommentKindE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.CommentKind kind); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14TypeQualifiersC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST7CommentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); } public global::System.IntPtr __Instance { get; protected set; } protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); protected internal void*[] __OriginalVTables; protected bool __ownsNativeInstance; - internal static global::CppSharp.Parser.AST.TypeQualifiers __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Comment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypeQualifiers(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Comment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TypeQualifiers __CreateInstance(global::CppSharp.Parser.AST.TypeQualifiers.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Comment __CreateInstance(global::CppSharp.Parser.AST.Comment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypeQualifiers(native, skipVTables); + return new global::CppSharp.Parser.AST.Comment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypeQualifiers.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Comment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeQualifiers.__Internal)); - *(global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) ret = native; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); + *(global::CppSharp.Parser.AST.Comment.__Internal*) ret = native; return ret.ToPointer(); } - private TypeQualifiers(global::CppSharp.Parser.AST.TypeQualifiers.__Internal native, bool skipVTables = false) + private Comment(global::CppSharp.Parser.AST.Comment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TypeQualifiers(void* native, bool skipVTables = false) + protected Comment(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public TypeQualifiers(global::CppSharp.Parser.AST.TypeQualifiers _0) + public Comment(global::CppSharp.Parser.AST.CommentKind kind) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeQualifiers.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) _0.__Instance); + __Internal.ctor((__Instance + __PointerAdjustment), kind); } - public TypeQualifiers() + public Comment(global::CppSharp.Parser.AST.Comment _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeQualifiers.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.Comment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.Comment.__Internal*) _0.__Instance); } public void Dispose() @@ -509,228 +367,194 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.TypeQualifiers __dummy; + global::CppSharp.Parser.AST.Comment __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - public bool IsConst - { - get - { - return ((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) __Instance)->isConst != 0; - } - - set - { - ((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*)__Instance)->isConst = (byte) (value ? 1 : 0); - } - } - - public bool IsVolatile + public static implicit operator global::CppSharp.Parser.AST.Comment(global::CppSharp.Parser.AST.CommentKind kind) { - get - { - return ((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) __Instance)->isVolatile != 0; - } - - set - { - ((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*)__Instance)->isVolatile = (byte) (value ? 1 : 0); - } + return new global::CppSharp.Parser.AST.Comment(kind); } - public bool IsRestrict + public global::CppSharp.Parser.AST.CommentKind Kind { get { - return ((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) __Instance)->isRestrict != 0; + return ((global::CppSharp.Parser.AST.Comment.__Internal*) __Instance)->kind; } set { - ((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*)__Instance)->isRestrict = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Comment.__Internal*)__Instance)->kind = value; } } } - public unsafe partial class QualifiedType : IDisposable + public unsafe partial class BlockContentComment : global::CppSharp.Parser.AST.Comment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 16)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 4)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::System.IntPtr type; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.TypeQualifiers.__Internal qualifiers; + internal global::CppSharp.Parser.AST.CommentKind kind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13QualifiedTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockContentCommentC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13QualifiedTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockContentCommentC2ENS1_11CommentKindE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.CommentKind Kind); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockContentCommentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); } - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.QualifiedType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.BlockContentComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.QualifiedType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.BlockContentComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.QualifiedType __CreateInstance(global::CppSharp.Parser.AST.QualifiedType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.BlockContentComment __CreateInstance(global::CppSharp.Parser.AST.BlockContentComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.QualifiedType(native, skipVTables); + return new global::CppSharp.Parser.AST.BlockContentComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.QualifiedType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.BlockContentComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.QualifiedType.__Internal)); - *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) ret = native; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); + *(global::CppSharp.Parser.AST.BlockContentComment.__Internal*) ret = native; return ret.ToPointer(); } - private QualifiedType(global::CppSharp.Parser.AST.QualifiedType.__Internal native, bool skipVTables = false) + private BlockContentComment(global::CppSharp.Parser.AST.BlockContentComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected QualifiedType(void* native, bool skipVTables = false) + protected BlockContentComment(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public QualifiedType() + public BlockContentComment() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.QualifiedType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public QualifiedType(global::CppSharp.Parser.AST.QualifiedType _0) + public BlockContentComment(global::CppSharp.Parser.AST.CommentKind Kind) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.QualifiedType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.QualifiedType.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.QualifiedType.__Internal*) _0.__Instance); - } - - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.QualifiedType __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + __Internal.ctor((__Instance + __PointerAdjustment), Kind); } - public global::CppSharp.Parser.AST.Type Type + public BlockContentComment(global::CppSharp.Parser.AST.BlockContentComment _0) + : this((void*) null) { - get - { - global::CppSharp.Parser.AST.Type __result0; - if (((global::CppSharp.Parser.AST.QualifiedType.__Internal*) __Instance)->type == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.QualifiedType.__Internal*) __Instance)->type)) - __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((global::CppSharp.Parser.AST.QualifiedType.__Internal*) __Instance)->type]; - else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((global::CppSharp.Parser.AST.QualifiedType.__Internal*) __Instance)->type); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.QualifiedType.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.BlockContentComment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BlockContentComment.__Internal*) _0.__Instance); } - public global::CppSharp.Parser.AST.TypeQualifiers Qualifiers + public static implicit operator global::CppSharp.Parser.AST.BlockContentComment(global::CppSharp.Parser.AST.CommentKind Kind) { - get - { - return global::CppSharp.Parser.AST.TypeQualifiers.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.QualifiedType.__Internal*) __Instance)->qualifiers)); - } - - set - { - ((global::CppSharp.Parser.AST.QualifiedType.__Internal*)__Instance)->qualifiers = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.TypeQualifiers.__Internal() : *(global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) value.__Instance; - } + return new global::CppSharp.Parser.AST.BlockContentComment(Kind); } } - public unsafe partial class TagType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class FullComment : global::CppSharp.Parser.AST.Comment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 16)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - internal byte isDependent; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(8)] - internal global::System.IntPtr declaration; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BlockContentComment___N_std_N___1_S_allocator__S0_ Blocks; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST7TagTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11FullCommentC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST7TagTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST11FullCommentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11FullCommentD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11FullComment9getBlocksEj")] + internal static extern global::System.IntPtr GetBlocks(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11FullComment9addBlocksERPNS1_19BlockContentCommentE")] + internal static extern void AddBlocks(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11FullComment11clearBlocksEv")] + internal static extern void ClearBlocks(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11FullComment14getBlocksCountEv")] + internal static extern uint GetBlocksCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.TagType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.FullComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TagType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.FullComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TagType __CreateInstance(global::CppSharp.Parser.AST.TagType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.FullComment __CreateInstance(global::CppSharp.Parser.AST.FullComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TagType(native, skipVTables); + return new global::CppSharp.Parser.AST.FullComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TagType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.FullComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); - global::CppSharp.Parser.AST.TagType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); + global::CppSharp.Parser.AST.FullComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TagType(global::CppSharp.Parser.AST.TagType.__Internal native, bool skipVTables = false) + private FullComment(global::CppSharp.Parser.AST.FullComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TagType(void* native, bool skipVTables = false) + protected FullComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -739,19 +563,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TagType() + public FullComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TagType(global::CppSharp.Parser.AST.TagType _0) + public FullComment(global::CppSharp.Parser.AST.FullComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -760,92 +584,105 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.Declaration Declaration + public override void Dispose(bool disposing) { - get - { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration); - return __result0; - } + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Comment __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } - set + public global::CppSharp.Parser.AST.BlockContentComment GetBlocks(uint i) + { + var __ret = __Internal.GetBlocks((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.BlockContentComment __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.BlockContentComment.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.BlockContentComment) global::CppSharp.Parser.AST.BlockContentComment.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.BlockContentComment.__CreateInstance(__ret); + return __result0; + } + + public void AddBlocks(global::CppSharp.Parser.AST.BlockContentComment s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddBlocks((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearBlocks() + { + __Internal.ClearBlocks((__Instance + __PointerAdjustment)); + } + + public uint BlocksCount + { + get { - ((global::CppSharp.Parser.AST.TagType.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + var __ret = __Internal.GetBlocksCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class ArrayType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class InlineContentComment : global::CppSharp.Parser.AST.Comment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(4)] - internal byte isDependent; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - - [FieldOffset(24)] - internal global::CppSharp.Parser.AST.ArrayType.ArraySize sizeType; - - [FieldOffset(32)] - internal long size; - - [FieldOffset(40)] - internal long elementSize; + internal byte hasTrailingNewline; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9ArrayTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST20InlineContentCommentC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9ArrayTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST20InlineContentCommentC2ENS1_11CommentKindE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.CommentKind Kind); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20InlineContentCommentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); } - public enum ArraySize + internal static new global::CppSharp.Parser.AST.InlineContentComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - Constant = 0, - Variable = 1, - Dependent = 2, - Incomplete = 3 + return new global::CppSharp.Parser.AST.InlineContentComment(native.ToPointer(), skipVTables); } - internal static new global::CppSharp.Parser.AST.ArrayType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.InlineContentComment __CreateInstance(global::CppSharp.Parser.AST.InlineContentComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ArrayType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.InlineContentComment(native, skipVTables); } - internal static global::CppSharp.Parser.AST.ArrayType __CreateInstance(global::CppSharp.Parser.AST.ArrayType.__Internal native, bool skipVTables = false) + private static void* __CopyValue(global::CppSharp.Parser.AST.InlineContentComment.__Internal native) { - return new global::CppSharp.Parser.AST.ArrayType(native, skipVTables); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal)); + *(global::CppSharp.Parser.AST.InlineContentComment.__Internal*) ret = native; + return ret.ToPointer(); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ArrayType.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); - global::CppSharp.Parser.AST.ArrayType.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private ArrayType(global::CppSharp.Parser.AST.ArrayType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + private InlineContentComment(global::CppSharp.Parser.AST.InlineContentComment.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected ArrayType(void* native, bool skipVTables = false) + protected InlineContentComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -854,164 +691,127 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public ArrayType() + public InlineContentComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public ArrayType(global::CppSharp.Parser.AST.ArrayType _0) + public InlineContentComment(global::CppSharp.Parser.AST.CommentKind Kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } - - public global::CppSharp.Parser.AST.QualifiedType QualifiedType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->qualifiedType)); - } - - set - { - ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } + __Internal.ctor((__Instance + __PointerAdjustment), Kind); } - public global::CppSharp.Parser.AST.ArrayType.ArraySize SizeType + public InlineContentComment(global::CppSharp.Parser.AST.InlineContentComment _0) + : this((void*) null) { - get - { - return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->sizeType; - } - - set - { - ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->sizeType = value; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.InlineContentComment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.InlineContentComment.__Internal*) _0.__Instance); } - public long Size + public static implicit operator global::CppSharp.Parser.AST.InlineContentComment(global::CppSharp.Parser.AST.CommentKind Kind) { - get - { - return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->size; - } - - set - { - ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->size = value; - } + return new global::CppSharp.Parser.AST.InlineContentComment(Kind); } - public long ElementSize + public bool HasTrailingNewline { get { - return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->elementSize; + return ((global::CppSharp.Parser.AST.InlineContentComment.__Internal*) __Instance)->hasTrailingNewline != 0; } set { - ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->elementSize = value; + ((global::CppSharp.Parser.AST.InlineContentComment.__Internal*)__Instance)->hasTrailingNewline = (byte) (value ? 1 : 0); } } } - public unsafe partial class FunctionType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class ParagraphComment : global::CppSharp.Parser.AST.BlockContentComment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 56)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(4)] - internal byte isDependent; + internal byte isWhitespace; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; - - [FieldOffset(24)] - internal global::CppSharp.Parser.AST.CallingConvention callingConvention; - - [FieldOffset(28)] - internal global::CppSharp.Parser.AST.ExceptionSpecType exceptionSpecType; - - [FieldOffset(32)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_N___1_S_allocator__S0_ Parameters; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_InlineContentComment___N_std_N___1_S_allocator__S0_ Content; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST16ParagraphCommentC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST16ParagraphCommentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionTypeD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST16ParagraphCommentD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType13getParametersEj")] - internal static extern global::System.IntPtr GetParameters(global::System.IntPtr __instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST16ParagraphComment10getContentEj")] + internal static extern global::System.IntPtr GetContent(global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType13addParametersERPNS1_9ParameterE")] - internal static extern void AddParameters(global::System.IntPtr __instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST16ParagraphComment10addContentERPNS1_20InlineContentCommentE")] + internal static extern void AddContent(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType15clearParametersEv")] - internal static extern void ClearParameters(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST16ParagraphComment12clearContentEv")] + internal static extern void ClearContent(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType18getParametersCountEv")] - internal static extern uint GetParametersCount(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST16ParagraphComment15getContentCountEv")] + internal static extern uint GetContentCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.FunctionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.ParagraphComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FunctionType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.ParagraphComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.FunctionType __CreateInstance(global::CppSharp.Parser.AST.FunctionType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.ParagraphComment __CreateInstance(global::CppSharp.Parser.AST.ParagraphComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FunctionType(native, skipVTables); + return new global::CppSharp.Parser.AST.ParagraphComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ParagraphComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); - global::CppSharp.Parser.AST.FunctionType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParagraphComment.__Internal)); + global::CppSharp.Parser.AST.ParagraphComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private FunctionType(global::CppSharp.Parser.AST.FunctionType.__Internal native, bool skipVTables = false) + private ParagraphComment(global::CppSharp.Parser.AST.ParagraphComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected FunctionType(void* native, bool skipVTables = false) + protected ParagraphComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -1020,19 +820,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public FunctionType() + public ParagraphComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParagraphComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public FunctionType(global::CppSharp.Parser.AST.FunctionType _0) + public ParagraphComment(global::CppSharp.Parser.AST.ParagraphComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParagraphComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -1045,7 +845,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Type __dummy; + global::CppSharp.Parser.AST.Comment __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -1054,246 +854,253 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.Parameter GetParameters(uint i) + public global::CppSharp.Parser.AST.InlineContentComment GetContent(uint i) { - var __ret = __Internal.GetParameters((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Parameter __result0; + var __ret = __Internal.GetContent((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.InlineContentComment __result0; if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Parameter.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Parameter) global::CppSharp.Parser.AST.Parameter.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Parameter.__CreateInstance(__ret); + else if (global::CppSharp.Parser.AST.InlineContentComment.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.InlineContentComment) global::CppSharp.Parser.AST.InlineContentComment.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.InlineContentComment.__CreateInstance(__ret); return __result0; } - public void AddParameters(global::CppSharp.Parser.AST.Parameter s) + public void AddContent(global::CppSharp.Parser.AST.InlineContentComment s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddParameters((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearParameters() - { - __Internal.ClearParameters((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.QualifiedType ReturnType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->returnType)); - } - - set - { - ((global::CppSharp.Parser.AST.FunctionType.__Internal*)__Instance)->returnType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } + __Internal.AddContent((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.CallingConvention CallingConvention + public void ClearContent() { - get - { - return ((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->callingConvention; - } - - set - { - ((global::CppSharp.Parser.AST.FunctionType.__Internal*)__Instance)->callingConvention = value; - } + __Internal.ClearContent((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.ExceptionSpecType ExceptionSpecType + public bool IsWhitespace { get { - return ((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->exceptionSpecType; + return ((global::CppSharp.Parser.AST.ParagraphComment.__Internal*) __Instance)->isWhitespace != 0; } set { - ((global::CppSharp.Parser.AST.FunctionType.__Internal*)__Instance)->exceptionSpecType = value; + ((global::CppSharp.Parser.AST.ParagraphComment.__Internal*)__Instance)->isWhitespace = (byte) (value ? 1 : 0); } } - public uint ParametersCount + public uint ContentCount { get { - var __ret = __Internal.GetParametersCount((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetContentCount((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class PointerType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class BlockCommandComment : global::CppSharp.Parser.AST.BlockContentComment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(4)] - internal byte isDependent; + internal uint commandId; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedPointee; + internal global::System.IntPtr paragraphComment; - [FieldOffset(24)] - internal global::CppSharp.Parser.AST.PointerType.TypeModifier modifier; + [FieldOffset(16)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_N___1_S_allocator__S0_ Arguments; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11PointerTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandCommentC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11PointerTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandCommentC2ENS1_11CommentKindE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.CommentKind Kind); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandCommentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - } - public enum TypeModifier - { - Value = 0, - Pointer = 1, - LVReference = 2, - RVReference = 3 - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandCommentD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); - internal static new global::CppSharp.Parser.AST.PointerType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.PointerType(native.ToPointer(), skipVTables); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandComment12getArgumentsEj")] + internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); - internal static global::CppSharp.Parser.AST.PointerType __CreateInstance(global::CppSharp.Parser.AST.PointerType.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.PointerType(native, skipVTables); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandComment12addArgumentsERNS2_8ArgumentE")] + internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); - private static void* __CopyValue(global::CppSharp.Parser.AST.PointerType.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); - global::CppSharp.Parser.AST.PointerType.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandComment14clearArgumentsEv")] + internal static extern void ClearArguments(global::System.IntPtr __instance); - private PointerType(global::CppSharp.Parser.AST.PointerType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandComment17getArgumentsCountEv")] + internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); } - protected PointerType(void* native, bool skipVTables = false) - : base((void*) null) + public unsafe partial class Argument : IDisposable { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [StructLayout(LayoutKind.Explicit, Size = 24)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C text; - public PointerType() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandComment8ArgumentC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); - public PointerType(global::CppSharp.Parser.AST.PointerType _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandComment8ArgumentC2ERKS3_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - public global::CppSharp.Parser.AST.QualifiedType QualifiedPointee - { - get + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandComment8ArgumentD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.BlockCommandComment.Argument __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->qualifiedPointee)); + return new global::CppSharp.Parser.AST.BlockCommandComment.Argument(native.ToPointer(), skipVTables); } - set + internal static global::CppSharp.Parser.AST.BlockCommandComment.Argument __CreateInstance(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal native, bool skipVTables = false) { - ((global::CppSharp.Parser.AST.PointerType.__Internal*)__Instance)->qualifiedPointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + return new global::CppSharp.Parser.AST.BlockCommandComment.Argument(native, skipVTables); } - } - public global::CppSharp.Parser.AST.PointerType.TypeModifier Modifier - { - get + private static void* __CopyValue(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal native) { - return ((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->modifier; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal)); + global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - set + private Argument(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - ((global::CppSharp.Parser.AST.PointerType.__Internal*)__Instance)->modifier = value; + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; } - } - } - public unsafe partial class MemberPointerType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 24)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + protected Argument(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(4)] - internal byte isDependent; + public Argument() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; + public Argument(global::CppSharp.Parser.AST.BlockCommandComment.Argument _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17MemberPointerTypeC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + public void Dispose() + { + Dispose(disposing: true); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17MemberPointerTypeC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.BlockCommandComment.Argument __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public string Text + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal*) __Instance)->text)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal*)__Instance)->text), value); + } + } } - internal static new global::CppSharp.Parser.AST.MemberPointerType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.BlockCommandComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.MemberPointerType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.BlockCommandComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.MemberPointerType __CreateInstance(global::CppSharp.Parser.AST.MemberPointerType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.BlockCommandComment __CreateInstance(global::CppSharp.Parser.AST.BlockCommandComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.MemberPointerType(native, skipVTables); + return new global::CppSharp.Parser.AST.BlockCommandComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.MemberPointerType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.BlockCommandComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); - global::CppSharp.Parser.AST.MemberPointerType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__Internal)); + global::CppSharp.Parser.AST.BlockCommandComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType.__Internal native, bool skipVTables = false) + private BlockCommandComment(global::CppSharp.Parser.AST.BlockCommandComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected MemberPointerType(void* native, bool skipVTables = false) + protected BlockCommandComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -1302,19 +1109,28 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public MemberPointerType() + public BlockCommandComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType _0) + public BlockCommandComment(global::CppSharp.Parser.AST.CommentKind Kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), Kind); + } + + public BlockCommandComment(global::CppSharp.Parser.AST.BlockCommandComment _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -1323,171 +1139,156 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Pointee + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Comment __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.BlockCommandComment.Argument GetArguments(uint i) + { + var __ret = new global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal(); + __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.BlockCommandComment.Argument.__CreateInstance(__ret); + } + + public void AddArguments(global::CppSharp.Parser.AST.BlockCommandComment.Argument s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearArguments() + { + __Internal.ClearArguments((__Instance + __PointerAdjustment)); + } + + public static implicit operator global::CppSharp.Parser.AST.BlockCommandComment(global::CppSharp.Parser.AST.CommentKind Kind) + { + return new global::CppSharp.Parser.AST.BlockCommandComment(Kind); + } + + public uint CommandId { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MemberPointerType.__Internal*) __Instance)->pointee)); + return ((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*) __Instance)->commandId; } set { - ((global::CppSharp.Parser.AST.MemberPointerType.__Internal*)__Instance)->pointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*)__Instance)->commandId = value; } } - } - public unsafe partial class TypedefType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 16)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - internal byte isDependent; - - [FieldOffset(8)] - internal global::System.IntPtr declaration; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefTypeC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefTypeC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - } - - internal static new global::CppSharp.Parser.AST.TypedefType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.TypedefType(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.TypedefType __CreateInstance(global::CppSharp.Parser.AST.TypedefType.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.TypedefType(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefType.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); - global::CppSharp.Parser.AST.TypedefType.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private TypedefType(global::CppSharp.Parser.AST.TypedefType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected TypedefType(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public TypedefType() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } - - public TypedefType(global::CppSharp.Parser.AST.TypedefType _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } - - public global::CppSharp.Parser.AST.TypedefNameDecl Declaration + public global::CppSharp.Parser.AST.ParagraphComment ParagraphComment { get { - global::CppSharp.Parser.AST.TypedefNameDecl __result0; - if (((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TypedefNameDecl.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration)) - __result0 = (global::CppSharp.Parser.AST.TypedefNameDecl) global::CppSharp.Parser.AST.TypedefNameDecl.NativeToManagedMap[((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration]; - else __result0 = global::CppSharp.Parser.AST.TypedefNameDecl.__CreateInstance(((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration); + global::CppSharp.Parser.AST.ParagraphComment __result0; + if (((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*) __Instance)->paragraphComment == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ParagraphComment.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*) __Instance)->paragraphComment)) + __result0 = (global::CppSharp.Parser.AST.ParagraphComment) global::CppSharp.Parser.AST.ParagraphComment.NativeToManagedMap[((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*) __Instance)->paragraphComment]; + else __result0 = global::CppSharp.Parser.AST.ParagraphComment.__CreateInstance(((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*) __Instance)->paragraphComment); return __result0; } set { - ((global::CppSharp.Parser.AST.TypedefType.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*)__Instance)->paragraphComment = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public uint ArgumentsCount + { + get + { + var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class AttributedType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class ParamCommandComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 48)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(4)] - internal byte isDependent; + internal uint commandId; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal modified; + internal global::System.IntPtr paragraphComment; - [FieldOffset(24)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal equivalent; + [FieldOffset(16)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_N___1_S_allocator__S0_ Arguments; + + [FieldOffset(40)] + internal global::CppSharp.Parser.AST.ParamCommandComment.PassDirection direction; + + [FieldOffset(44)] + internal uint paramIndex; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14AttributedTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST19ParamCommandCommentC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14AttributedTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST19ParamCommandCommentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19ParamCommandCommentD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.AttributedType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public enum PassDirection : uint { - return new global::CppSharp.Parser.AST.AttributedType(native.ToPointer(), skipVTables); + In = 0, + Out = 1, + InOut = 2 } - internal static global::CppSharp.Parser.AST.AttributedType __CreateInstance(global::CppSharp.Parser.AST.AttributedType.__Internal native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.ParamCommandComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.AttributedType(native, skipVTables); + return new global::CppSharp.Parser.AST.ParamCommandComment(native.ToPointer(), skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.AttributedType.__Internal native) + internal static global::CppSharp.Parser.AST.ParamCommandComment __CreateInstance(global::CppSharp.Parser.AST.ParamCommandComment.__Internal native, bool skipVTables = false) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); - global::CppSharp.Parser.AST.AttributedType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return new global::CppSharp.Parser.AST.ParamCommandComment(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ParamCommandComment.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParamCommandComment.__Internal)); + global::CppSharp.Parser.AST.ParamCommandComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private AttributedType(global::CppSharp.Parser.AST.AttributedType.__Internal native, bool skipVTables = false) + private ParamCommandComment(global::CppSharp.Parser.AST.ParamCommandComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected AttributedType(void* native, bool skipVTables = false) + protected ParamCommandComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -1496,19 +1297,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public AttributedType() + public ParamCommandComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParamCommandComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public AttributedType(global::CppSharp.Parser.AST.AttributedType _0) + public ParamCommandComment(global::CppSharp.Parser.AST.ParamCommandComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParamCommandComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -1517,89 +1318,127 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Modified + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Comment __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.ParamCommandComment.PassDirection Direction { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.AttributedType.__Internal*) __Instance)->modified)); + return ((global::CppSharp.Parser.AST.ParamCommandComment.__Internal*) __Instance)->direction; } set { - ((global::CppSharp.Parser.AST.AttributedType.__Internal*)__Instance)->modified = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.ParamCommandComment.__Internal*)__Instance)->direction = value; } } - public global::CppSharp.Parser.AST.QualifiedType Equivalent + public uint ParamIndex { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.AttributedType.__Internal*) __Instance)->equivalent)); + return ((global::CppSharp.Parser.AST.ParamCommandComment.__Internal*) __Instance)->paramIndex; } set { - ((global::CppSharp.Parser.AST.AttributedType.__Internal*)__Instance)->equivalent = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.ParamCommandComment.__Internal*)__Instance)->paramIndex = value; } } } - public unsafe partial class DecayedType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class TParamCommandComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 56)] + [StructLayout(LayoutKind.Explicit, Size = 64)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(4)] - internal byte isDependent; + internal uint commandId; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal decayed; + internal global::System.IntPtr paragraphComment; - [FieldOffset(24)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal original; + [FieldOffset(16)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_N___1_S_allocator__S0_ Arguments; [FieldOffset(40)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector__i___N_std_N___1_S_allocator__i Position; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11DecayedTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST20TParamCommandCommentC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11DecayedTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST20TParamCommandCommentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20TParamCommandCommentD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20TParamCommandComment11getPositionEj")] + internal static extern uint GetPosition(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20TParamCommandComment11addPositionERj")] + internal static extern void AddPosition(global::System.IntPtr __instance, uint* s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20TParamCommandComment13clearPositionEv")] + internal static extern void ClearPosition(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20TParamCommandComment16getPositionCountEv")] + internal static extern uint GetPositionCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.DecayedType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TParamCommandComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.DecayedType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TParamCommandComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.DecayedType __CreateInstance(global::CppSharp.Parser.AST.DecayedType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TParamCommandComment __CreateInstance(global::CppSharp.Parser.AST.TParamCommandComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.DecayedType(native, skipVTables); + return new global::CppSharp.Parser.AST.TParamCommandComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.DecayedType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TParamCommandComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); - global::CppSharp.Parser.AST.DecayedType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TParamCommandComment.__Internal)); + global::CppSharp.Parser.AST.TParamCommandComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private DecayedType(global::CppSharp.Parser.AST.DecayedType.__Internal native, bool skipVTables = false) + private TParamCommandComment(global::CppSharp.Parser.AST.TParamCommandComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected DecayedType(void* native, bool skipVTables = false) + protected TParamCommandComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -1608,19 +1447,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public DecayedType() + public TParamCommandComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TParamCommandComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public DecayedType(global::CppSharp.Parser.AST.DecayedType _0) + public TParamCommandComment(global::CppSharp.Parser.AST.TParamCommandComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TParamCommandComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -1629,296 +1468,241 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Decayed + public override void Dispose(bool disposing) { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->decayed)); - } - - set - { - ((global::CppSharp.Parser.AST.DecayedType.__Internal*)__Instance)->decayed = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Comment __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.QualifiedType Original + public uint GetPosition(uint i) { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->original)); - } + var __ret = __Internal.GetPosition((__Instance + __PointerAdjustment), i); + return __ret; + } - set + public void AddPosition(ref uint s) + { + fixed (uint* __s0 = &s) { - ((global::CppSharp.Parser.AST.DecayedType.__Internal*)__Instance)->original = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + var __arg0 = __s0; + __Internal.AddPosition((__Instance + __PointerAdjustment), __arg0); } } - public global::CppSharp.Parser.AST.QualifiedType Pointee + public void ClearPosition() { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->pointee)); - } + __Internal.ClearPosition((__Instance + __PointerAdjustment)); + } - set + public uint PositionCount + { + get { - ((global::CppSharp.Parser.AST.DecayedType.__Internal*)__Instance)->pointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + var __ret = __Internal.GetPositionCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class TemplateArgument : IDisposable + public unsafe partial class VerbatimBlockLineComment : global::CppSharp.Parser.AST.Comment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 40)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; - - [FieldOffset(24)] - internal global::System.IntPtr declaration; - - [FieldOffset(32)] - internal long integral; + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C text; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16TemplateArgumentC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST24VerbatimBlockLineCommentC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16TemplateArgumentC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST24VerbatimBlockLineCommentC2ERKS2_")] internal static extern void cctor(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 + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24VerbatimBlockLineCommentD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); } - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.TemplateArgument __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.VerbatimBlockLineComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateArgument(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.VerbatimBlockLineComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TemplateArgument __CreateInstance(global::CppSharp.Parser.AST.TemplateArgument.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VerbatimBlockLineComment __CreateInstance(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateArgument(native, skipVTables); + return new global::CppSharp.Parser.AST.VerbatimBlockLineComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateArgument.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); - *(global::CppSharp.Parser.AST.TemplateArgument.__Internal*) ret = native; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal)); + global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument.__Internal native, bool skipVTables = false) + private VerbatimBlockLineComment(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TemplateArgument(void* native, bool skipVTables = false) + protected VerbatimBlockLineComment(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public TemplateArgument() + public VerbatimBlockLineComment() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument _0) + public VerbatimBlockLineComment(global::CppSharp.Parser.AST.VerbatimBlockLineComment _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) _0.__Instance); - } - - public void Dispose() - { - Dispose(disposing: true); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.TemplateArgument __dummy; + global::CppSharp.Parser.AST.Comment __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind Kind - { - get - { - return ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->kind; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->kind = value; - } - } - - public global::CppSharp.Parser.AST.QualifiedType Type - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->type)); - } - - set - { - ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } - - public global::CppSharp.Parser.AST.Declaration Declaration - { - get - { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - - public long Integral + public string Text { get { - return ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->integral; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal*) __Instance)->text)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->integral = value; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal*)__Instance)->text), value); } } } - public unsafe partial class TemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class VerbatimBlockComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 56)] + [StructLayout(LayoutKind.Explicit, Size = 64)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(4)] - internal byte isDependent; + internal uint commandId; [FieldOffset(8)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ Arguments; + internal global::System.IntPtr paragraphComment; - [FieldOffset(32)] - internal global::System.IntPtr _template; + [FieldOffset(16)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_N___1_S_allocator__S0_ Arguments; [FieldOffset(40)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_VerbatimBlockLineComment___N_std_N___1_S_allocator__S0_ Lines; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST20VerbatimBlockCommentC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST20VerbatimBlockCommentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST20VerbatimBlockCommentD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType12getArgumentsEj")] - internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST20VerbatimBlockComment8getLinesEj")] + internal static extern global::System.IntPtr GetLines(global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType12addArgumentsERNS1_16TemplateArgumentE")] - internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST20VerbatimBlockComment8addLinesERPNS1_24VerbatimBlockLineCommentE")] + internal static extern void AddLines(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType14clearArgumentsEv")] - internal static extern void ClearArguments(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST20VerbatimBlockComment10clearLinesEv")] + internal static extern void ClearLines(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType17getArgumentsCountEv")] - internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST20VerbatimBlockComment13getLinesCountEv")] + internal static extern uint GetLinesCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.TemplateSpecializationType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.VerbatimBlockComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateSpecializationType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.VerbatimBlockComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TemplateSpecializationType __CreateInstance(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VerbatimBlockComment __CreateInstance(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateSpecializationType(native, skipVTables); + return new global::CppSharp.Parser.AST.VerbatimBlockComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); - global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal)); + global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native, bool skipVTables = false) + private VerbatimBlockComment(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TemplateSpecializationType(void* native, bool skipVTables = false) + protected VerbatimBlockComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -1927,19 +1711,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TemplateSpecializationType() + public VerbatimBlockComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType _0) + public VerbatimBlockComment(global::CppSharp.Parser.AST.VerbatimBlockComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -1952,7 +1736,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Type __dummy; + global::CppSharp.Parser.AST.Comment __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -1961,145 +1745,101 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) + public global::CppSharp.Parser.AST.VerbatimBlockLineComment GetLines(uint i) { - var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); - __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); + var __ret = __Internal.GetLines((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.VerbatimBlockLineComment __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.VerbatimBlockLineComment.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.VerbatimBlockLineComment) global::CppSharp.Parser.AST.VerbatimBlockLineComment.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.VerbatimBlockLineComment.__CreateInstance(__ret); + return __result0; } - public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + public void AddLines(global::CppSharp.Parser.AST.VerbatimBlockLineComment s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearArguments() - { - __Internal.ClearArguments((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.Template Template - { - get - { - global::CppSharp.Parser.AST.Template __result0; - if (((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Template.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template)) - __result0 = (global::CppSharp.Parser.AST.Template) global::CppSharp.Parser.AST.Template.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template]; - else __result0 = global::CppSharp.Parser.AST.Template.__CreateInstance(((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*)__Instance)->_template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + __Internal.AddLines((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Desugared + public void ClearLines() { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->desugared)); - } - - set - { - ((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*)__Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } + __Internal.ClearLines((__Instance + __PointerAdjustment)); } - public uint ArgumentsCount + public uint LinesCount { get { - var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetLinesCount((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class DependentTemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class VerbatimLineComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 64)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(4)] - internal byte isDependent; + internal uint commandId; [FieldOffset(8)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ Arguments; + internal global::System.IntPtr paragraphComment; - [FieldOffset(32)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; + [FieldOffset(16)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_N___1_S_allocator__S0_ Arguments; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C text; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST19VerbatimLineCommentC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST19VerbatimLineCommentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationTypeD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST19VerbatimLineCommentD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType12getArgumentsEj")] - internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType12addArgumentsERNS1_16TemplateArgumentE")] - internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType14clearArgumentsEv")] - internal static extern void ClearArguments(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType17getArgumentsCountEv")] - internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.DependentTemplateSpecializationType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.VerbatimLineComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.DependentTemplateSpecializationType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.VerbatimLineComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.DependentTemplateSpecializationType __CreateInstance(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VerbatimLineComment __CreateInstance(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.DependentTemplateSpecializationType(native, skipVTables); + return new global::CppSharp.Parser.AST.VerbatimLineComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); - global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal)); + global::CppSharp.Parser.AST.VerbatimLineComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native, bool skipVTables = false) + private VerbatimLineComment(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected DependentTemplateSpecializationType(void* native, bool skipVTables = false) + protected VerbatimLineComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2108,19 +1848,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public DependentTemplateSpecializationType() + public VerbatimLineComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType _0) + public VerbatimLineComment(global::CppSharp.Parser.AST.VerbatimLineComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -2133,7 +1873,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Type __dummy; + global::CppSharp.Parser.AST.Comment __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -2142,266 +1882,229 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) - { - var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); - __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); - } - - public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearArguments() - { - __Internal.ClearArguments((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.QualifiedType Desugared + public string Text { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal*) __Instance)->desugared)); + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VerbatimLineComment.__Internal*) __Instance)->text)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal*)__Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } - - public uint ArgumentsCount - { - get - { - var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); - return __ret; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VerbatimLineComment.__Internal*)__Instance)->text), value); } } } - public unsafe partial class TemplateParameterType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class InlineCommandComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(4)] - internal byte isDependent; + internal byte hasTrailingNewline; [FieldOffset(8)] - internal global::System.IntPtr parameter; - - [FieldOffset(16)] - internal uint depth; + internal uint commandId; - [FieldOffset(20)] - internal uint index; + [FieldOffset(12)] + internal global::CppSharp.Parser.AST.InlineCommandComment.RenderKind commentRenderKind; - [FieldOffset(24)] - internal byte isParameterPack; + [FieldOffset(16)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_InlineCommandComment_S_Argument___N_std_N___1_S_allocator__S0_ Arguments; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandCommentC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandCommentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandCommentD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); - } - internal static new global::CppSharp.Parser.AST.TemplateParameterType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.TemplateParameterType(native.ToPointer(), skipVTables); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandComment12getArgumentsEj")] + internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); - internal static global::CppSharp.Parser.AST.TemplateParameterType __CreateInstance(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.TemplateParameterType(native, skipVTables); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandComment12addArgumentsERNS2_8ArgumentE")] + internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); - global::CppSharp.Parser.AST.TemplateParameterType.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandComment14clearArgumentsEv")] + internal static extern void ClearArguments(global::System.IntPtr __instance); - private TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandComment17getArgumentsCountEv")] + internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); } - protected TemplateParameterType(void* native, bool skipVTables = false) - : base((void*) null) + public enum RenderKind : uint { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); + RenderNormal = 0, + RenderBold = 1, + RenderMonospaced = 2, + RenderEmphasized = 3 } - public TemplateParameterType() - : this((void*) null) + public unsafe partial class Argument : IDisposable { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + [StructLayout(LayoutKind.Explicit, Size = 24)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C text; - public TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandComment8ArgumentC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Type __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandComment8ArgumentC2ERKS3_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - public global::CppSharp.Parser.AST.TypeTemplateParameter Parameter - { - get - { - global::CppSharp.Parser.AST.TypeTemplateParameter __result0; - if (((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TypeTemplateParameter.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter)) - __result0 = (global::CppSharp.Parser.AST.TypeTemplateParameter) global::CppSharp.Parser.AST.TypeTemplateParameter.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter]; - else __result0 = global::CppSharp.Parser.AST.TypeTemplateParameter.__CreateInstance(((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter); - return __result0; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandComment8ArgumentD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); } - set + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.InlineCommandComment.Argument __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->parameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + return new global::CppSharp.Parser.AST.InlineCommandComment.Argument(native.ToPointer(), skipVTables); } - } - public uint Depth - { - get + internal static global::CppSharp.Parser.AST.InlineCommandComment.Argument __CreateInstance(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal native, bool skipVTables = false) { - return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->depth; + return new global::CppSharp.Parser.AST.InlineCommandComment.Argument(native, skipVTables); } - set + private static void* __CopyValue(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal native) { - ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->depth = value; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal)); + global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - } - public uint Index - { - get + private Argument(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->index; + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; } - set + protected Argument(void* native, bool skipVTables = false) { - ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->index = value; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - } - public bool IsParameterPack - { - get + public Argument() { - return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->isParameterPack != 0; + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); } - set + public Argument(global::CppSharp.Parser.AST.InlineCommandComment.Argument _0) { - ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->isParameterPack = (byte) (value ? 1 : 0); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - } - } - - public unsafe partial class TemplateParameterSubstitutionType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 32)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - internal byte isDependent; - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal replacement; + public void Dispose() + { + Dispose(disposing: true); + } - [FieldOffset(24)] - internal global::System.IntPtr replacedParameter; + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.InlineCommandComment.Argument __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST33TemplateParameterSubstitutionTypeC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + public string Text + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal*) __Instance)->text)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST33TemplateParameterSubstitutionTypeC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal*)__Instance)->text), value); + } + } } - internal static new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.InlineCommandComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.InlineCommandComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TemplateParameterSubstitutionType __CreateInstance(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.InlineCommandComment __CreateInstance(global::CppSharp.Parser.AST.InlineCommandComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType(native, skipVTables); + return new global::CppSharp.Parser.AST.InlineCommandComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.InlineCommandComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); - global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.__Internal)); + global::CppSharp.Parser.AST.InlineCommandComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native, bool skipVTables = false) + private InlineCommandComment(global::CppSharp.Parser.AST.InlineCommandComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TemplateParameterSubstitutionType(void* native, bool skipVTables = false) + protected InlineCommandComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2410,19 +2113,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TemplateParameterSubstitutionType() + public InlineCommandComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType _0) + public InlineCommandComment(global::CppSharp.Parser.AST.InlineCommandComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -2431,91 +2134,127 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Replacement + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Comment __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.InlineCommandComment.Argument GetArguments(uint i) + { + var __ret = new global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal(); + __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.InlineCommandComment.Argument.__CreateInstance(__ret); + } + + public void AddArguments(global::CppSharp.Parser.AST.InlineCommandComment.Argument s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearArguments() + { + __Internal.ClearArguments((__Instance + __PointerAdjustment)); + } + + public uint CommandId { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacement)); + return ((global::CppSharp.Parser.AST.InlineCommandComment.__Internal*) __Instance)->commandId; } set { - ((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*)__Instance)->replacement = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.InlineCommandComment.__Internal*)__Instance)->commandId = value; } } - public global::CppSharp.Parser.AST.TemplateParameterType ReplacedParameter + public global::CppSharp.Parser.AST.InlineCommandComment.RenderKind CommentRenderKind { get { - global::CppSharp.Parser.AST.TemplateParameterType __result0; - if (((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TemplateParameterType.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter)) - __result0 = (global::CppSharp.Parser.AST.TemplateParameterType) global::CppSharp.Parser.AST.TemplateParameterType.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter]; - else __result0 = global::CppSharp.Parser.AST.TemplateParameterType.__CreateInstance(((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter); - return __result0; + return ((global::CppSharp.Parser.AST.InlineCommandComment.__Internal*) __Instance)->commentRenderKind; } set { - ((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*)__Instance)->replacedParameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.InlineCommandComment.__Internal*)__Instance)->commentRenderKind = value; + } + } + + public uint ArgumentsCount + { + get + { + var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class InjectedClassNameType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class HTMLTagComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(4)] - internal byte isDependent; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal injectedSpecializationType; - - [FieldOffset(24)] - internal global::System.IntPtr _class; + internal byte hasTrailingNewline; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21InjectedClassNameTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST14HTMLTagCommentC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21InjectedClassNameTypeC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - } + EntryPoint="_ZN8CppSharp9CppParser3AST14HTMLTagCommentC2ENS1_11CommentKindE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.CommentKind Kind); - internal static new global::CppSharp.Parser.AST.InjectedClassNameType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14HTMLTagCommentC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.HTMLTagComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.InjectedClassNameType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.HTMLTagComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.InjectedClassNameType __CreateInstance(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.HTMLTagComment __CreateInstance(global::CppSharp.Parser.AST.HTMLTagComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.InjectedClassNameType(native, skipVTables); + return new global::CppSharp.Parser.AST.HTMLTagComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.HTMLTagComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); - global::CppSharp.Parser.AST.InjectedClassNameType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal)); + *(global::CppSharp.Parser.AST.HTMLTagComment.__Internal*) ret = native; return ret.ToPointer(); } - private InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native, bool skipVTables = false) + private HTMLTagComment(global::CppSharp.Parser.AST.HTMLTagComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected InjectedClassNameType(void* native, bool skipVTables = false) + protected HTMLTagComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2524,236 +2263,253 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public InjectedClassNameType() + public HTMLTagComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType _0) + public HTMLTagComment(global::CppSharp.Parser.AST.CommentKind Kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + __Internal.ctor((__Instance + __PointerAdjustment), Kind); } - public global::CppSharp.Parser.AST.QualifiedType InjectedSpecializationType + public HTMLTagComment(global::CppSharp.Parser.AST.HTMLTagComment _0) + : this((void*) null) { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->injectedSpecializationType)); - } - - set - { - ((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*)__Instance)->injectedSpecializationType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.HTMLTagComment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.HTMLTagComment.__Internal*) _0.__Instance); } - public global::CppSharp.Parser.AST.Class Class + public static implicit operator global::CppSharp.Parser.AST.HTMLTagComment(global::CppSharp.Parser.AST.CommentKind Kind) { - get - { - global::CppSharp.Parser.AST.Class __result0; - if (((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class)) - __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class]; - else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*)__Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + return new global::CppSharp.Parser.AST.HTMLTagComment(Kind); } } - public unsafe partial class DependentNameType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class HTMLStartTagComment : global::CppSharp.Parser.AST.HTMLTagComment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 56)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(4)] - internal byte isDependent; + internal byte hasTrailingNewline; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifier; + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C tagName; - [FieldOffset(24)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C identifier; + [FieldOffset(32)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_HTMLStartTagComment_S_Attribute___N_std_N___1_S_allocator__S0_ Attributes; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17DependentNameTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagCommentC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17DependentNameTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagCommentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17DependentNameTypeD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagCommentD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); - } - internal static new global::CppSharp.Parser.AST.DependentNameType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.DependentNameType(native.ToPointer(), skipVTables); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagComment13getAttributesEj")] + internal static extern void GetAttributes(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); - internal static global::CppSharp.Parser.AST.DependentNameType __CreateInstance(global::CppSharp.Parser.AST.DependentNameType.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.DependentNameType(native, skipVTables); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagComment13addAttributesERNS2_9AttributeE")] + internal static extern void AddAttributes(global::System.IntPtr __instance, global::System.IntPtr s); - private static void* __CopyValue(global::CppSharp.Parser.AST.DependentNameType.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); - global::CppSharp.Parser.AST.DependentNameType.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagComment15clearAttributesEv")] + internal static extern void ClearAttributes(global::System.IntPtr __instance); - private DependentNameType(global::CppSharp.Parser.AST.DependentNameType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagComment18getAttributesCountEv")] + internal static extern uint GetAttributesCount(global::System.IntPtr __instance); } - protected DependentNameType(void* native, bool skipVTables = false) - : base((void*) null) + public unsafe partial class Attribute : IDisposable { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [StructLayout(LayoutKind.Explicit, Size = 48)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - public DependentNameType() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + [FieldOffset(24)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C value; - public DependentNameType(global::CppSharp.Parser.AST.DependentNameType _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagComment9AttributeC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Type __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagComment9AttributeC2ERKS3_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - public global::CppSharp.Parser.AST.QualifiedType Qualifier - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentNameType.__Internal*) __Instance)->qualifier)); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagComment9AttributeD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); } - set + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - ((global::CppSharp.Parser.AST.DependentNameType.__Internal*)__Instance)->qualifier = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + return new global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute(native.ToPointer(), skipVTables); } - } - public string Identifier - { - get + internal static global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute __CreateInstance(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal native, bool skipVTables = false) { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentNameType.__Internal*) __Instance)->identifier)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + return new global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute(native, skipVTables); } - set + private static void* __CopyValue(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal native) { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentNameType.__Internal*)__Instance)->identifier), value); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal)); + global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - } - } - public unsafe partial class PackExpansionType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 8)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + private Attribute(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(4)] - internal byte isDependent; + protected Attribute(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17PackExpansionTypeC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + public Attribute() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17PackExpansionTypeC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - } + public Attribute(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - internal static new global::CppSharp.Parser.AST.PackExpansionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public string Name + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal*) __Instance)->name)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal*)__Instance)->name), value); + } + } + + public string Value + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal*) __Instance)->value)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal*)__Instance)->value), value); + } + } + } + + internal static new global::CppSharp.Parser.AST.HTMLStartTagComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.PackExpansionType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.HTMLStartTagComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.PackExpansionType __CreateInstance(global::CppSharp.Parser.AST.PackExpansionType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.HTMLStartTagComment __CreateInstance(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.PackExpansionType(native, skipVTables); + return new global::CppSharp.Parser.AST.HTMLStartTagComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.PackExpansionType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); - global::CppSharp.Parser.AST.PackExpansionType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal)); + global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private PackExpansionType(global::CppSharp.Parser.AST.PackExpansionType.__Internal native, bool skipVTables = false) + private HTMLStartTagComment(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected PackExpansionType(void* native, bool skipVTables = false) + protected HTMLStartTagComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2762,19 +2518,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public PackExpansionType() + public HTMLStartTagComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public PackExpansionType(global::CppSharp.Parser.AST.PackExpansionType _0) + public HTMLStartTagComment(global::CppSharp.Parser.AST.HTMLStartTagComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -2782,61 +2538,121 @@ namespace CppSharp var __arg0 = _0.__Instance; __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Comment __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute GetAttributes(uint i) + { + var __ret = new global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal(); + __Internal.GetAttributes(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__CreateInstance(__ret); + } + + public void AddAttributes(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddAttributes((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearAttributes() + { + __Internal.ClearAttributes((__Instance + __PointerAdjustment)); + } + + public string TagName + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal*) __Instance)->tagName)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal*)__Instance)->tagName), value); + } + } + + public uint AttributesCount + { + get + { + var __ret = __Internal.GetAttributesCount((__Instance + __PointerAdjustment)); + return __ret; + } + } } - public unsafe partial class UnaryTransformType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class HTMLEndTagComment : global::CppSharp.Parser.AST.HTMLTagComment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(4)] - internal byte isDependent; + internal byte hasTrailingNewline; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; - - [FieldOffset(24)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal baseType; + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C tagName; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18UnaryTransformTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST17HTMLEndTagCommentC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18UnaryTransformTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST17HTMLEndTagCommentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17HTMLEndTagCommentD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.UnaryTransformType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.HTMLEndTagComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.UnaryTransformType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.HTMLEndTagComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.UnaryTransformType __CreateInstance(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.HTMLEndTagComment __CreateInstance(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.UnaryTransformType(native, skipVTables); + return new global::CppSharp.Parser.AST.HTMLEndTagComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); - global::CppSharp.Parser.AST.UnaryTransformType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); + global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native, bool skipVTables = false) + private HTMLEndTagComment(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected UnaryTransformType(void* native, bool skipVTables = false) + protected HTMLEndTagComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2845,19 +2661,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public UnaryTransformType() + public HTMLEndTagComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType _0) + public HTMLEndTagComment(global::CppSharp.Parser.AST.HTMLEndTagComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -2866,86 +2682,91 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Desugared + public override void Dispose(bool disposing) { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*) __Instance)->desugared)); - } - - set - { - ((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*)__Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Comment __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.QualifiedType BaseType + public string TagName { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*) __Instance)->baseType)); + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal*) __Instance)->tagName)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*)__Instance)->baseType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal*)__Instance)->tagName), value); } } } - public unsafe partial class VectorType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class TextComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable { [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(4)] - internal byte isDependent; + internal byte hasTrailingNewline; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal elementType; - - [FieldOffset(24)] - internal uint numElements; + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C text; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10VectorTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11TextCommentC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10VectorTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST11TextCommentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11TextCommentD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.VectorType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TextComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VectorType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TextComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.VectorType __CreateInstance(global::CppSharp.Parser.AST.VectorType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TextComment __CreateInstance(global::CppSharp.Parser.AST.TextComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VectorType(native, skipVTables); + return new global::CppSharp.Parser.AST.TextComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.VectorType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TextComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); - global::CppSharp.Parser.AST.VectorType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); + global::CppSharp.Parser.AST.TextComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private VectorType(global::CppSharp.Parser.AST.VectorType.__Internal native, bool skipVTables = false) + private TextComment(global::CppSharp.Parser.AST.TextComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected VectorType(void* native, bool skipVTables = false) + protected TextComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2954,19 +2775,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public VectorType() + public TextComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public VectorType(global::CppSharp.Parser.AST.VectorType _0) + public TextComment(global::CppSharp.Parser.AST.TextComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -2975,204 +2796,125 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType ElementType + public override void Dispose(bool disposing) { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->elementType)); - } - - set - { - ((global::CppSharp.Parser.AST.VectorType.__Internal*)__Instance)->elementType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Comment __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } - public uint NumElements + public string Text { get { - return ((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->numElements; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TextComment.__Internal*) __Instance)->text)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.VectorType.__Internal*)__Instance)->numElements = value; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TextComment.__Internal*)__Instance)->text), value); } } } - public unsafe partial class BuiltinType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class RawComment : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 12)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 64)] + public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - internal byte isDependent; + internal global::CppSharp.Parser.AST.RawCommentKind kind; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.PrimitiveType type; + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C text; + + [FieldOffset(32)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C briefText; + + [FieldOffset(56)] + internal global::System.IntPtr fullCommentBlock; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11BuiltinTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST10RawCommentC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11BuiltinTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST10RawCommentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - } - - internal static new global::CppSharp.Parser.AST.BuiltinType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.BuiltinType(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.BuiltinType __CreateInstance(global::CppSharp.Parser.AST.BuiltinType.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.BuiltinType(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.BuiltinType.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); - global::CppSharp.Parser.AST.BuiltinType.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private BuiltinType(global::CppSharp.Parser.AST.BuiltinType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected BuiltinType(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public BuiltinType() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } - - public BuiltinType(global::CppSharp.Parser.AST.BuiltinType _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } - - public global::CppSharp.Parser.AST.PrimitiveType Type - { - get - { - return ((global::CppSharp.Parser.AST.BuiltinType.__Internal*) __Instance)->type; - } - - set - { - ((global::CppSharp.Parser.AST.BuiltinType.__Internal*)__Instance)->type = value; - } - } - } - - public unsafe partial class VTableComponent : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 16)] - public partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.VTableComponentKind kind; - - [FieldOffset(4)] - internal uint offset; - - [FieldOffset(8)] - internal global::System.IntPtr declaration; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15VTableComponentC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15VTableComponentC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST10RawCommentD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); } public global::System.IntPtr __Instance { get; protected set; } protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); protected internal void*[] __OriginalVTables; protected bool __ownsNativeInstance; - internal static global::CppSharp.Parser.AST.VTableComponent __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.RawComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VTableComponent(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.RawComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.VTableComponent __CreateInstance(global::CppSharp.Parser.AST.VTableComponent.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.RawComment __CreateInstance(global::CppSharp.Parser.AST.RawComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VTableComponent(native, skipVTables); + return new global::CppSharp.Parser.AST.RawComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.VTableComponent.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.RawComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); - *(global::CppSharp.Parser.AST.VTableComponent.__Internal*) ret = native; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); + global::CppSharp.Parser.AST.RawComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private VTableComponent(global::CppSharp.Parser.AST.VTableComponent.__Internal native, bool skipVTables = false) + private RawComment(global::CppSharp.Parser.AST.RawComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected VTableComponent(void* native, bool skipVTables = false) + protected RawComment(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public VTableComponent() + public RawComment() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public VTableComponent(global::CppSharp.Parser.AST.VTableComponent _0) + public RawComment(global::CppSharp.Parser.AST.RawComment _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.VTableComponent.__Internal*) _0.__Instance); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } public void Dispose() @@ -3184,290 +2926,449 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.VTableComponent __dummy; + global::CppSharp.Parser.AST.RawComment __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.VTableComponentKind Kind + public global::CppSharp.Parser.AST.RawCommentKind Kind { get { - return ((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->kind; + return ((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->kind; } set { - ((global::CppSharp.Parser.AST.VTableComponent.__Internal*)__Instance)->kind = value; + ((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->kind = value; } } - public uint Offset + public string Text { get { - return ((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->offset; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->text)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.VTableComponent.__Internal*)__Instance)->offset = value; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->text), value); } } - public global::CppSharp.Parser.AST.Declaration Declaration + public string BriefText { get { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration); - return __result0; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->briefText)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.VTableComponent.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->briefText), value); } } - } - public unsafe partial class VTableLayout : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 24)] - public partial struct __Internal + public global::CppSharp.Parser.AST.FullComment FullCommentBlock { - [FieldOffset(0)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_VTableComponent___N_std_N___1_S_allocator__S0_ Components; + get + { + global::CppSharp.Parser.AST.FullComment __result0; + if (((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.FullComment.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock)) + __result0 = (global::CppSharp.Parser.AST.FullComment) global::CppSharp.Parser.AST.FullComment.NativeToManagedMap[((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock]; + else __result0 = global::CppSharp.Parser.AST.FullComment.__CreateInstance(((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock); + return __result0; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayoutC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + set + { + ((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->fullCommentBlock = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + } + } +} - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayoutC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); +namespace CppSharp +{ + namespace Parser + { + public unsafe partial struct SourceLocation + { + [StructLayout(LayoutKind.Explicit, Size = 4)] + public partial struct __Internal + { + [FieldOffset(0)] + internal uint ID; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayoutD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser14SourceLocationC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout13getComponentsEj")] - internal static extern global::CppSharp.Parser.AST.VTableComponent.__Internal GetComponents(global::System.IntPtr __instance, uint i); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser14SourceLocationC2Ej")] + internal static extern void ctor(global::System.IntPtr __instance, uint ID); - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout13addComponentsERNS1_15VTableComponentE")] - internal static extern void AddComponents(global::System.IntPtr __instance, global::System.IntPtr s); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser14SourceLocationC2ERKS1_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout15clearComponentsEv")] - internal static extern void ClearComponents(global::System.IntPtr __instance); + private SourceLocation.__Internal __instance; + internal SourceLocation.__Internal __Instance { get { return __instance; } } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout18getComponentsCountEv")] - internal static extern uint GetComponentsCount(global::System.IntPtr __instance); - } + internal static global::CppSharp.Parser.SourceLocation __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.SourceLocation(native.ToPointer(), skipVTables); + } - public global::System.IntPtr __Instance { get; protected set; } + internal static global::CppSharp.Parser.SourceLocation __CreateInstance(global::CppSharp.Parser.SourceLocation.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.SourceLocation(native, skipVTables); + } - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; + private SourceLocation(global::CppSharp.Parser.SourceLocation.__Internal native, bool skipVTables = false) + : this() + { + __instance = native; + } - protected bool __ownsNativeInstance; + private SourceLocation(void* native, bool skipVTables = false) : this() + { + __instance = *(global::CppSharp.Parser.SourceLocation.__Internal*) native; + } - internal static global::CppSharp.Parser.AST.VTableLayout __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public SourceLocation(uint ID) + : this() + { + fixed (__Internal* __instancePtr = &__instance) { - return new global::CppSharp.Parser.AST.VTableLayout(native.ToPointer(), skipVTables); + __Internal.ctor(new global::System.IntPtr(__instancePtr), ID); } + } - internal static global::CppSharp.Parser.AST.VTableLayout __CreateInstance(global::CppSharp.Parser.AST.VTableLayout.__Internal native, bool skipVTables = false) + public SourceLocation(global::CppSharp.Parser.SourceLocation _0) + : this() + { + var ____arg0 = _0.__Instance; + var __arg0 = new global::System.IntPtr(&____arg0); + fixed (__Internal* __instancePtr = &__instance) { - return new global::CppSharp.Parser.AST.VTableLayout(native, skipVTables); + __Internal.cctor(new global::System.IntPtr(__instancePtr), __arg0); } + } - private static void* __CopyValue(global::CppSharp.Parser.AST.VTableLayout.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); - global::CppSharp.Parser.AST.VTableLayout.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + public static implicit operator global::CppSharp.Parser.SourceLocation(uint ID) + { + return new global::CppSharp.Parser.SourceLocation(ID); + } - private VTableLayout(global::CppSharp.Parser.AST.VTableLayout.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + public uint ID + { + get { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + return __instance.ID; } - protected VTableLayout(void* native, bool skipVTables = false) + set { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); + __instance.ID = value; } + } + } - public VTableLayout() - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + public unsafe partial class SourceRange : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 8)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; - public VTableLayout(global::CppSharp.Parser.AST.VTableLayout _0) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; - public void Dispose() - { - Dispose(disposing: true); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser11SourceRangeC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.VTableLayout __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser11SourceRangeC2ERKS1_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } - public global::CppSharp.Parser.AST.VTableComponent GetComponents(uint i) - { - var __ret = __Internal.GetComponents((__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.VTableComponent.__CreateInstance(__ret); - } + public global::System.IntPtr __Instance { get; protected set; } - public void AddComponents(global::CppSharp.Parser.AST.VTableComponent s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddComponents((__Instance + __PointerAdjustment), __arg0); - } + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; - public void ClearComponents() - { - __Internal.ClearComponents((__Instance + __PointerAdjustment)); - } + protected bool __ownsNativeInstance; - public uint ComponentsCount - { - get - { - var __ret = __Internal.GetComponentsCount((__Instance + __PointerAdjustment)); - return __ret; - } - } + internal static global::CppSharp.Parser.SourceRange __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.SourceRange(native.ToPointer(), skipVTables); } - public unsafe partial class VFTableInfo : IDisposable + internal static global::CppSharp.Parser.SourceRange __CreateInstance(global::CppSharp.Parser.SourceRange.__Internal native, bool skipVTables = false) { - [StructLayout(LayoutKind.Explicit, Size = 40)] - public partial struct __Internal - { - [FieldOffset(0)] - internal ulong VBTableIndex; + return new global::CppSharp.Parser.SourceRange(native, skipVTables); + } - [FieldOffset(8)] - internal uint VFPtrOffset; + private static void* __CopyValue(global::CppSharp.Parser.SourceRange.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.SourceRange.__Internal)); + *(global::CppSharp.Parser.SourceRange.__Internal*) ret = native; + return ret.ToPointer(); + } - [FieldOffset(12)] - internal uint VFPtrFullOffset; + private SourceRange(global::CppSharp.Parser.SourceRange.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(16)] - internal global::CppSharp.Parser.AST.VTableLayout.__Internal layout; + protected SourceRange(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VFTableInfoC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + public SourceRange() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.SourceRange.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VFTableInfoC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + public SourceRange(global::CppSharp.Parser.SourceRange _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.SourceRange.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.SourceRange.__Internal*) __Instance) = *((global::CppSharp.Parser.SourceRange.__Internal*) _0.__Instance); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VFTableInfoD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); - } + public void Dispose() + { + Dispose(disposing: true); + } - public global::System.IntPtr __Instance { get; protected set; } + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.SourceRange __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; + public global::CppSharp.Parser.SourceLocation BeginLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.SourceRange.__Internal*) __Instance)->beginLoc); + } - protected bool __ownsNativeInstance; + set + { + ((global::CppSharp.Parser.SourceRange.__Internal*)__Instance)->beginLoc = value.__Instance; + } + } - internal static global::CppSharp.Parser.AST.VFTableInfo __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::CppSharp.Parser.SourceLocation EndLoc + { + get { - return new global::CppSharp.Parser.AST.VFTableInfo(native.ToPointer(), skipVTables); + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.SourceRange.__Internal*) __Instance)->endLoc); } - internal static global::CppSharp.Parser.AST.VFTableInfo __CreateInstance(global::CppSharp.Parser.AST.VFTableInfo.__Internal native, bool skipVTables = false) + set { - return new global::CppSharp.Parser.AST.VFTableInfo(native, skipVTables); + ((global::CppSharp.Parser.SourceRange.__Internal*)__Instance)->endLoc = value.__Instance; } + } + } + } +} - private static void* __CopyValue(global::CppSharp.Parser.AST.VFTableInfo.__Internal native) +namespace CppSharp +{ + namespace Parser + { + namespace AST + { + public enum TypeKind + { + Tag = 0, + Array = 1, + Function = 2, + Pointer = 3, + MemberPointer = 4, + Typedef = 5, + Attributed = 6, + Decayed = 7, + TemplateSpecialization = 8, + DependentTemplateSpecialization = 9, + TemplateParameter = 10, + TemplateParameterSubstitution = 11, + InjectedClassName = 12, + DependentName = 13, + PackExpansion = 14, + Builtin = 15, + UnaryTransform = 16, + Vector = 17 + } + + public enum CallingConvention + { + Default = 0, + C = 1, + StdCall = 2, + ThisCall = 3, + FastCall = 4, + Unknown = 5 + } + + public enum PrimitiveType + { + Null = 0, + Void = 1, + Bool = 2, + WideChar = 3, + Char = 4, + SChar = 5, + UChar = 6, + Char16 = 7, + Char32 = 8, + Short = 9, + UShort = 10, + Int = 11, + UInt = 12, + Long = 13, + ULong = 14, + LongLong = 15, + ULongLong = 16, + Int128 = 17, + UInt128 = 18, + Half = 19, + Float = 20, + Double = 21, + LongDouble = 22, + Float128 = 23, + IntPtr = 24 + } + + public enum ExceptionSpecType + { + None = 0, + DynamicNone = 1, + Dynamic = 2, + MSAny = 3, + BasicNoexcept = 4, + DependentNoexcept = 5, + NoexceptFalse = 6, + NoexceptTrue = 7, + Unevaluated = 8, + Uninstantiated = 9, + Unparsed = 10 + } + + public unsafe partial class Type : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 8)] + public partial struct __Internal { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); - global::CppSharp.Parser.AST.VFTableInfo.__Internal.cctor(ret, new global::System.IntPtr(&native)); + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + internal byte isDependent; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST4TypeC2ENS1_8TypeKindE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.TypeKind kind); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST4TypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.Type __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Type(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.Type __CreateInstance(global::CppSharp.Parser.AST.Type.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Type(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.Type.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Type.__Internal)); + global::CppSharp.Parser.AST.Type.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private VFTableInfo(global::CppSharp.Parser.AST.VFTableInfo.__Internal native, bool skipVTables = false) + private Type(global::CppSharp.Parser.AST.Type.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected VFTableInfo(void* native, bool skipVTables = false) + protected Type(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public VFTableInfo() + public Type(global::CppSharp.Parser.AST.TypeKind kind) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Type.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + __Internal.ctor((__Instance + __PointerAdjustment), kind); } - public VFTableInfo(global::CppSharp.Parser.AST.VFTableInfo _0) + public Type(global::CppSharp.Parser.AST.Type _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Type.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -3485,157 +3386,117 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.VFTableInfo __dummy; + global::CppSharp.Parser.AST.Type __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - public ulong VBTableIndex - { - get - { - return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VBTableIndex; - } - - set - { - ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->VBTableIndex = value; - } - } - - public uint VFPtrOffset + public static implicit operator global::CppSharp.Parser.AST.Type(global::CppSharp.Parser.AST.TypeKind kind) { - get - { - return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VFPtrOffset; - } - - set - { - ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->VFPtrOffset = value; - } + return new global::CppSharp.Parser.AST.Type(kind); } - public uint VFPtrFullOffset + public global::CppSharp.Parser.AST.TypeKind Kind { get { - return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VFPtrFullOffset; + return ((global::CppSharp.Parser.AST.Type.__Internal*) __Instance)->kind; } set { - ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->VFPtrFullOffset = value; + ((global::CppSharp.Parser.AST.Type.__Internal*)__Instance)->kind = value; } } - public global::CppSharp.Parser.AST.VTableLayout Layout + public bool IsDependent { get { - return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->layout)); + return ((global::CppSharp.Parser.AST.Type.__Internal*) __Instance)->isDependent != 0; } set { - ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->layout = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.VTableLayout.__Internal() : *(global::CppSharp.Parser.AST.VTableLayout.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.Type.__Internal*)__Instance)->isDependent = (byte) (value ? 1 : 0); } } } - public unsafe partial class LayoutField : IDisposable + public unsafe partial class TypeQualifiers : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 56)] + [StructLayout(LayoutKind.Explicit, Size = 3)] public partial struct __Internal { [FieldOffset(0)] - internal uint offset; - - [FieldOffset(8)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - - [FieldOffset(32)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - - [FieldOffset(48)] - internal global::System.IntPtr fieldPtr; + internal byte isConst; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutFieldC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + [FieldOffset(1)] + internal byte isVolatile; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutFieldC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr other); + [FieldOffset(2)] + internal byte isRestrict; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutFieldD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST14TypeQualifiersC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); } public global::System.IntPtr __Instance { get; protected set; } protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); protected internal void*[] __OriginalVTables; protected bool __ownsNativeInstance; - internal static global::CppSharp.Parser.AST.LayoutField __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TypeQualifiers __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.LayoutField(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TypeQualifiers(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.LayoutField __CreateInstance(global::CppSharp.Parser.AST.LayoutField.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TypeQualifiers __CreateInstance(global::CppSharp.Parser.AST.TypeQualifiers.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.LayoutField(native, skipVTables); + return new global::CppSharp.Parser.AST.TypeQualifiers(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.LayoutField.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypeQualifiers.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); - global::CppSharp.Parser.AST.LayoutField.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeQualifiers.__Internal)); + *(global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) ret = native; return ret.ToPointer(); } - private LayoutField(global::CppSharp.Parser.AST.LayoutField.__Internal native, bool skipVTables = false) + private TypeQualifiers(global::CppSharp.Parser.AST.TypeQualifiers.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected LayoutField(void* native, bool skipVTables = false) + protected TypeQualifiers(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public LayoutField() + public TypeQualifiers(global::CppSharp.Parser.AST.TypeQualifiers _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeQualifiers.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + *((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) _0.__Instance); } - public LayoutField(global::CppSharp.Parser.AST.LayoutField other) + public TypeQualifiers() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeQualifiers.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(other, null)) - throw new global::System.ArgumentNullException("other", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = other.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } public void Dispose() @@ -3647,154 +3508,128 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.LayoutField __dummy; + global::CppSharp.Parser.AST.TypeQualifiers __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - public uint Offset - { - get - { - return ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->offset; - } - - set - { - ((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->offset = value; - } - } - - public string Name + public bool IsConst { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->name)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + return ((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) __Instance)->isConst != 0; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->name), value); + ((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*)__Instance)->isConst = (byte) (value ? 1 : 0); } } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType + public bool IsVolatile { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->qualifiedType)); + return ((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) __Instance)->isVolatile != 0; } set { - ((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*)__Instance)->isVolatile = (byte) (value ? 1 : 0); } } - public global::System.IntPtr FieldPtr + public bool IsRestrict { get { - return ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->fieldPtr; + return ((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) __Instance)->isRestrict != 0; } set { - ((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->fieldPtr = (global::System.IntPtr) value; + ((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*)__Instance)->isRestrict = (byte) (value ? 1 : 0); } } } - public unsafe partial class LayoutBase : IDisposable + public unsafe partial class QualifiedType : IDisposable { [StructLayout(LayoutKind.Explicit, Size = 16)] public partial struct __Internal { [FieldOffset(0)] - internal uint offset; + internal global::System.IntPtr type; [FieldOffset(8)] - internal global::System.IntPtr _class; + internal global::CppSharp.Parser.AST.TypeQualifiers.__Internal qualifiers; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10LayoutBaseC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST13QualifiedTypeC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10LayoutBaseC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr other); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10LayoutBaseD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST13QualifiedTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); } public global::System.IntPtr __Instance { get; protected set; } protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); protected internal void*[] __OriginalVTables; protected bool __ownsNativeInstance; - internal static global::CppSharp.Parser.AST.LayoutBase __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.QualifiedType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.LayoutBase(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.QualifiedType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.LayoutBase __CreateInstance(global::CppSharp.Parser.AST.LayoutBase.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.QualifiedType __CreateInstance(global::CppSharp.Parser.AST.QualifiedType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.LayoutBase(native, skipVTables); + return new global::CppSharp.Parser.AST.QualifiedType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.LayoutBase.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.QualifiedType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); - global::CppSharp.Parser.AST.LayoutBase.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.QualifiedType.__Internal)); + *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) ret = native; return ret.ToPointer(); } - private LayoutBase(global::CppSharp.Parser.AST.LayoutBase.__Internal native, bool skipVTables = false) + private QualifiedType(global::CppSharp.Parser.AST.QualifiedType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected LayoutBase(void* native, bool skipVTables = false) + protected QualifiedType(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public LayoutBase() + public QualifiedType() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.QualifiedType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public LayoutBase(global::CppSharp.Parser.AST.LayoutBase other) + public QualifiedType(global::CppSharp.Parser.AST.QualifiedType _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.QualifiedType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(other, null)) - throw new global::System.ArgumentNullException("other", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = other.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + *((global::CppSharp.Parser.AST.QualifiedType.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.QualifiedType.__Internal*) _0.__Instance); } public void Dispose() @@ -3806,208 +3641,116 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.LayoutBase __dummy; + global::CppSharp.Parser.AST.QualifiedType __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - public uint Offset + public global::CppSharp.Parser.AST.Type Type { get { - return ((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->offset; + global::CppSharp.Parser.AST.Type __result0; + if (((global::CppSharp.Parser.AST.QualifiedType.__Internal*) __Instance)->type == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.QualifiedType.__Internal*) __Instance)->type)) + __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((global::CppSharp.Parser.AST.QualifiedType.__Internal*) __Instance)->type]; + else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((global::CppSharp.Parser.AST.QualifiedType.__Internal*) __Instance)->type); + return __result0; } set { - ((global::CppSharp.Parser.AST.LayoutBase.__Internal*)__Instance)->offset = value; + ((global::CppSharp.Parser.AST.QualifiedType.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public global::CppSharp.Parser.AST.Class Class + public global::CppSharp.Parser.AST.TypeQualifiers Qualifiers { get { - global::CppSharp.Parser.AST.Class __result0; - if (((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class)) - __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class]; - else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class); - return __result0; + return global::CppSharp.Parser.AST.TypeQualifiers.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.QualifiedType.__Internal*) __Instance)->qualifiers)); } set { - ((global::CppSharp.Parser.AST.LayoutBase.__Internal*)__Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.QualifiedType.__Internal*)__Instance)->qualifiers = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.TypeQualifiers.__Internal() : *(global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) value.__Instance; } } } - public unsafe partial class ClassLayout : IDisposable + public unsafe partial class TagType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 136)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 16)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CppAbi ABI; - - [FieldOffset(8)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_VFTableInfo___N_std_N___1_S_allocator__S0_ VFTables; - - [FieldOffset(32)] - internal global::CppSharp.Parser.AST.VTableLayout.__Internal layout; - - [FieldOffset(56)] - internal byte hasOwnVFPtr; - - [FieldOffset(64)] - internal long VBPtrOffset; - - [FieldOffset(72)] - internal int alignment; - - [FieldOffset(76)] - internal int size; - - [FieldOffset(80)] - internal int dataSize; + internal global::CppSharp.Parser.AST.TypeKind kind; - [FieldOffset(88)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_LayoutField___N_std_N___1_S_allocator__S0_ Fields; + [FieldOffset(4)] + internal byte isDependent; - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_LayoutBase___N_std_N___1_S_allocator__S0_ Bases; + [FieldOffset(8)] + internal global::System.IntPtr declaration; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayoutC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST7TagTypeC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayoutC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST7TagTypeC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayoutD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout11getVFTablesEj")] - internal static extern void GetVFTables(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout11addVFTablesERNS1_11VFTableInfoE")] - internal static extern void AddVFTables(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout13clearVFTablesEv")] - internal static extern void ClearVFTables(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout9getFieldsEj")] - internal static extern void GetFields(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout9addFieldsERNS1_11LayoutFieldE")] - internal static extern void AddFields(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout11clearFieldsEv")] - internal static extern void ClearFields(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout8getBasesEj")] - internal static extern void GetBases(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout8addBasesERNS1_10LayoutBaseE")] - internal static extern void AddBases(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout10clearBasesEv")] - internal static extern void ClearBases(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout16getVFTablesCountEv")] - internal static extern uint GetVFTablesCount(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout14getFieldsCountEv")] - internal static extern uint GetFieldsCount(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout13getBasesCountEv")] - internal static extern uint GetBasesCount(global::System.IntPtr __instance); } - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.ClassLayout __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TagType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ClassLayout(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TagType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.ClassLayout __CreateInstance(global::CppSharp.Parser.AST.ClassLayout.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TagType __CreateInstance(global::CppSharp.Parser.AST.TagType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ClassLayout(native, skipVTables); + return new global::CppSharp.Parser.AST.TagType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ClassLayout.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TagType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); - global::CppSharp.Parser.AST.ClassLayout.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); + global::CppSharp.Parser.AST.TagType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private ClassLayout(global::CppSharp.Parser.AST.ClassLayout.__Internal native, bool skipVTables = false) + private TagType(global::CppSharp.Parser.AST.TagType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected ClassLayout(void* native, bool skipVTables = false) + protected TagType(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public ClassLayout() + public TagType() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public ClassLayout(global::CppSharp.Parser.AST.ClassLayout _0) + public TagType(global::CppSharp.Parser.AST.TagType _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -4016,374 +3759,279 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public void Dispose() + public global::CppSharp.Parser.AST.Declaration Declaration { - Dispose(disposing: true); - } + get + { + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration); + return __result0; + } - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.ClassLayout __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + set + { + ((global::CppSharp.Parser.AST.TagType.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } } + } - public global::CppSharp.Parser.AST.VFTableInfo GetVFTables(uint i) + public unsafe partial class ArrayType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal { - var __ret = new global::CppSharp.Parser.AST.VFTableInfo.__Internal(); - __Internal.GetVFTables(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.VFTableInfo.__CreateInstance(__ret); - } + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; - public void AddVFTables(global::CppSharp.Parser.AST.VFTableInfo s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddVFTables((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(4)] + internal byte isDependent; - public void ClearVFTables() - { - __Internal.ClearVFTables((__Instance + __PointerAdjustment)); - } + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - public global::CppSharp.Parser.AST.LayoutField GetFields(uint i) - { - var __ret = new global::CppSharp.Parser.AST.LayoutField.__Internal(); - __Internal.GetFields(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.LayoutField.__CreateInstance(__ret); - } + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.ArrayType.ArraySize sizeType; - public void AddFields(global::CppSharp.Parser.AST.LayoutField s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddFields((__Instance + __PointerAdjustment), __arg0); + [FieldOffset(32)] + internal long size; + + [FieldOffset(40)] + internal long elementSize; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9ArrayTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9ArrayTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); } - public void ClearFields() + public enum ArraySize { - __Internal.ClearFields((__Instance + __PointerAdjustment)); + Constant = 0, + Variable = 1, + Dependent = 2, + Incomplete = 3 } - public global::CppSharp.Parser.AST.LayoutBase GetBases(uint i) + internal static new global::CppSharp.Parser.AST.ArrayType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - var __ret = new global::CppSharp.Parser.AST.LayoutBase.__Internal(); - __Internal.GetBases(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.LayoutBase.__CreateInstance(__ret); + return new global::CppSharp.Parser.AST.ArrayType(native.ToPointer(), skipVTables); } - public void AddBases(global::CppSharp.Parser.AST.LayoutBase s) + internal static global::CppSharp.Parser.AST.ArrayType __CreateInstance(global::CppSharp.Parser.AST.ArrayType.__Internal native, bool skipVTables = false) { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddBases((__Instance + __PointerAdjustment), __arg0); + return new global::CppSharp.Parser.AST.ArrayType(native, skipVTables); } - public void ClearBases() + private static void* __CopyValue(global::CppSharp.Parser.AST.ArrayType.__Internal native) { - __Internal.ClearBases((__Instance + __PointerAdjustment)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); + global::CppSharp.Parser.AST.ArrayType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - public global::CppSharp.Parser.AST.CppAbi ABI + private ArrayType(global::CppSharp.Parser.AST.ArrayType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - get - { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->ABI; - } - - set - { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->ABI = value; - } + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; } - public global::CppSharp.Parser.AST.VTableLayout Layout + protected ArrayType(void* native, bool skipVTables = false) + : base((void*) null) { - get - { - return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->layout)); - } - - set - { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->layout = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.VTableLayout.__Internal() : *(global::CppSharp.Parser.AST.VTableLayout.__Internal*) value.__Instance; - } + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - public bool HasOwnVFPtr + public ArrayType() + : this((void*) null) { - get - { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->hasOwnVFPtr != 0; - } - - set - { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->hasOwnVFPtr = (byte) (value ? 1 : 0); - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); } - public long VBPtrOffset + public ArrayType(global::CppSharp.Parser.AST.ArrayType _0) + : this((void*) null) { - get - { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->VBPtrOffset; - } - - set - { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->VBPtrOffset = value; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public int Alignment + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { get { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->alignment; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->qualifiedType)); } set { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->alignment = value; + ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public int Size + public global::CppSharp.Parser.AST.ArrayType.ArraySize SizeType { get { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->size; + return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->sizeType; } set { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->size = value; + ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->sizeType = value; } } - public int DataSize + public long Size { get { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->dataSize; + return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->size; } set { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->dataSize = value; - } - } - - public uint VFTablesCount - { - get - { - var __ret = __Internal.GetVFTablesCount((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->size = value; } } - public uint FieldsCount + public long ElementSize { get { - var __ret = __Internal.GetFieldsCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->elementSize; } - } - public uint BasesCount - { - get + set { - var __ret = __Internal.GetBasesCount((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->elementSize = value; } } } - public unsafe partial class Declaration : IDisposable + public unsafe partial class FunctionType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 200)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - internal int maxFieldAlignment; + internal byte isDependent; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + internal global::CppSharp.Parser.AST.CallingConvention callingConvention; [FieldOffset(28)] - internal int lineNumberStart; + internal global::CppSharp.Parser.AST.ExceptionSpecType exceptionSpecType; [FieldOffset(32)] - internal int lineNumberEnd; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_N___1_S_allocator__S0_ Parameters; - [FieldOffset(64)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - - [FieldOffset(88)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; - - [FieldOffset(112)] - internal byte isIncomplete; - - [FieldOffset(113)] - internal byte isDependent; - - [FieldOffset(114)] - internal byte isImplicit; - - [FieldOffset(115)] - internal byte isInvalid; - - [FieldOffset(120)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(128)] - internal uint definitionOrder; - - [FieldOffset(136)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; - - [FieldOffset(184)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(192)] - internal global::System.IntPtr comment; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11DeclarationC2ENS1_15DeclarationKindE")] - internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.DeclarationKind kind); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11DeclarationC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionTypeC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11DeclarationD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionTypeD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration23getPreprocessedEntitiesEj")] - internal static extern global::System.IntPtr GetPreprocessedEntities(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration23addPreprocessedEntitiesERPNS1_18PreprocessedEntityE")] - internal static extern void AddPreprocessedEntities(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration25clearPreprocessedEntitiesEv")] - internal static extern void ClearPreprocessedEntities(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration17getRedeclarationsEj")] - internal static extern global::System.IntPtr GetRedeclarations(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration17addRedeclarationsERPS2_")] - internal static extern void AddRedeclarations(global::System.IntPtr __instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType13getParametersEj")] + internal static extern global::System.IntPtr GetParameters(global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration19clearRedeclarationsEv")] - internal static extern void ClearRedeclarations(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType13addParametersERPNS1_9ParameterE")] + internal static extern void AddParameters(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration28getPreprocessedEntitiesCountEv")] - internal static extern uint GetPreprocessedEntitiesCount(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType15clearParametersEv")] + internal static extern void ClearParameters(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration22getRedeclarationsCountEv")] - internal static extern uint GetRedeclarationsCount(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType18getParametersCountEv")] + internal static extern uint GetParametersCount(global::System.IntPtr __instance); } - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.Declaration __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.FunctionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Declaration(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.FunctionType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Declaration __CreateInstance(global::CppSharp.Parser.AST.Declaration.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.FunctionType __CreateInstance(global::CppSharp.Parser.AST.FunctionType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Declaration(native, skipVTables); + return new global::CppSharp.Parser.AST.FunctionType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Declaration.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); - global::CppSharp.Parser.AST.Declaration.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); + global::CppSharp.Parser.AST.FunctionType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Declaration(global::CppSharp.Parser.AST.Declaration.__Internal native, bool skipVTables = false) + private FunctionType(global::CppSharp.Parser.AST.FunctionType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Declaration(void* native, bool skipVTables = false) + protected FunctionType(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public Declaration(global::CppSharp.Parser.AST.DeclarationKind kind) + public FunctionType() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), kind); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public Declaration(global::CppSharp.Parser.AST.Declaration _0) + public FunctionType(global::CppSharp.Parser.AST.FunctionType _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -4392,16 +4040,11 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.Type __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -4410,655 +4053,552 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.PreprocessedEntity GetPreprocessedEntities(uint i) - { - var __ret = __Internal.GetPreprocessedEntities((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.PreprocessedEntity __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.PreprocessedEntity.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.PreprocessedEntity) global::CppSharp.Parser.AST.PreprocessedEntity.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.PreprocessedEntity.__CreateInstance(__ret); - return __result0; - } - - public void AddPreprocessedEntities(global::CppSharp.Parser.AST.PreprocessedEntity s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddPreprocessedEntities((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearPreprocessedEntities() - { - __Internal.ClearPreprocessedEntities((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.Declaration GetRedeclarations(uint i) + public global::CppSharp.Parser.AST.Parameter GetParameters(uint i) { - var __ret = __Internal.GetRedeclarations((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Declaration __result0; + var __ret = __Internal.GetParameters((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Parameter __result0; if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(__ret); + else if (global::CppSharp.Parser.AST.Parameter.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Parameter) global::CppSharp.Parser.AST.Parameter.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Parameter.__CreateInstance(__ret); return __result0; } - public void AddRedeclarations(global::CppSharp.Parser.AST.Declaration s) + public void AddParameters(global::CppSharp.Parser.AST.Parameter s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddRedeclarations((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearRedeclarations() - { - __Internal.ClearRedeclarations((__Instance + __PointerAdjustment)); + __Internal.AddParameters((__Instance + __PointerAdjustment), __arg0); } - public static implicit operator global::CppSharp.Parser.AST.Declaration(global::CppSharp.Parser.AST.DeclarationKind kind) + public void ClearParameters() { - return new global::CppSharp.Parser.AST.Declaration(kind); + __Internal.ClearParameters((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.DeclarationKind Kind + public global::CppSharp.Parser.AST.QualifiedType ReturnType { get { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->kind; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->returnType)); } set { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->kind = value; + ((global::CppSharp.Parser.AST.FunctionType.__Internal*)__Instance)->returnType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public int MaxFieldAlignment + public global::CppSharp.Parser.AST.CallingConvention CallingConvention { get { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->maxFieldAlignment; + return ((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->callingConvention; } set { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->maxFieldAlignment = value; + ((global::CppSharp.Parser.AST.FunctionType.__Internal*)__Instance)->callingConvention = value; } } - public global::CppSharp.Parser.AST.AccessSpecifier Access + public global::CppSharp.Parser.AST.ExceptionSpecType ExceptionSpecType { get { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->access; + return ((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->exceptionSpecType; } set { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->access = value; + ((global::CppSharp.Parser.AST.FunctionType.__Internal*)__Instance)->exceptionSpecType = value; } } - public global::CppSharp.Parser.AST.DeclarationContext Namespace + public uint ParametersCount { get { - global::CppSharp.Parser.AST.DeclarationContext __result0; - if (((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.DeclarationContext.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace)) - __result0 = (global::CppSharp.Parser.AST.DeclarationContext) global::CppSharp.Parser.AST.DeclarationContext.NativeToManagedMap[((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace]; - else __result0 = global::CppSharp.Parser.AST.DeclarationContext.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->_namespace = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + var __ret = __Internal.GetParametersCount((__Instance + __PointerAdjustment)); + return __ret; } } + } - public global::CppSharp.Parser.SourceLocation Location + public unsafe partial class PointerType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal { - get - { - return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->location); - } + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->location = value.__Instance; - } - } + [FieldOffset(4)] + internal byte isDependent; - public int LineNumberStart - { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->lineNumberStart; - } + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedPointee; - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->lineNumberStart = value; - } + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.PointerType.TypeModifier modifier; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11PointerTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11PointerTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); } - public int LineNumberEnd + public enum TypeModifier { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->lineNumberEnd; - } - - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->lineNumberEnd = value; - } + Value = 0, + Pointer = 1, + LVReference = 2, + RVReference = 3 } - public string Name + internal static new global::CppSharp.Parser.AST.PointerType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->name)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->name), value); - } + return new global::CppSharp.Parser.AST.PointerType(native.ToPointer(), skipVTables); } - public string USR + internal static global::CppSharp.Parser.AST.PointerType __CreateInstance(global::CppSharp.Parser.AST.PointerType.__Internal native, bool skipVTables = false) { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->USR)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + return new global::CppSharp.Parser.AST.PointerType(native, skipVTables); + } - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->USR), value); - } + private static void* __CopyValue(global::CppSharp.Parser.AST.PointerType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); + global::CppSharp.Parser.AST.PointerType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - public string DebugText + private PointerType(global::CppSharp.Parser.AST.PointerType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->debugText)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->debugText), value); - } + protected PointerType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - public bool IsIncomplete + public PointerType() + : this((void*) null) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isIncomplete != 0; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isIncomplete = (byte) (value ? 1 : 0); - } + public PointerType(global::CppSharp.Parser.AST.PointerType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public bool IsDependent + public global::CppSharp.Parser.AST.QualifiedType QualifiedPointee { get { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isDependent != 0; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->qualifiedPointee)); } set { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isDependent = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.PointerType.__Internal*)__Instance)->qualifiedPointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public bool IsImplicit + public global::CppSharp.Parser.AST.PointerType.TypeModifier Modifier { get { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isImplicit != 0; + return ((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->modifier; } set { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isImplicit = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.PointerType.__Internal*)__Instance)->modifier = value; } } + } - public bool IsInvalid + public unsafe partial class MemberPointerType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public new partial struct __Internal { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isInvalid != 0; - } + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isInvalid = (byte) (value ? 1 : 0); - } + [FieldOffset(4)] + internal byte isDependent; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17MemberPointerTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17MemberPointerTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); } - public global::CppSharp.Parser.AST.Declaration CompleteDeclaration + internal static new global::CppSharp.Parser.AST.MemberPointerType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - get - { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->completeDeclaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + return new global::CppSharp.Parser.AST.MemberPointerType(native.ToPointer(), skipVTables); } - public uint DefinitionOrder + internal static global::CppSharp.Parser.AST.MemberPointerType __CreateInstance(global::CppSharp.Parser.AST.MemberPointerType.__Internal native, bool skipVTables = false) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->definitionOrder; - } + return new global::CppSharp.Parser.AST.MemberPointerType(native, skipVTables); + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->definitionOrder = value; - } + private static void* __CopyValue(global::CppSharp.Parser.AST.MemberPointerType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); + global::CppSharp.Parser.AST.MemberPointerType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - public global::System.IntPtr OriginalPtr + private MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->originalPtr; - } + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->originalPtr = (global::System.IntPtr) value; - } + protected MemberPointerType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - public global::CppSharp.Parser.AST.RawComment Comment + public MemberPointerType() + : this((void*) null) { - get - { - global::CppSharp.Parser.AST.RawComment __result0; - if (((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.RawComment.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment)) - __result0 = (global::CppSharp.Parser.AST.RawComment) global::CppSharp.Parser.AST.RawComment.NativeToManagedMap[((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment]; - else __result0 = global::CppSharp.Parser.AST.RawComment.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment); - return __result0; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->comment = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + public MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public uint PreprocessedEntitiesCount + public global::CppSharp.Parser.AST.QualifiedType Pointee { get { - var __ret = __Internal.GetPreprocessedEntitiesCount((__Instance + __PointerAdjustment)); - return __ret; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MemberPointerType.__Internal*) __Instance)->pointee)); } - } - public uint RedeclarationsCount - { - get + set { - var __ret = __Internal.GetRedeclarationsCount((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.MemberPointerType.__Internal*)__Instance)->pointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } } - public unsafe partial class DeclarationContext : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class TypedefType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 448)] + [StructLayout(LayoutKind.Explicit, Size = 16)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - internal int maxFieldAlignment; + internal byte isDependent; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; + internal global::System.IntPtr declaration; - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); - [FieldOffset(28)] - internal int lineNumberStart; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } - [FieldOffset(32)] - internal int lineNumberEnd; + internal static new global::CppSharp.Parser.AST.TypedefType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TypedefType(native.ToPointer(), skipVTables); + } - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + internal static global::CppSharp.Parser.AST.TypedefType __CreateInstance(global::CppSharp.Parser.AST.TypedefType.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TypedefType(native, skipVTables); + } - [FieldOffset(64)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); + global::CppSharp.Parser.AST.TypedefType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(88)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + private TypedefType(global::CppSharp.Parser.AST.TypedefType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(112)] - internal byte isIncomplete; + protected TypedefType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(113)] - internal byte isDependent; + public TypedefType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [FieldOffset(114)] - internal byte isImplicit; + public TypedefType(global::CppSharp.Parser.AST.TypedefType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(115)] - internal byte isInvalid; + public global::CppSharp.Parser.AST.TypedefNameDecl Declaration + { + get + { + global::CppSharp.Parser.AST.TypedefNameDecl __result0; + if (((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TypedefNameDecl.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration)) + __result0 = (global::CppSharp.Parser.AST.TypedefNameDecl) global::CppSharp.Parser.AST.TypedefNameDecl.NativeToManagedMap[((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration]; + else __result0 = global::CppSharp.Parser.AST.TypedefNameDecl.__CreateInstance(((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration); + return __result0; + } - [FieldOffset(120)] - internal global::System.IntPtr completeDeclaration; + set + { + ((global::CppSharp.Parser.AST.TypedefType.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } - [FieldOffset(128)] - internal uint definitionOrder; + public unsafe partial class AttributedType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; - [FieldOffset(136)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + [FieldOffset(4)] + internal byte isDependent; - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal modified; - [FieldOffset(184)] - internal global::System.IntPtr originalPtr; + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal equivalent; - [FieldOffset(192)] - internal global::System.IntPtr comment; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14AttributedTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); - [FieldOffset(200)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14AttributedTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } - [FieldOffset(224)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; + internal static new global::CppSharp.Parser.AST.AttributedType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AttributedType(native.ToPointer(), skipVTables); + } - [FieldOffset(248)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; + internal static global::CppSharp.Parser.AST.AttributedType __CreateInstance(global::CppSharp.Parser.AST.AttributedType.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AttributedType(native, skipVTables); + } - [FieldOffset(272)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; + private static void* __CopyValue(global::CppSharp.Parser.AST.AttributedType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + global::CppSharp.Parser.AST.AttributedType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(296)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; + private AttributedType(global::CppSharp.Parser.AST.AttributedType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(320)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; + protected AttributedType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(344)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; + public AttributedType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [FieldOffset(368)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; + public AttributedType(global::CppSharp.Parser.AST.AttributedType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(392)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; + public global::CppSharp.Parser.AST.QualifiedType Modified + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.AttributedType.__Internal*) __Instance)->modified)); + } - [FieldOffset(416)] - internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; + set + { + ((global::CppSharp.Parser.AST.AttributedType.__Internal*)__Instance)->modified = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } - [FieldOffset(440)] - internal byte isAnonymous; + public global::CppSharp.Parser.AST.QualifiedType Equivalent + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.AttributedType.__Internal*) __Instance)->equivalent)); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContextC2ENS1_15DeclarationKindE")] - internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.DeclarationKind kind); + set + { + ((global::CppSharp.Parser.AST.AttributedType.__Internal*)__Instance)->equivalent = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContextC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + public unsafe partial class DecayedType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContextD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); + [FieldOffset(4)] + internal byte isDependent; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext13getNamespacesEj")] - internal static extern global::System.IntPtr GetNamespaces(global::System.IntPtr __instance, uint i); + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal decayed; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext13addNamespacesERPNS1_9NamespaceE")] - internal static extern void AddNamespaces(global::System.IntPtr __instance, global::System.IntPtr s); + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal original; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext15clearNamespacesEv")] - internal static extern void ClearNamespaces(global::System.IntPtr __instance); + [FieldOffset(40)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext8getEnumsEj")] - internal static extern global::System.IntPtr GetEnums(global::System.IntPtr __instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST11DecayedTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext8addEnumsERPNS1_11EnumerationE")] - internal static extern void AddEnums(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10clearEnumsEv")] - internal static extern void ClearEnums(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12getFunctionsEj")] - internal static extern global::System.IntPtr GetFunctions(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12addFunctionsERPNS1_8FunctionE")] - internal static extern void AddFunctions(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14clearFunctionsEv")] - internal static extern void ClearFunctions(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10getClassesEj")] - internal static extern global::System.IntPtr GetClasses(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10addClassesERPNS1_5ClassE")] - internal static extern void AddClasses(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12clearClassesEv")] - internal static extern void ClearClasses(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12getTemplatesEj")] - internal static extern global::System.IntPtr GetTemplates(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12addTemplatesERPNS1_8TemplateE")] - internal static extern void AddTemplates(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14clearTemplatesEv")] - internal static extern void ClearTemplates(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext11getTypedefsEj")] - internal static extern global::System.IntPtr GetTypedefs(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext11addTypedefsERPNS1_11TypedefDeclE")] - internal static extern void AddTypedefs(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext13clearTypedefsEv")] - internal static extern void ClearTypedefs(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14getTypeAliasesEj")] - internal static extern global::System.IntPtr GetTypeAliases(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14addTypeAliasesERPNS1_9TypeAliasE")] - internal static extern void AddTypeAliases(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext16clearTypeAliasesEv")] - internal static extern void ClearTypeAliases(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12getVariablesEj")] - internal static extern global::System.IntPtr GetVariables(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12addVariablesERPNS1_8VariableE")] - internal static extern void AddVariables(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14clearVariablesEv")] - internal static extern void ClearVariables(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10getFriendsEj")] - internal static extern global::System.IntPtr GetFriends(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10addFriendsERPNS1_6FriendE")] - internal static extern void AddFriends(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12clearFriendsEv")] - internal static extern void ClearFriends(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext18getNamespacesCountEv")] - internal static extern uint GetNamespacesCount(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext13getEnumsCountEv")] - internal static extern uint GetEnumsCount(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext17getFunctionsCountEv")] - internal static extern uint GetFunctionsCount(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext15getClassesCountEv")] - internal static extern uint GetClassesCount(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext17getTemplatesCountEv")] - internal static extern uint GetTemplatesCount(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext16getTypedefsCountEv")] - internal static extern uint GetTypedefsCount(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext19getTypeAliasesCountEv")] - internal static extern uint GetTypeAliasesCount(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext17getVariablesCountEv")] - internal static extern uint GetVariablesCount(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext15getFriendsCountEv")] - internal static extern uint GetFriendsCount(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11DecayedTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); } - internal static new global::CppSharp.Parser.AST.DeclarationContext __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.DecayedType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.DeclarationContext(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.DecayedType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.DeclarationContext __CreateInstance(global::CppSharp.Parser.AST.DeclarationContext.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.DecayedType __CreateInstance(global::CppSharp.Parser.AST.DecayedType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.DeclarationContext(native, skipVTables); + return new global::CppSharp.Parser.AST.DecayedType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.DeclarationContext.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.DecayedType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); - global::CppSharp.Parser.AST.DeclarationContext.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); + global::CppSharp.Parser.AST.DecayedType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private DeclarationContext(global::CppSharp.Parser.AST.DeclarationContext.__Internal native, bool skipVTables = false) + private DecayedType(global::CppSharp.Parser.AST.DecayedType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected DeclarationContext(void* native, bool skipVTables = false) + protected DecayedType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -5067,19 +4607,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public DeclarationContext(global::CppSharp.Parser.AST.DeclarationKind kind) + public DecayedType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), kind); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public DeclarationContext(global::CppSharp.Parser.AST.DeclarationContext _0) + public DecayedType(global::CppSharp.Parser.AST.DecayedType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -5088,444 +4628,296 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public global::CppSharp.Parser.AST.QualifiedType Decayed { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->decayed)); + } - public global::CppSharp.Parser.AST.Namespace GetNamespaces(uint i) - { - var __ret = __Internal.GetNamespaces((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Namespace __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Namespace.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Namespace) global::CppSharp.Parser.AST.Namespace.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Namespace.__CreateInstance(__ret); - return __result0; + set + { + ((global::CppSharp.Parser.AST.DecayedType.__Internal*)__Instance)->decayed = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } - public void AddNamespaces(global::CppSharp.Parser.AST.Namespace s) + public global::CppSharp.Parser.AST.QualifiedType Original { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddNamespaces((__Instance + __PointerAdjustment), __arg0); - } + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->original)); + } - public void ClearNamespaces() - { - __Internal.ClearNamespaces((__Instance + __PointerAdjustment)); + set + { + ((global::CppSharp.Parser.AST.DecayedType.__Internal*)__Instance)->original = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } - public global::CppSharp.Parser.AST.Enumeration GetEnums(uint i) + public global::CppSharp.Parser.AST.QualifiedType Pointee { - var __ret = __Internal.GetEnums((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Enumeration __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Enumeration.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Enumeration) global::CppSharp.Parser.AST.Enumeration.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Enumeration.__CreateInstance(__ret); - return __result0; + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->pointee)); + } + + set + { + ((global::CppSharp.Parser.AST.DecayedType.__Internal*)__Instance)->pointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } + } - public void AddEnums(global::CppSharp.Parser.AST.Enumeration s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddEnums((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearEnums() - { - __Internal.ClearEnums((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.Function GetFunctions(uint i) - { - var __ret = __Internal.GetFunctions((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Function __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(__ret); - return __result0; - } - - public void AddFunctions(global::CppSharp.Parser.AST.Function s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddFunctions((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearFunctions() - { - __Internal.ClearFunctions((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.Class GetClasses(uint i) + public unsafe partial class TemplateArgument : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public partial struct __Internal { - var __ret = __Internal.GetClasses((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Class __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(__ret); - return __result0; - } + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind kind; - public void AddClasses(global::CppSharp.Parser.AST.Class s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddClasses((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; - public void ClearClasses() - { - __Internal.ClearClasses((__Instance + __PointerAdjustment)); - } + [FieldOffset(24)] + internal global::System.IntPtr declaration; - public global::CppSharp.Parser.AST.Template GetTemplates(uint i) - { - var __ret = __Internal.GetTemplates((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Template __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Template.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Template) global::CppSharp.Parser.AST.Template.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Template.__CreateInstance(__ret); - return __result0; - } + [FieldOffset(32)] + internal long integral; - public void AddTemplates(global::CppSharp.Parser.AST.Template s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddTemplates((__Instance + __PointerAdjustment), __arg0); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16TemplateArgumentC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); - public void ClearTemplates() - { - __Internal.ClearTemplates((__Instance + __PointerAdjustment)); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16TemplateArgumentC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); } - public global::CppSharp.Parser.AST.TypedefDecl GetTypedefs(uint i) + public enum ArgumentKind { - var __ret = __Internal.GetTypedefs((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.TypedefDecl __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TypedefDecl.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.TypedefDecl) global::CppSharp.Parser.AST.TypedefDecl.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.TypedefDecl.__CreateInstance(__ret); - return __result0; + Type = 0, + Declaration = 1, + NullPtr = 2, + Integral = 3, + Template = 4, + TemplateExpansion = 5, + Expression = 6, + Pack = 7 } - public void AddTypedefs(global::CppSharp.Parser.AST.TypedefDecl s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddTypedefs((__Instance + __PointerAdjustment), __arg0); - } + public global::System.IntPtr __Instance { get; protected set; } - public void ClearTypedefs() - { - __Internal.ClearTypedefs((__Instance + __PointerAdjustment)); - } + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; - public global::CppSharp.Parser.AST.TypeAlias GetTypeAliases(uint i) - { - var __ret = __Internal.GetTypeAliases((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.TypeAlias __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TypeAlias.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.TypeAlias) global::CppSharp.Parser.AST.TypeAlias.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.TypeAlias.__CreateInstance(__ret); - return __result0; - } + protected bool __ownsNativeInstance; - public void AddTypeAliases(global::CppSharp.Parser.AST.TypeAlias s) + internal static global::CppSharp.Parser.AST.TemplateArgument __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddTypeAliases((__Instance + __PointerAdjustment), __arg0); + return new global::CppSharp.Parser.AST.TemplateArgument(native.ToPointer(), skipVTables); } - public void ClearTypeAliases() + internal static global::CppSharp.Parser.AST.TemplateArgument __CreateInstance(global::CppSharp.Parser.AST.TemplateArgument.__Internal native, bool skipVTables = false) { - __Internal.ClearTypeAliases((__Instance + __PointerAdjustment)); + return new global::CppSharp.Parser.AST.TemplateArgument(native, skipVTables); } - public global::CppSharp.Parser.AST.Variable GetVariables(uint i) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateArgument.__Internal native) { - var __ret = __Internal.GetVariables((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Variable __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Variable.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Variable) global::CppSharp.Parser.AST.Variable.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Variable.__CreateInstance(__ret); - return __result0; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + *(global::CppSharp.Parser.AST.TemplateArgument.__Internal*) ret = native; + return ret.ToPointer(); } - public void AddVariables(global::CppSharp.Parser.AST.Variable s) + private TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddVariables((__Instance + __PointerAdjustment), __arg0); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; } - public void ClearVariables() + protected TemplateArgument(void* native, bool skipVTables = false) { - __Internal.ClearVariables((__Instance + __PointerAdjustment)); + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - public global::CppSharp.Parser.AST.Friend GetFriends(uint i) + public TemplateArgument() { - var __ret = __Internal.GetFriends((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Friend __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Friend.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Friend) global::CppSharp.Parser.AST.Friend.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Friend.__CreateInstance(__ret); - return __result0; + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); } - public void AddFriends(global::CppSharp.Parser.AST.Friend s) + public TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument _0) { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddFriends((__Instance + __PointerAdjustment), __arg0); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) _0.__Instance); } - public void ClearFriends() + public void Dispose() { - __Internal.ClearFriends((__Instance + __PointerAdjustment)); + Dispose(disposing: true); } - public static implicit operator global::CppSharp.Parser.AST.DeclarationContext(global::CppSharp.Parser.AST.DeclarationKind kind) + public virtual void Dispose(bool disposing) { - return new global::CppSharp.Parser.AST.DeclarationContext(kind); + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.TemplateArgument __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } - public bool IsAnonymous + public global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind Kind { get { - return ((global::CppSharp.Parser.AST.DeclarationContext.__Internal*) __Instance)->isAnonymous != 0; + return ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->kind; } set { - ((global::CppSharp.Parser.AST.DeclarationContext.__Internal*)__Instance)->isAnonymous = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->kind = value; } } - public uint NamespacesCount + public global::CppSharp.Parser.AST.QualifiedType Type { get { - var __ret = __Internal.GetNamespacesCount((__Instance + __PointerAdjustment)); - return __ret; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->type)); } - } - public uint EnumsCount - { - get + set { - var __ret = __Internal.GetEnumsCount((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public uint FunctionsCount + public global::CppSharp.Parser.AST.Declaration Declaration { get { - var __ret = __Internal.GetFunctionsCount((__Instance + __PointerAdjustment)); - return __ret; + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration); + return __result0; } - } - public uint ClassesCount - { - get + set { - var __ret = __Internal.GetClassesCount((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public uint TemplatesCount + public long Integral { get { - var __ret = __Internal.GetTemplatesCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->integral; } - } - public uint TypedefsCount - { - get - { - var __ret = __Internal.GetTypedefsCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint TypeAliasesCount - { - get - { - var __ret = __Internal.GetTypeAliasesCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint VariablesCount - { - get - { - var __ret = __Internal.GetVariablesCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint FriendsCount - { - get + set { - var __ret = __Internal.GetFriendsCount((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->integral = value; } } } - public unsafe partial class TypedefNameDecl : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class TemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 216)] + [StructLayout(LayoutKind.Explicit, Size = 56)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - internal int maxFieldAlignment; + internal byte isDependent; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ Arguments; [FieldOffset(32)] - internal int lineNumberEnd; + internal global::System.IntPtr _template; [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - - [FieldOffset(64)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - - [FieldOffset(88)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; - - [FieldOffset(112)] - internal byte isIncomplete; - - [FieldOffset(113)] - internal byte isDependent; - - [FieldOffset(114)] - internal byte isImplicit; - - [FieldOffset(115)] - internal byte isInvalid; - - [FieldOffset(120)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(128)] - internal uint definitionOrder; - - [FieldOffset(136)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); - [FieldOffset(184)] - internal global::System.IntPtr originalPtr; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - [FieldOffset(192)] - internal global::System.IntPtr comment; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); - [FieldOffset(200)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType12getArgumentsEj")] + internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TypedefNameDeclC2ENS1_15DeclarationKindE")] - internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.DeclarationKind kind); + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType12addArgumentsERNS1_16TemplateArgumentE")] + internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TypedefNameDeclC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType14clearArgumentsEv")] + internal static extern void ClearArguments(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TypedefNameDeclD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType17getArgumentsCountEv")] + internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.TypedefNameDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TemplateSpecializationType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypedefNameDecl(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TemplateSpecializationType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TypedefNameDecl __CreateInstance(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TemplateSpecializationType __CreateInstance(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypedefNameDecl(native, skipVTables); + return new global::CppSharp.Parser.AST.TemplateSpecializationType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); - global::CppSharp.Parser.AST.TypedefNameDecl.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); + global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native, bool skipVTables = false) + private TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TypedefNameDecl(void* native, bool skipVTables = false) + protected TemplateSpecializationType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -5534,19 +4926,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) + public TemplateSpecializationType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), kind); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl _0) + public TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -5559,7 +4951,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.Type __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -5568,134 +4960,145 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public static implicit operator global::CppSharp.Parser.AST.TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) { - return new global::CppSharp.Parser.AST.TypedefNameDecl(kind); + var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); + __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType + public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearArguments() + { + __Internal.ClearArguments((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Template Template { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TypedefNameDecl.__Internal*) __Instance)->qualifiedType)); + global::CppSharp.Parser.AST.Template __result0; + if (((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Template.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template)) + __result0 = (global::CppSharp.Parser.AST.Template) global::CppSharp.Parser.AST.Template.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template]; + else __result0 = global::CppSharp.Parser.AST.Template.__CreateInstance(((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template); + return __result0; } set { - ((global::CppSharp.Parser.AST.TypedefNameDecl.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*)__Instance)->_template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType Desugared + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->desugared)); + } + + set + { + ((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*)__Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public uint ArgumentsCount + { + get + { + var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class TypedefDecl : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable + public unsafe partial class DependentTemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 216)] + [StructLayout(LayoutKind.Explicit, Size = 48)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - internal int maxFieldAlignment; + internal byte isDependent; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ Arguments; [FieldOffset(32)] - internal int lineNumberEnd; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; - [FieldOffset(64)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); - [FieldOffset(88)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - [FieldOffset(112)] - internal byte isIncomplete; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationTypeD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); - [FieldOffset(113)] - internal byte isDependent; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType12getArgumentsEj")] + internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); - [FieldOffset(114)] - internal byte isImplicit; - - [FieldOffset(115)] - internal byte isInvalid; - - [FieldOffset(120)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(128)] - internal uint definitionOrder; - - [FieldOffset(136)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; - - [FieldOffset(184)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(192)] - internal global::System.IntPtr comment; - - [FieldOffset(200)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefDeclC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType12addArgumentsERNS1_16TemplateArgumentE")] + internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefDeclC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType14clearArgumentsEv")] + internal static extern void ClearArguments(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefDeclD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType17getArgumentsCountEv")] + internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.TypedefDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.DependentTemplateSpecializationType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypedefDecl(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.DependentTemplateSpecializationType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TypedefDecl __CreateInstance(global::CppSharp.Parser.AST.TypedefDecl.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.DependentTemplateSpecializationType __CreateInstance(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypedefDecl(native, skipVTables); + return new global::CppSharp.Parser.AST.DependentTemplateSpecializationType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefDecl.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); - global::CppSharp.Parser.AST.TypedefDecl.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); + global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl.__Internal native, bool skipVTables = false) + private DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TypedefDecl(void* native, bool skipVTables = false) + protected DependentTemplateSpecializationType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -5704,19 +5107,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TypedefDecl() + public DependentTemplateSpecializationType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl _0) + public DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -5729,7 +5132,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.Type __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -5737,120 +5140,114 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - } - public unsafe partial class TypeAlias : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 224)] - public new partial struct __Internal + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); + __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); + } - [FieldOffset(28)] - internal int lineNumberStart; + public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(32)] - internal int lineNumberEnd; + public void ClearArguments() + { + __Internal.ClearArguments((__Instance + __PointerAdjustment)); + } - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + public global::CppSharp.Parser.AST.QualifiedType Desugared + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal*) __Instance)->desugared)); + } - [FieldOffset(64)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + set + { + ((global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal*)__Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } - [FieldOffset(88)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + public uint ArgumentsCount + { + get + { + var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } - [FieldOffset(112)] - internal byte isIncomplete; + public unsafe partial class TemplateParameterType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; - [FieldOffset(113)] + [FieldOffset(4)] internal byte isDependent; - [FieldOffset(114)] - internal byte isImplicit; - - [FieldOffset(115)] - internal byte isInvalid; - - [FieldOffset(120)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(128)] - internal uint definitionOrder; - - [FieldOffset(136)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; - - [FieldOffset(184)] - internal global::System.IntPtr originalPtr; + [FieldOffset(8)] + internal global::System.IntPtr parameter; - [FieldOffset(192)] - internal global::System.IntPtr comment; + [FieldOffset(16)] + internal uint depth; - [FieldOffset(200)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + [FieldOffset(20)] + internal uint index; - [FieldOffset(216)] - internal global::System.IntPtr describedAliasTemplate; + [FieldOffset(24)] + internal byte isParameterPack; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9TypeAliasC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9TypeAliasC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9TypeAliasD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.TypeAlias __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TemplateParameterType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypeAlias(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TemplateParameterType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TypeAlias __CreateInstance(global::CppSharp.Parser.AST.TypeAlias.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TemplateParameterType __CreateInstance(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypeAlias(native, skipVTables); + return new global::CppSharp.Parser.AST.TemplateParameterType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypeAlias.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); - global::CppSharp.Parser.AST.TypeAlias.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); + global::CppSharp.Parser.AST.TemplateParameterType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TypeAlias(global::CppSharp.Parser.AST.TypeAlias.__Internal native, bool skipVTables = false) + private TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TypeAlias(void* native, bool skipVTables = false) + protected TemplateParameterType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -5859,19 +5256,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TypeAlias() + public TemplateParameterType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TypeAlias(global::CppSharp.Parser.AST.TypeAlias _0) + public TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -5884,7 +5281,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.Type __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -5893,134 +5290,117 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TypeAliasTemplate DescribedAliasTemplate + public global::CppSharp.Parser.AST.TypeTemplateParameter Parameter { get { - global::CppSharp.Parser.AST.TypeAliasTemplate __result0; - if (((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TypeAliasTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate)) - __result0 = (global::CppSharp.Parser.AST.TypeAliasTemplate) global::CppSharp.Parser.AST.TypeAliasTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate]; - else __result0 = global::CppSharp.Parser.AST.TypeAliasTemplate.__CreateInstance(((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate); + global::CppSharp.Parser.AST.TypeTemplateParameter __result0; + if (((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TypeTemplateParameter.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter)) + __result0 = (global::CppSharp.Parser.AST.TypeTemplateParameter) global::CppSharp.Parser.AST.TypeTemplateParameter.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter]; + else __result0 = global::CppSharp.Parser.AST.TypeTemplateParameter.__CreateInstance(((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter); return __result0; } set { - ((global::CppSharp.Parser.AST.TypeAlias.__Internal*)__Instance)->describedAliasTemplate = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->parameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - } - public unsafe partial class Friend : global::CppSharp.Parser.AST.Declaration, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 208)] - public new partial struct __Internal + public uint Depth { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + get + { + return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->depth; + } - [FieldOffset(4)] - internal int maxFieldAlignment; + set + { + ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->depth = value; + } + } - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + public uint Index + { + get + { + return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->index; + } - [FieldOffset(16)] - internal global::System.IntPtr _namespace; + set + { + ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->index = value; + } + } - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; - - [FieldOffset(32)] - internal int lineNumberEnd; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - - [FieldOffset(64)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + public bool IsParameterPack + { + get + { + return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->isParameterPack != 0; + } - [FieldOffset(88)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + set + { + ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->isParameterPack = (byte) (value ? 1 : 0); + } + } + } - [FieldOffset(112)] - internal byte isIncomplete; + public unsafe partial class TemplateParameterSubstitutionType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; - [FieldOffset(113)] + [FieldOffset(4)] internal byte isDependent; - [FieldOffset(114)] - internal byte isImplicit; - - [FieldOffset(115)] - internal byte isInvalid; - - [FieldOffset(120)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(128)] - internal uint definitionOrder; - - [FieldOffset(136)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; - - [FieldOffset(184)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(192)] - internal global::System.IntPtr comment; + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal replacement; - [FieldOffset(200)] - internal global::System.IntPtr declaration; + [FieldOffset(24)] + internal global::System.IntPtr replacedParameter; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6FriendC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST33TemplateParameterSubstitutionTypeC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6FriendC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST33TemplateParameterSubstitutionTypeC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6FriendD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.Friend __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Friend(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Friend __CreateInstance(global::CppSharp.Parser.AST.Friend.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TemplateParameterSubstitutionType __CreateInstance(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Friend(native, skipVTables); + return new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Friend.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); - global::CppSharp.Parser.AST.Friend.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); + global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Friend(global::CppSharp.Parser.AST.Friend.__Internal native, bool skipVTables = false) + private TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Friend(void* native, bool skipVTables = false) + protected TemplateParameterSubstitutionType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -6029,19 +5409,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Friend() + public TemplateParameterSubstitutionType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public Friend(global::CppSharp.Parser.AST.Friend _0) + public TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -6050,123 +5430,112 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public global::CppSharp.Parser.AST.QualifiedType Replacement { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacement)); + } + + set + { + ((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*)__Instance)->replacement = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } - public global::CppSharp.Parser.AST.Declaration Declaration + public global::CppSharp.Parser.AST.TemplateParameterType ReplacedParameter { get { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration); + global::CppSharp.Parser.AST.TemplateParameterType __result0; + if (((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TemplateParameterType.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter)) + __result0 = (global::CppSharp.Parser.AST.TemplateParameterType) global::CppSharp.Parser.AST.TemplateParameterType.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter]; + else __result0 = global::CppSharp.Parser.AST.TemplateParameterType.__CreateInstance(((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter); return __result0; } set { - ((global::CppSharp.Parser.AST.Friend.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*)__Instance)->replacedParameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class Statement : IDisposable + public unsafe partial class InjectedClassNameType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 40)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.StatementClass _class; + internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + internal byte isDependent; [FieldOffset(8)] - internal global::System.IntPtr decl; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal injectedSpecializationType; - [FieldOffset(16)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C @string; + [FieldOffset(24)] + internal global::System.IntPtr _class; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9StatementC2ERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEENS1_14StatementClassEPNS1_11DeclarationE")] - internal static extern void ctor(global::System.IntPtr __instance, global::System.IntPtr str, global::CppSharp.Parser.AST.StatementClass Class, global::System.IntPtr decl); + EntryPoint="_ZN8CppSharp9CppParser3AST21InjectedClassNameTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9StatementC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST21InjectedClassNameTypeC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9StatementD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); } - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.Statement __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.InjectedClassNameType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Statement(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.InjectedClassNameType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Statement __CreateInstance(global::CppSharp.Parser.AST.Statement.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.InjectedClassNameType __CreateInstance(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Statement(native, skipVTables); + return new global::CppSharp.Parser.AST.InjectedClassNameType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Statement.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Statement.__Internal)); - global::CppSharp.Parser.AST.Statement.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); + global::CppSharp.Parser.AST.InjectedClassNameType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Statement(global::CppSharp.Parser.AST.Statement.__Internal native, bool skipVTables = false) + private InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Statement(void* native, bool skipVTables = false) + protected InjectedClassNameType(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public Statement(string str, global::CppSharp.Parser.AST.StatementClass Class, global::CppSharp.Parser.AST.Declaration decl) + public InjectedClassNameType() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Statement.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, str); - var __arg0 = __basicString0.__Instance; - var __arg2 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; - __Internal.ctor((__Instance + __PointerAdjustment), __arg0, Class, __arg2); - __basicString0.Dispose(false); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public Statement(global::CppSharp.Parser.AST.Statement _0) + public InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Statement.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -6175,127 +5544,96 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Statement __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public global::CppSharp.Parser.AST.StatementClass Class + public global::CppSharp.Parser.AST.QualifiedType InjectedSpecializationType { get { - return ((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->_class; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->injectedSpecializationType)); } set { - ((global::CppSharp.Parser.AST.Statement.__Internal*)__Instance)->_class = value; + ((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*)__Instance)->injectedSpecializationType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public global::CppSharp.Parser.AST.Declaration Decl + public global::CppSharp.Parser.AST.Class Class { get { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl); + global::CppSharp.Parser.AST.Class __result0; + if (((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class)) + __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class]; + else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class); return __result0; } set { - ((global::CppSharp.Parser.AST.Statement.__Internal*)__Instance)->decl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - - public string String - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->@string)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Statement.__Internal*)__Instance)->@string), value); + ((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*)__Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class Expression : global::CppSharp.Parser.AST.Statement, IDisposable + public unsafe partial class DependentNameType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 48)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.StatementClass _class; + internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + internal byte isDependent; [FieldOffset(8)] - internal global::System.IntPtr decl; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifier; - [FieldOffset(16)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C @string; + [FieldOffset(24)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C identifier; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ExpressionC2ERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEENS1_14StatementClassEPNS1_11DeclarationE")] - internal static extern void ctor(global::System.IntPtr __instance, global::System.IntPtr str, global::CppSharp.Parser.AST.StatementClass Class, global::System.IntPtr decl); + EntryPoint="_ZN8CppSharp9CppParser3AST17DependentNameTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ExpressionC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST17DependentNameTypeC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ExpressionD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST17DependentNameTypeD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.Expression __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.DependentNameType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Expression(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.DependentNameType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Expression __CreateInstance(global::CppSharp.Parser.AST.Expression.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.DependentNameType __CreateInstance(global::CppSharp.Parser.AST.DependentNameType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Expression(native, skipVTables); + return new global::CppSharp.Parser.AST.DependentNameType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Expression.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.DependentNameType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expression.__Internal)); - global::CppSharp.Parser.AST.Expression.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); + global::CppSharp.Parser.AST.DependentNameType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Expression(global::CppSharp.Parser.AST.Expression.__Internal native, bool skipVTables = false) + private DependentNameType(global::CppSharp.Parser.AST.DependentNameType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Expression(void* native, bool skipVTables = false) + protected DependentNameType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -6304,24 +5642,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Expression(string str, global::CppSharp.Parser.AST.StatementClass Class, global::CppSharp.Parser.AST.Declaration decl) + public DependentNameType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expression.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, str); - var __arg0 = __basicString0.__Instance; - var __arg2 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; - __Internal.ctor((__Instance + __PointerAdjustment), __arg0, Class, __arg2); - __basicString0.Dispose(false); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public Expression(global::CppSharp.Parser.AST.Expression _0) + public DependentNameType(global::CppSharp.Parser.AST.DependentNameType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expression.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -6334,7 +5667,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Statement __dummy; + global::CppSharp.Parser.AST.Type __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -6342,72 +5675,84 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - } - public unsafe partial class BinaryOperator : global::CppSharp.Parser.AST.Expression, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 80)] - public new partial struct __Internal + public global::CppSharp.Parser.AST.QualifiedType Qualifier { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.StatementClass _class; + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentNameType.__Internal*) __Instance)->qualifier)); + } - [FieldOffset(8)] - internal global::System.IntPtr decl; + set + { + ((global::CppSharp.Parser.AST.DependentNameType.__Internal*)__Instance)->qualifier = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } - [FieldOffset(16)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C @string; + public string Identifier + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentNameType.__Internal*) __Instance)->identifier)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - [FieldOffset(40)] - internal global::System.IntPtr LHS; + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentNameType.__Internal*)__Instance)->identifier), value); + } + } + } - [FieldOffset(48)] - internal global::System.IntPtr RHS; + public unsafe partial class PackExpansionType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 8)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; - [FieldOffset(56)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C opcodeStr; + [FieldOffset(4)] + internal byte isDependent; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperatorC2ERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEPNS1_10ExpressionESD_SB_")] - internal static extern void ctor(global::System.IntPtr __instance, global::System.IntPtr str, global::System.IntPtr lhs, global::System.IntPtr rhs, global::System.IntPtr opcodeStr); + EntryPoint="_ZN8CppSharp9CppParser3AST17PackExpansionTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperatorC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST17PackExpansionTypeC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperatorD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.BinaryOperator __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.PackExpansionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BinaryOperator(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.PackExpansionType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.BinaryOperator __CreateInstance(global::CppSharp.Parser.AST.BinaryOperator.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.PackExpansionType __CreateInstance(global::CppSharp.Parser.AST.PackExpansionType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BinaryOperator(native, skipVTables); + return new global::CppSharp.Parser.AST.PackExpansionType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.BinaryOperator.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.PackExpansionType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); - global::CppSharp.Parser.AST.BinaryOperator.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); + global::CppSharp.Parser.AST.PackExpansionType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private BinaryOperator(global::CppSharp.Parser.AST.BinaryOperator.__Internal native, bool skipVTables = false) + private PackExpansionType(global::CppSharp.Parser.AST.PackExpansionType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected BinaryOperator(void* native, bool skipVTables = false) + protected PackExpansionType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -6416,29 +5761,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public BinaryOperator(string str, global::CppSharp.Parser.AST.Expression lhs, global::CppSharp.Parser.AST.Expression rhs, string opcodeStr) + public PackExpansionType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, str); - var __arg0 = __basicString0.__Instance; - var __arg1 = ReferenceEquals(lhs, null) ? global::System.IntPtr.Zero : lhs.__Instance; - var __arg2 = ReferenceEquals(rhs, null) ? global::System.IntPtr.Zero : rhs.__Instance; - var __basicString3 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString3, opcodeStr); - var __arg3 = __basicString3.__Instance; - __Internal.ctor((__Instance + __PointerAdjustment), __arg0, __arg1, __arg2, __arg3); - __basicString0.Dispose(false); - __basicString3.Dispose(false); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public BinaryOperator(global::CppSharp.Parser.AST.BinaryOperator _0) + public PackExpansionType(global::CppSharp.Parser.AST.PackExpansionType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -6446,151 +5781,170 @@ namespace CppSharp var __arg0 = _0.__Instance; __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } + } - public override void Dispose(bool disposing) + public unsafe partial class UnaryTransformType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct __Internal { - if (__Instance == IntPtr.Zero) + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + internal byte isDependent; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal baseType; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18UnaryTransformTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18UnaryTransformTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.UnaryTransformType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.UnaryTransformType(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.UnaryTransformType __CreateInstance(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.UnaryTransformType(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); + global::CppSharp.Parser.AST.UnaryTransformType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected UnaryTransformType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) return; - global::CppSharp.Parser.AST.Statement __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + __Instance = new global::System.IntPtr(native); } - public global::CppSharp.Parser.AST.Expression LHS + public UnaryTransformType() + : this((void*) null) { - get - { - global::CppSharp.Parser.AST.Expression __result0; - if (((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS)) - __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS]; - else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS); - return __result0; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - set - { - ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->LHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + public UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.Expression RHS + public global::CppSharp.Parser.AST.QualifiedType Desugared { get { - global::CppSharp.Parser.AST.Expression __result0; - if (((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS)) - __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS]; - else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS); - return __result0; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*) __Instance)->desugared)); } set { - ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->RHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*)__Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public string OpcodeStr + public global::CppSharp.Parser.AST.QualifiedType BaseType { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->opcodeStr)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*) __Instance)->baseType)); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->opcodeStr), value); + ((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*)__Instance)->baseType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } } - public unsafe partial class CallExpr : global::CppSharp.Parser.AST.Expression, IDisposable + public unsafe partial class VectorType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 64)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.StatementClass _class; + internal global::CppSharp.Parser.AST.TypeKind kind; - [FieldOffset(8)] - internal global::System.IntPtr decl; + [FieldOffset(4)] + internal byte isDependent; - [FieldOffset(16)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C @string; + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal elementType; - [FieldOffset(40)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expression___N_std_N___1_S_allocator__S0_ Arguments; + [FieldOffset(24)] + internal uint numElements; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExprC2ERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEPNS1_11DeclarationE")] - internal static extern void ctor(global::System.IntPtr __instance, global::System.IntPtr str, global::System.IntPtr decl); + EntryPoint="_ZN8CppSharp9CppParser3AST10VectorTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExprC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST10VectorTypeC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExprD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr12getArgumentsEj")] - internal static extern global::System.IntPtr GetArguments(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr12addArgumentsERPNS1_10ExpressionE")] - internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr14clearArgumentsEv")] - internal static extern void ClearArguments(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr17getArgumentsCountEv")] - internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.CallExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.VectorType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.CallExpr(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.VectorType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.CallExpr __CreateInstance(global::CppSharp.Parser.AST.CallExpr.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VectorType __CreateInstance(global::CppSharp.Parser.AST.VectorType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.CallExpr(native, skipVTables); + return new global::CppSharp.Parser.AST.VectorType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.CallExpr.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VectorType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); - global::CppSharp.Parser.AST.CallExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); + global::CppSharp.Parser.AST.VectorType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private CallExpr(global::CppSharp.Parser.AST.CallExpr.__Internal native, bool skipVTables = false) + private VectorType(global::CppSharp.Parser.AST.VectorType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected CallExpr(void* native, bool skipVTables = false) + protected VectorType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -6599,24 +5953,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public CallExpr(string str, global::CppSharp.Parser.AST.Declaration decl) + public VectorType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, str); - var __arg0 = __basicString0.__Instance; - var __arg1 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; - __Internal.ctor((__Instance + __PointerAdjustment), __arg0, __arg1); - __basicString0.Dispose(false); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public CallExpr(global::CppSharp.Parser.AST.CallExpr _0) + public VectorType(global::CppSharp.Parser.AST.VectorType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -6625,131 +5974,83 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Statement __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public global::CppSharp.Parser.AST.Expression GetArguments(uint i) - { - var __ret = __Internal.GetArguments((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Expression __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(__ret); - return __result0; - } - - public void AddArguments(global::CppSharp.Parser.AST.Expression s) + public global::CppSharp.Parser.AST.QualifiedType ElementType { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); - } + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->elementType)); + } - public void ClearArguments() - { - __Internal.ClearArguments((__Instance + __PointerAdjustment)); + set + { + ((global::CppSharp.Parser.AST.VectorType.__Internal*)__Instance)->elementType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } - public uint ArgumentsCount + public uint NumElements { get { - var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->numElements; + } + + set + { + ((global::CppSharp.Parser.AST.VectorType.__Internal*)__Instance)->numElements = value; } } } - public unsafe partial class CXXConstructExpr : global::CppSharp.Parser.AST.Expression, IDisposable + public unsafe partial class BuiltinType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 64)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.StatementClass _class; - - [FieldOffset(8)] - internal global::System.IntPtr decl; + internal global::CppSharp.Parser.AST.TypeKind kind; - [FieldOffset(16)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C @string; + [FieldOffset(4)] + internal byte isDependent; - [FieldOffset(40)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expression___N_std_N___1_S_allocator__S0_ Arguments; + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.PrimitiveType type; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExprC2ERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEPNS1_11DeclarationE")] - internal static extern void ctor(global::System.IntPtr __instance, global::System.IntPtr str, global::System.IntPtr decl); + EntryPoint="_ZN8CppSharp9CppParser3AST11BuiltinTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExprC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST11BuiltinTypeC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExprD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr12getArgumentsEj")] - internal static extern global::System.IntPtr GetArguments(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr12addArgumentsERPNS1_10ExpressionE")] - internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr14clearArgumentsEv")] - internal static extern void ClearArguments(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr17getArgumentsCountEv")] - internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.CXXConstructExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.BuiltinType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.CXXConstructExpr(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.BuiltinType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.CXXConstructExpr __CreateInstance(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.BuiltinType __CreateInstance(global::CppSharp.Parser.AST.BuiltinType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.CXXConstructExpr(native, skipVTables); + return new global::CppSharp.Parser.AST.BuiltinType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.BuiltinType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); - global::CppSharp.Parser.AST.CXXConstructExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); + global::CppSharp.Parser.AST.BuiltinType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private CXXConstructExpr(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native, bool skipVTables = false) + private BuiltinType(global::CppSharp.Parser.AST.BuiltinType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected CXXConstructExpr(void* native, bool skipVTables = false) + protected BuiltinType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -6758,24 +6059,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public CXXConstructExpr(string str, global::CppSharp.Parser.AST.Declaration decl) + public BuiltinType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, str); - var __arg0 = __basicString0.__Instance; - var __arg1 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; - __Internal.ctor((__Instance + __PointerAdjustment), __arg0, __arg1); - __basicString0.Dispose(false); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public CXXConstructExpr(global::CppSharp.Parser.AST.CXXConstructExpr _0) + public BuiltinType(global::CppSharp.Parser.AST.BuiltinType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -6784,291 +6080,247 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Statement __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public global::CppSharp.Parser.AST.Expression GetArguments(uint i) - { - var __ret = __Internal.GetArguments((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Expression __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(__ret); - return __result0; - } - - public void AddArguments(global::CppSharp.Parser.AST.Expression s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearArguments() - { - __Internal.ClearArguments((__Instance + __PointerAdjustment)); - } - - public uint ArgumentsCount + public global::CppSharp.Parser.AST.PrimitiveType Type { get { - var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.BuiltinType.__Internal*) __Instance)->type; + } + + set + { + ((global::CppSharp.Parser.AST.BuiltinType.__Internal*)__Instance)->type = value; } } } + } + } +} - public unsafe partial class Parameter : global::CppSharp.Parser.AST.Declaration, IDisposable +namespace CppSharp +{ + namespace Parser + { + namespace AST + { + public enum DeclarationKind { - [StructLayout(LayoutKind.Explicit, Size = 232)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; - - [FieldOffset(32)] - internal int lineNumberEnd; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - - [FieldOffset(64)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - - [FieldOffset(88)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; - - [FieldOffset(112)] - internal byte isIncomplete; - - [FieldOffset(113)] - internal byte isDependent; - - [FieldOffset(114)] - internal byte isImplicit; - - [FieldOffset(115)] - internal byte isInvalid; + DeclarationContext = 0, + Typedef = 1, + TypeAlias = 2, + Parameter = 3, + Function = 4, + Method = 5, + Enumeration = 6, + EnumerationItem = 7, + Variable = 8, + Field = 9, + AccessSpecifier = 10, + Class = 11, + Template = 12, + TypeAliasTemplate = 13, + ClassTemplate = 14, + ClassTemplateSpecialization = 15, + ClassTemplatePartialSpecialization = 16, + FunctionTemplate = 17, + Namespace = 18, + PreprocessedEntity = 19, + MacroDefinition = 20, + MacroExpansion = 21, + TranslationUnit = 22, + Friend = 23, + TemplateTemplateParm = 24, + TemplateTypeParm = 25, + NonTypeTemplateParm = 26, + VarTemplate = 27, + VarTemplateSpecialization = 28, + VarTemplatePartialSpecialization = 29 + } - [FieldOffset(120)] - internal global::System.IntPtr completeDeclaration; + public enum AccessSpecifier + { + Private = 0, + Protected = 1, + Public = 2 + } - [FieldOffset(128)] - internal uint definitionOrder; + public enum MacroLocation + { + Unknown = 0, + ClassHead = 1, + ClassBody = 2, + FunctionHead = 3, + FunctionParameters = 4, + FunctionBody = 5 + } - [FieldOffset(136)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + public enum FriendKind + { + None = 0, + Declared = 1, + Undeclared = 2 + } - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + public enum CXXOperatorKind + { + None = 0, + New = 1, + Delete = 2, + ArrayNew = 3, + ArrayDelete = 4, + Plus = 5, + Minus = 6, + Star = 7, + Slash = 8, + Percent = 9, + Caret = 10, + Amp = 11, + Pipe = 12, + Tilde = 13, + Exclaim = 14, + Equal = 15, + Less = 16, + Greater = 17, + PlusEqual = 18, + MinusEqual = 19, + StarEqual = 20, + SlashEqual = 21, + PercentEqual = 22, + CaretEqual = 23, + AmpEqual = 24, + PipeEqual = 25, + LessLess = 26, + GreaterGreater = 27, + LessLessEqual = 28, + GreaterGreaterEqual = 29, + EqualEqual = 30, + ExclaimEqual = 31, + LessEqual = 32, + GreaterEqual = 33, + Spaceship = 34, + AmpAmp = 35, + PipePipe = 36, + PlusPlus = 37, + MinusMinus = 38, + Comma = 39, + ArrowStar = 40, + Arrow = 41, + Call = 42, + Subscript = 43, + Conditional = 44, + Coawait = 45 + } - [FieldOffset(184)] - internal global::System.IntPtr originalPtr; + public enum StatementClassObsolete + { + Any = 0, + BinaryOperator = 1, + CallExprClass = 2, + DeclRefExprClass = 3, + CXXConstructExprClass = 4, + CXXOperatorCallExpr = 5, + ImplicitCastExpr = 6, + ExplicitCastExpr = 7 + } - [FieldOffset(192)] - internal global::System.IntPtr comment; + public enum TemplateSpecializationKind + { + Undeclared = 0, + ImplicitInstantiation = 1, + ExplicitSpecialization = 2, + ExplicitInstantiationDeclaration = 3, + ExplicitInstantiationDefinition = 4 + } - [FieldOffset(200)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + public enum CXXMethodKind + { + Normal = 0, + Constructor = 1, + Destructor = 2, + Conversion = 3, + Operator = 4, + UsingDirective = 5 + } - [FieldOffset(216)] - internal byte isIndirect; + public enum RefQualifierKind + { + None = 0, + LValue = 1, + RValue = 2 + } - [FieldOffset(217)] - internal byte hasDefaultValue; + public enum CppAbi + { + Itanium = 0, + Microsoft = 1, + ARM = 2, + iOS = 3, + iOS64 = 4 + } - [FieldOffset(220)] - internal uint index; + public enum VTableComponentKind + { + VCallOffset = 0, + VBaseOffset = 1, + OffsetToTop = 2, + RTTI = 3, + FunctionPointer = 4, + CompleteDtorPointer = 5, + DeletingDtorPointer = 6, + UnusedFunctionPointer = 7 + } - [FieldOffset(224)] - internal global::System.IntPtr defaultArgument; + public unsafe partial class Expr + { + [StructLayout(LayoutKind.Explicit, Size = 0)] + public partial struct __Internal + { + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9ParameterC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + public global::System.IntPtr __Instance { get; protected set; } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9ParameterC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9ParameterD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); - } + protected bool __ownsNativeInstance; - internal static new global::CppSharp.Parser.AST.Parameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Expr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Parameter(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Expr(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Parameter __CreateInstance(global::CppSharp.Parser.AST.Parameter.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Expr __CreateInstance(global::CppSharp.Parser.AST.Expr.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Parameter(native, skipVTables); + return new global::CppSharp.Parser.AST.Expr(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Parameter.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Expr.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); - global::CppSharp.Parser.AST.Parameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.__Internal)); + *(global::CppSharp.Parser.AST.Expr.__Internal*) ret = native; return ret.ToPointer(); } - private Parameter(global::CppSharp.Parser.AST.Parameter.__Internal native, bool skipVTables = false) + private Expr(global::CppSharp.Parser.AST.Expr.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Parameter(void* native, bool skipVTables = false) - : base((void*) null) + protected Expr(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - - public Parameter() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } - - public Parameter(global::CppSharp.Parser.AST.Parameter _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } - - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public global::CppSharp.Parser.AST.QualifiedType QualifiedType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->qualifiedType)); - } - - set - { - ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } - - public bool IsIndirect - { - get - { - return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->isIndirect != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->isIndirect = (byte) (value ? 1 : 0); - } - } - - public bool HasDefaultValue - { - get - { - return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->hasDefaultValue != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->hasDefaultValue = (byte) (value ? 1 : 0); - } - } - - public uint Index - { - get - { - return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->index; - } - - set - { - ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->index = value; - } - } - - public global::CppSharp.Parser.AST.Expression DefaultArgument - { - get - { - global::CppSharp.Parser.AST.Expression __result0; - if (((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument)) - __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument]; - else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->defaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } } - public unsafe partial class Function : global::CppSharp.Parser.AST.DeclarationContext, IDisposable + public unsafe partial class Declaration : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 616)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 200)] + public partial struct __Internal { [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; @@ -7130,178 +6382,112 @@ namespace CppSharp [FieldOffset(192)] internal global::System.IntPtr comment; - [FieldOffset(200)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; - - [FieldOffset(224)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; - - [FieldOffset(248)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; - - [FieldOffset(272)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; - - [FieldOffset(296)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; - - [FieldOffset(320)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; - - [FieldOffset(344)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; - - [FieldOffset(368)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; - - [FieldOffset(392)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; - - [FieldOffset(416)] - internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; - - [FieldOffset(440)] - internal byte isAnonymous; - - [FieldOffset(448)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; - - [FieldOffset(464)] - internal byte isReturnIndirect; - - [FieldOffset(465)] - internal byte hasThisReturn; - - [FieldOffset(466)] - internal byte isConstExpr; - - [FieldOffset(467)] - internal byte isVariadic; - - [FieldOffset(468)] - internal byte isInline; - - [FieldOffset(469)] - internal byte isPure; - - [FieldOffset(470)] - internal byte isDeleted; - - [FieldOffset(471)] - internal byte isDefaulted; - - [FieldOffset(472)] - internal global::CppSharp.Parser.AST.FriendKind friendKind; - - [FieldOffset(476)] - internal global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; - - [FieldOffset(480)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C mangled; - - [FieldOffset(504)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C signature; - - [FieldOffset(528)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C body; - - [FieldOffset(552)] - internal global::CppSharp.Parser.AST.CallingConvention callingConvention; - - [FieldOffset(560)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_N___1_S_allocator__S0_ Parameters; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11DeclarationC2ENS1_15DeclarationKindE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.DeclarationKind kind); - [FieldOffset(584)] - internal global::System.IntPtr specializationInfo; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11DeclarationC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - [FieldOffset(592)] - internal global::System.IntPtr instantiatedFrom; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11DeclarationD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); - [FieldOffset(600)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration23getPreprocessedEntitiesEj")] + internal static extern global::System.IntPtr GetPreprocessedEntities(global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8FunctionC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration23addPreprocessedEntitiesERPNS1_18PreprocessedEntityE")] + internal static extern void AddPreprocessedEntities(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8FunctionC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration25clearPreprocessedEntitiesEv")] + internal static extern void ClearPreprocessedEntities(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8FunctionD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration17getRedeclarationsEj")] + internal static extern global::System.IntPtr GetRedeclarations(global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Function13getParametersEj")] - internal static extern global::System.IntPtr GetParameters(global::System.IntPtr __instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration17addRedeclarationsERPS2_")] + internal static extern void AddRedeclarations(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Function13addParametersERPNS1_9ParameterE")] - internal static extern void AddParameters(global::System.IntPtr __instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration19clearRedeclarationsEv")] + internal static extern void ClearRedeclarations(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Function15clearParametersEv")] - internal static extern void ClearParameters(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration28getPreprocessedEntitiesCountEv")] + internal static extern uint GetPreprocessedEntitiesCount(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Function18getParametersCountEv")] - internal static extern uint GetParametersCount(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration22getRedeclarationsCountEv")] + internal static extern uint GetRedeclarationsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.Function __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.Declaration __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Function(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Declaration(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Function __CreateInstance(global::CppSharp.Parser.AST.Function.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Declaration __CreateInstance(global::CppSharp.Parser.AST.Declaration.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Function(native, skipVTables); + return new global::CppSharp.Parser.AST.Declaration(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Function.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Declaration.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); - global::CppSharp.Parser.AST.Function.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); + global::CppSharp.Parser.AST.Declaration.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Function(global::CppSharp.Parser.AST.Function.__Internal native, bool skipVTables = false) + private Declaration(global::CppSharp.Parser.AST.Declaration.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Function(void* native, bool skipVTables = false) - : base((void*) null) + protected Declaration(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public Function() - : this((void*) null) + public Declaration(global::CppSharp.Parser.AST.DeclarationKind kind) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + __Internal.ctor((__Instance + __PointerAdjustment), kind); } - public Function(global::CppSharp.Parser.AST.Function _0) - : this((void*) null) + public Declaration(global::CppSharp.Parser.AST.Declaration _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -7310,7 +6496,12 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; @@ -7323,296 +6514,339 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.Parameter GetParameters(uint i) + public global::CppSharp.Parser.AST.PreprocessedEntity GetPreprocessedEntities(uint i) { - var __ret = __Internal.GetParameters((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Parameter __result0; + var __ret = __Internal.GetPreprocessedEntities((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.PreprocessedEntity __result0; if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Parameter.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Parameter) global::CppSharp.Parser.AST.Parameter.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Parameter.__CreateInstance(__ret); + else if (global::CppSharp.Parser.AST.PreprocessedEntity.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.PreprocessedEntity) global::CppSharp.Parser.AST.PreprocessedEntity.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.PreprocessedEntity.__CreateInstance(__ret); return __result0; } - public void AddParameters(global::CppSharp.Parser.AST.Parameter s) + public void AddPreprocessedEntities(global::CppSharp.Parser.AST.PreprocessedEntity s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddParameters((__Instance + __PointerAdjustment), __arg0); + __Internal.AddPreprocessedEntities((__Instance + __PointerAdjustment), __arg0); } - public void ClearParameters() + public void ClearPreprocessedEntities() { - __Internal.ClearParameters((__Instance + __PointerAdjustment)); + __Internal.ClearPreprocessedEntities((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.QualifiedType ReturnType + public global::CppSharp.Parser.AST.Declaration GetRedeclarations(uint i) + { + var __ret = __Internal.GetRedeclarations((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Declaration __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(__ret); + return __result0; + } + + public void AddRedeclarations(global::CppSharp.Parser.AST.Declaration s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddRedeclarations((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearRedeclarations() + { + __Internal.ClearRedeclarations((__Instance + __PointerAdjustment)); + } + + public static implicit operator global::CppSharp.Parser.AST.Declaration(global::CppSharp.Parser.AST.DeclarationKind kind) + { + return new global::CppSharp.Parser.AST.Declaration(kind); + } + + public global::CppSharp.Parser.AST.DeclarationKind Kind { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->returnType)); + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->kind; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->returnType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->kind = value; } } - public bool IsReturnIndirect + public int MaxFieldAlignment { get { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isReturnIndirect != 0; + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->maxFieldAlignment; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isReturnIndirect = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->maxFieldAlignment = value; } } - public bool HasThisReturn + public global::CppSharp.Parser.AST.AccessSpecifier Access { get { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->hasThisReturn != 0; + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->access; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->hasThisReturn = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->access = value; } } - public bool IsConstExpr + public global::CppSharp.Parser.AST.DeclarationContext Namespace { get { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isConstExpr != 0; + global::CppSharp.Parser.AST.DeclarationContext __result0; + if (((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.DeclarationContext.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace)) + __result0 = (global::CppSharp.Parser.AST.DeclarationContext) global::CppSharp.Parser.AST.DeclarationContext.NativeToManagedMap[((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace]; + else __result0 = global::CppSharp.Parser.AST.DeclarationContext.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace); + return __result0; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isConstExpr = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->_namespace = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public bool IsVariadic + public global::CppSharp.Parser.SourceLocation Location { get { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isVariadic != 0; + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->location); } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isVariadic = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->location = value.__Instance; } } - public bool IsInline + public int LineNumberStart { get { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isInline != 0; + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->lineNumberStart; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isInline = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->lineNumberStart = value; } } - public bool IsPure + public int LineNumberEnd { get { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isPure != 0; + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->lineNumberEnd; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isPure = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->lineNumberEnd = value; } } - public bool IsDeleted + public string Name { get { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isDeleted != 0; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->name)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isDeleted = (byte) (value ? 1 : 0); + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->name), value); } } - public bool IsDefaulted + public string USR { get { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isDefaulted != 0; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->USR)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isDefaulted = (byte) (value ? 1 : 0); + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->USR), value); } } - public global::CppSharp.Parser.AST.FriendKind FriendKind + public string DebugText { get { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->friendKind; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->debugText)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->friendKind = value; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->debugText), value); } } - public global::CppSharp.Parser.AST.CXXOperatorKind OperatorKind + public bool IsIncomplete { get { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->operatorKind; + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isIncomplete != 0; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->operatorKind = value; + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isIncomplete = (byte) (value ? 1 : 0); } } - public string Mangled + public bool IsDependent { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->mangled)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isDependent != 0; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->mangled), value); + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isDependent = (byte) (value ? 1 : 0); } } - public string Signature + public bool IsImplicit { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->signature)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isImplicit != 0; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->signature), value); + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isImplicit = (byte) (value ? 1 : 0); } } - public string Body + public bool IsInvalid { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->body)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isInvalid != 0; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->body), value); + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isInvalid = (byte) (value ? 1 : 0); } } - public global::CppSharp.Parser.AST.CallingConvention CallingConvention + public global::CppSharp.Parser.AST.Declaration CompleteDeclaration { get { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->callingConvention; + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration); + return __result0; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->callingConvention = value; + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->completeDeclaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public global::CppSharp.Parser.AST.FunctionTemplateSpecialization SpecializationInfo + public uint DefinitionOrder { get { - global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0; - if (((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo)) - __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo]; - else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo); - return __result0; + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->definitionOrder; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->specializationInfo = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->definitionOrder = value; } } - public global::CppSharp.Parser.AST.Function InstantiatedFrom + public global::System.IntPtr OriginalPtr { get { - global::CppSharp.Parser.AST.Function __result0; - if (((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom)) - __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom]; - else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom); - return __result0; + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->originalPtr; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->instantiatedFrom = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->originalPtr = (global::System.IntPtr) value; } } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType + public global::CppSharp.Parser.AST.RawComment Comment { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->qualifiedType)); + global::CppSharp.Parser.AST.RawComment __result0; + if (((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.RawComment.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment)) + __result0 = (global::CppSharp.Parser.AST.RawComment) global::CppSharp.Parser.AST.RawComment.NativeToManagedMap[((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment]; + else __result0 = global::CppSharp.Parser.AST.RawComment.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment); + return __result0; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->comment = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public uint ParametersCount + public uint PreprocessedEntitiesCount { get { - var __ret = __Internal.GetParametersCount((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetPreprocessedEntitiesCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public uint RedeclarationsCount + { + get + { + var __ret = __Internal.GetRedeclarationsCount((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class Method : global::CppSharp.Parser.AST.Function, IDisposable + public unsafe partial class DeclarationContext : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 680)] + [StructLayout(LayoutKind.Explicit, Size = 448)] public new partial struct __Internal { [FieldOffset(0)] @@ -7708,157 +6942,227 @@ namespace CppSharp [FieldOffset(440)] internal byte isAnonymous; - [FieldOffset(448)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; - - [FieldOffset(464)] - internal byte isReturnIndirect; - - [FieldOffset(465)] - internal byte hasThisReturn; - - [FieldOffset(466)] - internal byte isConstExpr; - - [FieldOffset(467)] - internal byte isVariadic; - - [FieldOffset(468)] - internal byte isInline; - - [FieldOffset(469)] - internal byte isPure; - - [FieldOffset(470)] - internal byte isDeleted; - - [FieldOffset(471)] - internal byte isDefaulted; - - [FieldOffset(472)] - internal global::CppSharp.Parser.AST.FriendKind friendKind; - - [FieldOffset(476)] - internal global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; - - [FieldOffset(480)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C mangled; - - [FieldOffset(504)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C signature; - - [FieldOffset(528)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C body; - - [FieldOffset(552)] - internal global::CppSharp.Parser.AST.CallingConvention callingConvention; - - [FieldOffset(560)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_N___1_S_allocator__S0_ Parameters; - - [FieldOffset(584)] - internal global::System.IntPtr specializationInfo; - - [FieldOffset(592)] - internal global::System.IntPtr instantiatedFrom; - - [FieldOffset(600)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - - [FieldOffset(616)] - internal byte isVirtual; - - [FieldOffset(617)] - internal byte isStatic; - - [FieldOffset(618)] - internal byte isConst; - - [FieldOffset(619)] - internal byte isExplicit; - - [FieldOffset(620)] - internal global::CppSharp.Parser.AST.CXXMethodKind methodKind; - - [FieldOffset(624)] - internal byte isDefaultConstructor; - - [FieldOffset(625)] - internal byte isCopyConstructor; - - [FieldOffset(626)] - internal byte isMoveConstructor; - - [FieldOffset(632)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal conversionType; - - [FieldOffset(648)] - internal global::CppSharp.Parser.AST.RefQualifierKind refQualifier; - - [FieldOffset(656)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_N___1_S_allocator__S0_ OverriddenMethods; - [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6MethodC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContextC2ENS1_15DeclarationKindE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.DeclarationKind kind); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6MethodC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContextC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6MethodD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContextD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6Method20getOverriddenMethodsEj")] - internal static extern global::System.IntPtr GetOverriddenMethods(global::System.IntPtr __instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext13getNamespacesEj")] + internal static extern global::System.IntPtr GetNamespaces(global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6Method20addOverriddenMethodsERPS2_")] - internal static extern void AddOverriddenMethods(global::System.IntPtr __instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext13addNamespacesERPNS1_9NamespaceE")] + internal static extern void AddNamespaces(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6Method22clearOverriddenMethodsEv")] - internal static extern void ClearOverriddenMethods(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext15clearNamespacesEv")] + internal static extern void ClearNamespaces(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6Method25getOverriddenMethodsCountEv")] - internal static extern uint GetOverriddenMethodsCount(global::System.IntPtr __instance); - } - - internal static new global::CppSharp.Parser.AST.Method __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Method(native.ToPointer(), skipVTables); - } + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext8getEnumsEj")] + internal static extern global::System.IntPtr GetEnums(global::System.IntPtr __instance, uint i); - internal static global::CppSharp.Parser.AST.Method __CreateInstance(global::CppSharp.Parser.AST.Method.__Internal native, bool skipVTables = false) + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext8addEnumsERPNS1_11EnumerationE")] + internal static extern void AddEnums(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10clearEnumsEv")] + internal static extern void ClearEnums(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12getFunctionsEj")] + internal static extern global::System.IntPtr GetFunctions(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12addFunctionsERPNS1_8FunctionE")] + internal static extern void AddFunctions(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14clearFunctionsEv")] + internal static extern void ClearFunctions(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10getClassesEj")] + internal static extern global::System.IntPtr GetClasses(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10addClassesERPNS1_5ClassE")] + internal static extern void AddClasses(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12clearClassesEv")] + internal static extern void ClearClasses(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12getTemplatesEj")] + internal static extern global::System.IntPtr GetTemplates(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12addTemplatesERPNS1_8TemplateE")] + internal static extern void AddTemplates(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14clearTemplatesEv")] + internal static extern void ClearTemplates(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext11getTypedefsEj")] + internal static extern global::System.IntPtr GetTypedefs(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext11addTypedefsERPNS1_11TypedefDeclE")] + internal static extern void AddTypedefs(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext13clearTypedefsEv")] + internal static extern void ClearTypedefs(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14getTypeAliasesEj")] + internal static extern global::System.IntPtr GetTypeAliases(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14addTypeAliasesERPNS1_9TypeAliasE")] + internal static extern void AddTypeAliases(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext16clearTypeAliasesEv")] + internal static extern void ClearTypeAliases(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12getVariablesEj")] + internal static extern global::System.IntPtr GetVariables(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12addVariablesERPNS1_8VariableE")] + internal static extern void AddVariables(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14clearVariablesEv")] + internal static extern void ClearVariables(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10getFriendsEj")] + internal static extern global::System.IntPtr GetFriends(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10addFriendsERPNS1_6FriendE")] + internal static extern void AddFriends(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12clearFriendsEv")] + internal static extern void ClearFriends(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext18getNamespacesCountEv")] + internal static extern uint GetNamespacesCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext13getEnumsCountEv")] + internal static extern uint GetEnumsCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext17getFunctionsCountEv")] + internal static extern uint GetFunctionsCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext15getClassesCountEv")] + internal static extern uint GetClassesCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext17getTemplatesCountEv")] + internal static extern uint GetTemplatesCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext16getTypedefsCountEv")] + internal static extern uint GetTypedefsCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext19getTypeAliasesCountEv")] + internal static extern uint GetTypeAliasesCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext17getVariablesCountEv")] + internal static extern uint GetVariablesCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext15getFriendsCountEv")] + internal static extern uint GetFriendsCount(global::System.IntPtr __instance); + } + + internal static new global::CppSharp.Parser.AST.DeclarationContext __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Method(native, skipVTables); + return new global::CppSharp.Parser.AST.DeclarationContext(native.ToPointer(), skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Method.__Internal native) + internal static global::CppSharp.Parser.AST.DeclarationContext __CreateInstance(global::CppSharp.Parser.AST.DeclarationContext.__Internal native, bool skipVTables = false) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); - global::CppSharp.Parser.AST.Method.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return new global::CppSharp.Parser.AST.DeclarationContext(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.DeclarationContext.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); + global::CppSharp.Parser.AST.DeclarationContext.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Method(global::CppSharp.Parser.AST.Method.__Internal native, bool skipVTables = false) + private DeclarationContext(global::CppSharp.Parser.AST.DeclarationContext.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Method(void* native, bool skipVTables = false) + protected DeclarationContext(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -7867,19 +7171,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Method() + public DeclarationContext(global::CppSharp.Parser.AST.DeclarationKind kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + __Internal.ctor((__Instance + __PointerAdjustment), kind); } - public Method(global::CppSharp.Parser.AST.Method _0) + public DeclarationContext(global::CppSharp.Parser.AST.DeclarationContext _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -7901,173 +7205,325 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.Method GetOverriddenMethods(uint i) + public global::CppSharp.Parser.AST.Namespace GetNamespaces(uint i) { - var __ret = __Internal.GetOverriddenMethods((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Method __result0; + var __ret = __Internal.GetNamespaces((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Namespace __result0; if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Method.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Method) global::CppSharp.Parser.AST.Method.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Method.__CreateInstance(__ret); + else if (global::CppSharp.Parser.AST.Namespace.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Namespace) global::CppSharp.Parser.AST.Namespace.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Namespace.__CreateInstance(__ret); return __result0; } - public void AddOverriddenMethods(global::CppSharp.Parser.AST.Method s) + public void AddNamespaces(global::CppSharp.Parser.AST.Namespace s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddOverriddenMethods((__Instance + __PointerAdjustment), __arg0); + __Internal.AddNamespaces((__Instance + __PointerAdjustment), __arg0); } - public void ClearOverriddenMethods() + public void ClearNamespaces() { - __Internal.ClearOverriddenMethods((__Instance + __PointerAdjustment)); + __Internal.ClearNamespaces((__Instance + __PointerAdjustment)); } - public bool IsVirtual + public global::CppSharp.Parser.AST.Enumeration GetEnums(uint i) { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isVirtual != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isVirtual = (byte) (value ? 1 : 0); - } + var __ret = __Internal.GetEnums((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Enumeration __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Enumeration.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Enumeration) global::CppSharp.Parser.AST.Enumeration.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Enumeration.__CreateInstance(__ret); + return __result0; } - public bool IsStatic + public void AddEnums(global::CppSharp.Parser.AST.Enumeration s) { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isStatic != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isStatic = (byte) (value ? 1 : 0); - } + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddEnums((__Instance + __PointerAdjustment), __arg0); } - public bool IsConst + public void ClearEnums() { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isConst != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isConst = (byte) (value ? 1 : 0); - } + __Internal.ClearEnums((__Instance + __PointerAdjustment)); } - public bool IsExplicit + public global::CppSharp.Parser.AST.Function GetFunctions(uint i) { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isExplicit != 0; - } + var __ret = __Internal.GetFunctions((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Function __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(__ret); + return __result0; + } - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isExplicit = (byte) (value ? 1 : 0); - } + public void AddFunctions(global::CppSharp.Parser.AST.Function s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddFunctions((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.CXXMethodKind MethodKind + public void ClearFunctions() { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->methodKind; - } + __Internal.ClearFunctions((__Instance + __PointerAdjustment)); + } - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->methodKind = value; - } + public global::CppSharp.Parser.AST.Class GetClasses(uint i) + { + var __ret = __Internal.GetClasses((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Class __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(__ret); + return __result0; } - public bool IsDefaultConstructor + public void AddClasses(global::CppSharp.Parser.AST.Class s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddClasses((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearClasses() + { + __Internal.ClearClasses((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Template GetTemplates(uint i) + { + var __ret = __Internal.GetTemplates((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Template __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Template.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Template) global::CppSharp.Parser.AST.Template.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Template.__CreateInstance(__ret); + return __result0; + } + + public void AddTemplates(global::CppSharp.Parser.AST.Template s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddTemplates((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearTemplates() + { + __Internal.ClearTemplates((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.TypedefDecl GetTypedefs(uint i) + { + var __ret = __Internal.GetTypedefs((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.TypedefDecl __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TypedefDecl.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.TypedefDecl) global::CppSharp.Parser.AST.TypedefDecl.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.TypedefDecl.__CreateInstance(__ret); + return __result0; + } + + public void AddTypedefs(global::CppSharp.Parser.AST.TypedefDecl s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddTypedefs((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearTypedefs() + { + __Internal.ClearTypedefs((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.TypeAlias GetTypeAliases(uint i) + { + var __ret = __Internal.GetTypeAliases((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.TypeAlias __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TypeAlias.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.TypeAlias) global::CppSharp.Parser.AST.TypeAlias.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.TypeAlias.__CreateInstance(__ret); + return __result0; + } + + public void AddTypeAliases(global::CppSharp.Parser.AST.TypeAlias s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddTypeAliases((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearTypeAliases() + { + __Internal.ClearTypeAliases((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Variable GetVariables(uint i) + { + var __ret = __Internal.GetVariables((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Variable __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Variable.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Variable) global::CppSharp.Parser.AST.Variable.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Variable.__CreateInstance(__ret); + return __result0; + } + + public void AddVariables(global::CppSharp.Parser.AST.Variable s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddVariables((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearVariables() + { + __Internal.ClearVariables((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Friend GetFriends(uint i) + { + var __ret = __Internal.GetFriends((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Friend __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Friend.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Friend) global::CppSharp.Parser.AST.Friend.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Friend.__CreateInstance(__ret); + return __result0; + } + + public void AddFriends(global::CppSharp.Parser.AST.Friend s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddFriends((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearFriends() + { + __Internal.ClearFriends((__Instance + __PointerAdjustment)); + } + + public static implicit operator global::CppSharp.Parser.AST.DeclarationContext(global::CppSharp.Parser.AST.DeclarationKind kind) + { + return new global::CppSharp.Parser.AST.DeclarationContext(kind); + } + + public bool IsAnonymous { get { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isDefaultConstructor != 0; + return ((global::CppSharp.Parser.AST.DeclarationContext.__Internal*) __Instance)->isAnonymous != 0; } set { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isDefaultConstructor = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.DeclarationContext.__Internal*)__Instance)->isAnonymous = (byte) (value ? 1 : 0); } } - public bool IsCopyConstructor + public uint NamespacesCount { get { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isCopyConstructor != 0; + var __ret = __Internal.GetNamespacesCount((__Instance + __PointerAdjustment)); + return __ret; } + } - set + public uint EnumsCount + { + get { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isCopyConstructor = (byte) (value ? 1 : 0); + var __ret = __Internal.GetEnumsCount((__Instance + __PointerAdjustment)); + return __ret; } } - public bool IsMoveConstructor + public uint FunctionsCount { get { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isMoveConstructor != 0; + var __ret = __Internal.GetFunctionsCount((__Instance + __PointerAdjustment)); + return __ret; } + } - set + public uint ClassesCount + { + get { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isMoveConstructor = (byte) (value ? 1 : 0); + var __ret = __Internal.GetClassesCount((__Instance + __PointerAdjustment)); + return __ret; } } - public global::CppSharp.Parser.AST.QualifiedType ConversionType + public uint TemplatesCount { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->conversionType)); + var __ret = __Internal.GetTemplatesCount((__Instance + __PointerAdjustment)); + return __ret; } + } - set + public uint TypedefsCount + { + get { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->conversionType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + var __ret = __Internal.GetTypedefsCount((__Instance + __PointerAdjustment)); + return __ret; } } - public global::CppSharp.Parser.AST.RefQualifierKind RefQualifier + public uint TypeAliasesCount { get { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->refQualifier; + var __ret = __Internal.GetTypeAliasesCount((__Instance + __PointerAdjustment)); + return __ret; } + } - set + public uint VariablesCount + { + get { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->refQualifier = value; + var __ret = __Internal.GetVariablesCount((__Instance + __PointerAdjustment)); + return __ret; } } - public uint OverriddenMethodsCount + public uint FriendsCount { get { - var __ret = __Internal.GetOverriddenMethodsCount((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetFriendsCount((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class Enumeration : global::CppSharp.Parser.AST.DeclarationContext, IDisposable + public unsafe partial class TypedefNameDecl : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 488)] + [StructLayout(LayoutKind.Explicit, Size = 216)] public new partial struct __Internal { [FieldOffset(0)] @@ -8131,308 +7587,219 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(200)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [FieldOffset(224)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; - - [FieldOffset(248)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; - - [FieldOffset(272)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; - - [FieldOffset(296)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; - - [FieldOffset(320)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; - - [FieldOffset(344)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; - - [FieldOffset(368)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; - - [FieldOffset(392)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; - - [FieldOffset(416)] - internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; - - [FieldOffset(440)] - internal byte isAnonymous; - - [FieldOffset(444)] - internal global::CppSharp.Parser.AST.Enumeration.EnumModifiers modifiers; - - [FieldOffset(448)] - internal global::System.IntPtr type; - - [FieldOffset(456)] - internal global::System.IntPtr builtinType; - - [FieldOffset(464)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration_S_Item___N_std_N___1_S_allocator__S0_ Items; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15TypedefNameDeclC2ENS1_15DeclarationKindE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.DeclarationKind kind); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST15TypedefNameDeclC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST15TypedefNameDeclD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration8getItemsEj")] - internal static extern global::System.IntPtr GetItems(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration8addItemsERPNS2_4ItemE")] - internal static extern void AddItems(global::System.IntPtr __instance, global::System.IntPtr s); + internal static new global::CppSharp.Parser.AST.TypedefNameDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TypedefNameDecl(native.ToPointer(), skipVTables); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration10clearItemsEv")] - internal static extern void ClearItems(global::System.IntPtr __instance); + internal static global::CppSharp.Parser.AST.TypedefNameDecl __CreateInstance(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TypedefNameDecl(native, skipVTables); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration14FindItemByNameERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE")] - internal static extern global::System.IntPtr FindItemByName(global::System.IntPtr __instance, global::System.IntPtr Name); + private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); + global::CppSharp.Parser.AST.TypedefNameDecl.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration13getItemsCountEv")] - internal static extern uint GetItemsCount(global::System.IntPtr __instance); + private TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; } - [Flags] - public enum EnumModifiers + protected TypedefNameDecl(void* native, bool skipVTables = false) + : base((void*) null) { - Anonymous = 1, - Scoped = 2, - Flags = 4 + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - public unsafe partial class Item : global::CppSharp.Parser.AST.Declaration, IDisposable + public TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) + : this((void*) null) { - [StructLayout(LayoutKind.Explicit, Size = 232)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), kind); + } - [FieldOffset(4)] - internal int maxFieldAlignment; + public TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } - [FieldOffset(16)] - internal global::System.IntPtr _namespace; + public static implicit operator global::CppSharp.Parser.AST.TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) + { + return new global::CppSharp.Parser.AST.TypedefNameDecl(kind); + } - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + public global::CppSharp.Parser.AST.QualifiedType QualifiedType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TypedefNameDecl.__Internal*) __Instance)->qualifiedType)); + } - [FieldOffset(28)] - internal int lineNumberStart; + set + { + ((global::CppSharp.Parser.AST.TypedefNameDecl.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + } - [FieldOffset(32)] - internal int lineNumberEnd; + public unsafe partial class TypedefDecl : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 216)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + [FieldOffset(4)] + internal int maxFieldAlignment; - [FieldOffset(64)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; - [FieldOffset(88)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + [FieldOffset(16)] + internal global::System.IntPtr _namespace; - [FieldOffset(112)] - internal byte isIncomplete; + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; - [FieldOffset(113)] - internal byte isDependent; + [FieldOffset(28)] + internal int lineNumberStart; - [FieldOffset(114)] - internal byte isImplicit; + [FieldOffset(32)] + internal int lineNumberEnd; - [FieldOffset(115)] - internal byte isInvalid; + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - [FieldOffset(120)] - internal global::System.IntPtr completeDeclaration; + [FieldOffset(64)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - [FieldOffset(128)] - internal uint definitionOrder; + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; - [FieldOffset(136)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + [FieldOffset(112)] + internal byte isIncomplete; - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + [FieldOffset(113)] + internal byte isDependent; - [FieldOffset(184)] - internal global::System.IntPtr originalPtr; + [FieldOffset(114)] + internal byte isImplicit; - [FieldOffset(192)] - internal global::System.IntPtr comment; + [FieldOffset(115)] + internal byte isInvalid; - [FieldOffset(200)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C expression; + [FieldOffset(120)] + internal global::System.IntPtr completeDeclaration; - [FieldOffset(224)] - internal ulong value; + [FieldOffset(128)] + internal uint definitionOrder; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4ItemC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + [FieldOffset(136)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4ItemC2ERKS3_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4ItemD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); - } + [FieldOffset(184)] + internal global::System.IntPtr originalPtr; - internal static new global::CppSharp.Parser.AST.Enumeration.Item __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Enumeration.Item(native.ToPointer(), skipVTables); - } + [FieldOffset(192)] + internal global::System.IntPtr comment; - internal static global::CppSharp.Parser.AST.Enumeration.Item __CreateInstance(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Enumeration.Item(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); - global::CppSharp.Parser.AST.Enumeration.Item.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private Item(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected Item(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public Item() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } - - public Item(global::CppSharp.Parser.AST.Enumeration.Item _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } - - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public string Expression - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*) __Instance)->expression)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + [FieldOffset(200)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*)__Instance)->expression), value); - } - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefDeclC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); - public ulong Value - { - get - { - return ((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*) __Instance)->value; - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefDeclC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - set - { - ((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*)__Instance)->value = value; - } - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefDeclD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.Enumeration __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TypedefDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Enumeration(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TypedefDecl(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Enumeration __CreateInstance(global::CppSharp.Parser.AST.Enumeration.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TypedefDecl __CreateInstance(global::CppSharp.Parser.AST.TypedefDecl.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Enumeration(native, skipVTables); + return new global::CppSharp.Parser.AST.TypedefDecl(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Enumeration.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefDecl.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); - global::CppSharp.Parser.AST.Enumeration.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); + global::CppSharp.Parser.AST.TypedefDecl.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Enumeration(global::CppSharp.Parser.AST.Enumeration.__Internal native, bool skipVTables = false) + private TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Enumeration(void* native, bool skipVTables = false) + protected TypedefDecl(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -8441,19 +7808,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Enumeration() + public TypedefDecl() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public Enumeration(global::CppSharp.Parser.AST.Enumeration _0) + public TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -8474,108 +7841,11 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - - public global::CppSharp.Parser.AST.Enumeration.Item GetItems(uint i) - { - var __ret = __Internal.GetItems((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Enumeration.Item __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Enumeration.Item) global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Enumeration.Item.__CreateInstance(__ret); - return __result0; - } - - public void AddItems(global::CppSharp.Parser.AST.Enumeration.Item s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddItems((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearItems() - { - __Internal.ClearItems((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.Enumeration.Item FindItemByName(string Name) - { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, Name); - var __arg0 = __basicString0.__Instance; - var __ret = __Internal.FindItemByName((__Instance + __PointerAdjustment), __arg0); - __basicString0.Dispose(false); - global::CppSharp.Parser.AST.Enumeration.Item __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Enumeration.Item) global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Enumeration.Item.__CreateInstance(__ret); - return __result0; - } - - public global::CppSharp.Parser.AST.Enumeration.EnumModifiers Modifiers - { - get - { - return ((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->modifiers; - } - - set - { - ((global::CppSharp.Parser.AST.Enumeration.__Internal*)__Instance)->modifiers = value; - } - } - - public global::CppSharp.Parser.AST.Type Type - { - get - { - global::CppSharp.Parser.AST.Type __result0; - if (((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type)) - __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type]; - else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.Enumeration.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - - public global::CppSharp.Parser.AST.BuiltinType BuiltinType - { - get - { - global::CppSharp.Parser.AST.BuiltinType __result0; - if (((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.BuiltinType.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType)) - __result0 = (global::CppSharp.Parser.AST.BuiltinType) global::CppSharp.Parser.AST.BuiltinType.NativeToManagedMap[((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType]; - else __result0 = global::CppSharp.Parser.AST.BuiltinType.__CreateInstance(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.Enumeration.__Internal*)__Instance)->builtinType = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - - public uint ItemsCount - { - get - { - var __ret = __Internal.GetItemsCount((__Instance + __PointerAdjustment)); - return __ret; - } - } } - public unsafe partial class Variable : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class TypeAlias : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 240)] + [StructLayout(LayoutKind.Explicit, Size = 224)] public new partial struct __Internal { [FieldOffset(0)] @@ -8639,52 +7909,52 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(200)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C mangled; - - [FieldOffset(224)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + [FieldOffset(216)] + internal global::System.IntPtr describedAliasTemplate; + [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8VariableC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST9TypeAliasC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8VariableC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST9TypeAliasC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8VariableD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST9TypeAliasD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.Variable __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TypeAlias __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Variable(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TypeAlias(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Variable __CreateInstance(global::CppSharp.Parser.AST.Variable.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TypeAlias __CreateInstance(global::CppSharp.Parser.AST.TypeAlias.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Variable(native, skipVTables); + return new global::CppSharp.Parser.AST.TypeAlias(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Variable.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypeAlias.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); - global::CppSharp.Parser.AST.Variable.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); + global::CppSharp.Parser.AST.TypeAlias.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Variable(global::CppSharp.Parser.AST.Variable.__Internal native, bool skipVTables = false) + private TypeAlias(global::CppSharp.Parser.AST.TypeAlias.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Variable(void* native, bool skipVTables = false) + protected TypeAlias(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -8693,19 +7963,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Variable() + public TypeAlias() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public Variable(global::CppSharp.Parser.AST.Variable _0) + public TypeAlias(global::CppSharp.Parser.AST.TypeAlias _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -8727,196 +7997,28 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public string Mangled - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Variable.__Internal*) __Instance)->mangled)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Variable.__Internal*)__Instance)->mangled), value); - } - } - - public global::CppSharp.Parser.AST.QualifiedType QualifiedType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Variable.__Internal*) __Instance)->qualifiedType)); - } - - set - { - ((global::CppSharp.Parser.AST.Variable.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } - } - - public unsafe partial class BaseClassSpecifier : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 24)] - public partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(4)] - internal byte isVirtual; - - [FieldOffset(8)] - internal global::System.IntPtr type; - - [FieldOffset(16)] - internal int offset; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18BaseClassSpecifierC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18BaseClassSpecifierC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - } - - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.BaseClassSpecifier __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.BaseClassSpecifier(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.BaseClassSpecifier __CreateInstance(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.BaseClassSpecifier(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); - *(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) ret = native; - return ret.ToPointer(); - } - - private BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected BaseClassSpecifier(void* native, bool skipVTables = false) - { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public BaseClassSpecifier() - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } - - public BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier _0) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) _0.__Instance); - } - - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.BaseClassSpecifier __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public global::CppSharp.Parser.AST.AccessSpecifier Access - { - get - { - return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->access; - } - - set - { - ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->access = value; - } - } - - public bool IsVirtual - { - get - { - return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->isVirtual != 0; - } - - set - { - ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->isVirtual = (byte) (value ? 1 : 0); - } - } - - public global::CppSharp.Parser.AST.Type Type + public global::CppSharp.Parser.AST.TypeAliasTemplate DescribedAliasTemplate { get { - global::CppSharp.Parser.AST.Type __result0; - if (((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type)) - __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type]; - else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type); + global::CppSharp.Parser.AST.TypeAliasTemplate __result0; + if (((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TypeAliasTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate)) + __result0 = (global::CppSharp.Parser.AST.TypeAliasTemplate) global::CppSharp.Parser.AST.TypeAliasTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate]; + else __result0 = global::CppSharp.Parser.AST.TypeAliasTemplate.__CreateInstance(((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate); return __result0; } set { - ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - - public int Offset - { - get - { - return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->offset; - } - - set - { - ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->offset = value; + ((global::CppSharp.Parser.AST.TypeAlias.__Internal*)__Instance)->describedAliasTemplate = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class Field : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class Friend : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 232)] + [StructLayout(LayoutKind.Explicit, Size = 208)] public new partial struct __Internal { [FieldOffset(0)] @@ -8980,58 +8082,49 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(200)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - - [FieldOffset(216)] - internal global::System.IntPtr _class; - - [FieldOffset(224)] - internal byte isBitField; - - [FieldOffset(228)] - internal uint bitWidth; + internal global::System.IntPtr declaration; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5FieldC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST6FriendC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5FieldC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST6FriendC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5FieldD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST6FriendD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.Field __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Friend __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Field(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Friend(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Field __CreateInstance(global::CppSharp.Parser.AST.Field.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Friend __CreateInstance(global::CppSharp.Parser.AST.Friend.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Field(native, skipVTables); + return new global::CppSharp.Parser.AST.Friend(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Field.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Friend.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); - global::CppSharp.Parser.AST.Field.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); + global::CppSharp.Parser.AST.Friend.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Field(global::CppSharp.Parser.AST.Field.__Internal native, bool skipVTables = false) + private Friend(global::CppSharp.Parser.AST.Friend.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Field(void* native, bool skipVTables = false) + protected Friend(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -9040,19 +8133,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Field() + public Friend() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public Field(global::CppSharp.Parser.AST.Field _0) + public Friend(global::CppSharp.Parser.AST.Friend _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -9074,170 +8167,239 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType + public global::CppSharp.Parser.AST.Declaration Declaration { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->qualifiedType)); + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration); + return __result0; } set { - ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.Friend.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } + } - public global::CppSharp.Parser.AST.Class Class + public unsafe partial class StatementObsolete : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public partial struct __Internal { - get + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StatementClassObsolete _class; + + [FieldOffset(8)] + internal global::System.IntPtr decl; + + [FieldOffset(16)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C @string; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17StatementObsoleteC2ERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEENS1_22StatementClassObsoleteEPNS1_11DeclarationE")] + internal static extern void ctor(global::System.IntPtr __instance, global::System.IntPtr str, global::CppSharp.Parser.AST.StatementClassObsolete Class, global::System.IntPtr decl); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17StatementObsoleteC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17StatementObsoleteD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.StatementObsolete __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.StatementObsolete(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.StatementObsolete __CreateInstance(global::CppSharp.Parser.AST.StatementObsolete.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.StatementObsolete(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.StatementObsolete.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StatementObsolete.__Internal)); + global::CppSharp.Parser.AST.StatementObsolete.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private StatementObsolete(global::CppSharp.Parser.AST.StatementObsolete.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected StatementObsolete(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public StatementObsolete(string str, global::CppSharp.Parser.AST.StatementClassObsolete Class, global::CppSharp.Parser.AST.Declaration decl) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StatementObsolete.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, str); + var __arg0 = __basicString0.__Instance; + var __arg2 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; + __Internal.ctor((__Instance + __PointerAdjustment), __arg0, Class, __arg2); + __basicString0.Dispose(false); + } + + public StatementObsolete(global::CppSharp.Parser.AST.StatementObsolete _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StatementObsolete.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.StatementObsolete __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.StatementClassObsolete Class + { + get { - global::CppSharp.Parser.AST.Class __result0; - if (((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class)) - __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class]; - else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class); - return __result0; + return ((global::CppSharp.Parser.AST.StatementObsolete.__Internal*) __Instance)->_class; } set { - ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.StatementObsolete.__Internal*)__Instance)->_class = value; } } - public bool IsBitField + public global::CppSharp.Parser.AST.Declaration Decl { get { - return ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->isBitField != 0; + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.StatementObsolete.__Internal*) __Instance)->decl == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.StatementObsolete.__Internal*) __Instance)->decl)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.StatementObsolete.__Internal*) __Instance)->decl]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.StatementObsolete.__Internal*) __Instance)->decl); + return __result0; } set { - ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->isBitField = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.StatementObsolete.__Internal*)__Instance)->decl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public uint BitWidth + public string String { get { - return ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->bitWidth; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.StatementObsolete.__Internal*) __Instance)->@string)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->bitWidth = value; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.StatementObsolete.__Internal*)__Instance)->@string), value); } } } - public unsafe partial class AccessSpecifierDecl : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class ExpressionObsolete : global::CppSharp.Parser.AST.StatementObsolete, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 200)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; + internal global::CppSharp.Parser.AST.StatementClassObsolete _class; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + internal global::System.IntPtr decl; [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; - - [FieldOffset(32)] - internal int lineNumberEnd; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - - [FieldOffset(64)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - - [FieldOffset(88)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; - - [FieldOffset(112)] - internal byte isIncomplete; - - [FieldOffset(113)] - internal byte isDependent; - - [FieldOffset(114)] - internal byte isImplicit; - - [FieldOffset(115)] - internal byte isInvalid; - - [FieldOffset(120)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(128)] - internal uint definitionOrder; - - [FieldOffset(136)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; - - [FieldOffset(184)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(192)] - internal global::System.IntPtr comment; + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C @string; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST18ExpressionObsoleteC2ERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEENS1_22StatementClassObsoleteEPNS1_11DeclarationE")] + internal static extern void ctor(global::System.IntPtr __instance, global::System.IntPtr str, global::CppSharp.Parser.AST.StatementClassObsolete Class, global::System.IntPtr decl); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST18ExpressionObsoleteC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST18ExpressionObsoleteD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.AccessSpecifierDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.ExpressionObsolete __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.AccessSpecifierDecl(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.ExpressionObsolete(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.AccessSpecifierDecl __CreateInstance(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.ExpressionObsolete __CreateInstance(global::CppSharp.Parser.AST.ExpressionObsolete.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.AccessSpecifierDecl(native, skipVTables); + return new global::CppSharp.Parser.AST.ExpressionObsolete(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ExpressionObsolete.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); - global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExpressionObsolete.__Internal)); + global::CppSharp.Parser.AST.ExpressionObsolete.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private AccessSpecifierDecl(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native, bool skipVTables = false) + private ExpressionObsolete(global::CppSharp.Parser.AST.ExpressionObsolete.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected AccessSpecifierDecl(void* native, bool skipVTables = false) + protected ExpressionObsolete(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -9246,19 +8408,24 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public AccessSpecifierDecl() + public ExpressionObsolete(string str, global::CppSharp.Parser.AST.StatementClassObsolete Class, global::CppSharp.Parser.AST.Declaration decl) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExpressionObsolete.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, str); + var __arg0 = __basicString0.__Instance; + var __arg2 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; + __Internal.ctor((__Instance + __PointerAdjustment), __arg0, Class, __arg2); + __basicString0.Dispose(false); } - public AccessSpecifierDecl(global::CppSharp.Parser.AST.AccessSpecifierDecl _0) + public ExpressionObsolete(global::CppSharp.Parser.AST.ExpressionObsolete _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExpressionObsolete.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -9271,7 +8438,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.StatementObsolete __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -9281,270 +8448,253 @@ namespace CppSharp } } - public unsafe partial class Class : global::CppSharp.Parser.AST.DeclarationContext, IDisposable + public unsafe partial class BinaryOperatorObsolete : global::CppSharp.Parser.AST.ExpressionObsolete, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 568)] + [StructLayout(LayoutKind.Explicit, Size = 80)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; + internal global::CppSharp.Parser.AST.StatementClassObsolete _class; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + internal global::System.IntPtr decl; [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; - - [FieldOffset(32)] - internal int lineNumberEnd; + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C @string; [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - - [FieldOffset(64)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + internal global::System.IntPtr LHS; - [FieldOffset(88)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + [FieldOffset(48)] + internal global::System.IntPtr RHS; - [FieldOffset(112)] - internal byte isIncomplete; + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C opcodeStr; - [FieldOffset(113)] - internal byte isDependent; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST22BinaryOperatorObsoleteC2ERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEPNS1_18ExpressionObsoleteESD_SB_")] + internal static extern void ctor(global::System.IntPtr __instance, global::System.IntPtr str, global::System.IntPtr lhs, global::System.IntPtr rhs, global::System.IntPtr opcodeStr); - [FieldOffset(114)] - internal byte isImplicit; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST22BinaryOperatorObsoleteC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - [FieldOffset(115)] - internal byte isInvalid; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST22BinaryOperatorObsoleteD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + } - [FieldOffset(120)] - internal global::System.IntPtr completeDeclaration; + internal static new global::CppSharp.Parser.AST.BinaryOperatorObsolete __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.BinaryOperatorObsolete(native.ToPointer(), skipVTables); + } - [FieldOffset(128)] - internal uint definitionOrder; + internal static global::CppSharp.Parser.AST.BinaryOperatorObsolete __CreateInstance(global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.BinaryOperatorObsolete(native, skipVTables); + } - [FieldOffset(136)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + private static void* __CopyValue(global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal)); + global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; - - [FieldOffset(184)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(192)] - internal global::System.IntPtr comment; - - [FieldOffset(200)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; - - [FieldOffset(224)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; - - [FieldOffset(248)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; - - [FieldOffset(272)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; - - [FieldOffset(296)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; - - [FieldOffset(320)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; - - [FieldOffset(344)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; - - [FieldOffset(368)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; - - [FieldOffset(392)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; - - [FieldOffset(416)] - internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; - - [FieldOffset(440)] - internal byte isAnonymous; - - [FieldOffset(448)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BaseClassSpecifier___N_std_N___1_S_allocator__S0_ Bases; + private BinaryOperatorObsolete(global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(472)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Field___N_std_N___1_S_allocator__S0_ Fields; + protected BinaryOperatorObsolete(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(496)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_N___1_S_allocator__S0_ Methods; + public BinaryOperatorObsolete(string str, global::CppSharp.Parser.AST.ExpressionObsolete lhs, global::CppSharp.Parser.AST.ExpressionObsolete rhs, string opcodeStr) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, str); + var __arg0 = __basicString0.__Instance; + var __arg1 = ReferenceEquals(lhs, null) ? global::System.IntPtr.Zero : lhs.__Instance; + var __arg2 = ReferenceEquals(rhs, null) ? global::System.IntPtr.Zero : rhs.__Instance; + var __basicString3 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString3, opcodeStr); + var __arg3 = __basicString3.__Instance; + __Internal.ctor((__Instance + __PointerAdjustment), __arg0, __arg1, __arg2, __arg3); + __basicString0.Dispose(false); + __basicString3.Dispose(false); + } - [FieldOffset(520)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_AccessSpecifierDecl___N_std_N___1_S_allocator__S0_ Specifiers; + public BinaryOperatorObsolete(global::CppSharp.Parser.AST.BinaryOperatorObsolete _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(544)] - internal byte isPOD; + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.StatementObsolete __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } - [FieldOffset(545)] - internal byte isAbstract; + public global::CppSharp.Parser.AST.ExpressionObsolete LHS + { + get + { + global::CppSharp.Parser.AST.ExpressionObsolete __result0; + if (((global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal*) __Instance)->LHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ExpressionObsolete.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal*) __Instance)->LHS)) + __result0 = (global::CppSharp.Parser.AST.ExpressionObsolete) global::CppSharp.Parser.AST.ExpressionObsolete.NativeToManagedMap[((global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal*) __Instance)->LHS]; + else __result0 = global::CppSharp.Parser.AST.ExpressionObsolete.__CreateInstance(((global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal*) __Instance)->LHS); + return __result0; + } - [FieldOffset(546)] - internal byte isUnion; + set + { + ((global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal*)__Instance)->LHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } - [FieldOffset(547)] - internal byte isDynamic; + public global::CppSharp.Parser.AST.ExpressionObsolete RHS + { + get + { + global::CppSharp.Parser.AST.ExpressionObsolete __result0; + if (((global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal*) __Instance)->RHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ExpressionObsolete.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal*) __Instance)->RHS)) + __result0 = (global::CppSharp.Parser.AST.ExpressionObsolete) global::CppSharp.Parser.AST.ExpressionObsolete.NativeToManagedMap[((global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal*) __Instance)->RHS]; + else __result0 = global::CppSharp.Parser.AST.ExpressionObsolete.__CreateInstance(((global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal*) __Instance)->RHS); + return __result0; + } - [FieldOffset(548)] - internal byte isPolymorphic; + set + { + ((global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal*)__Instance)->RHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } - [FieldOffset(549)] - internal byte hasNonTrivialDefaultConstructor; + public string OpcodeStr + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal*) __Instance)->opcodeStr)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - [FieldOffset(550)] - internal byte hasNonTrivialCopyConstructor; + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal*)__Instance)->opcodeStr), value); + } + } + } - [FieldOffset(551)] - internal byte hasNonTrivialDestructor; + public unsafe partial class CallExprObsolete : global::CppSharp.Parser.AST.ExpressionObsolete, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StatementClassObsolete _class; - [FieldOffset(552)] - internal byte isExternCContext; + [FieldOffset(8)] + internal global::System.IntPtr decl; - [FieldOffset(553)] - internal byte isInjected; + [FieldOffset(16)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C @string; - [FieldOffset(560)] - internal global::System.IntPtr layout; + [FieldOffset(40)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_ExpressionObsolete___N_std_N___1_S_allocator__S0_ Arguments; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5ClassC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST16CallExprObsoleteC2ERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEPNS1_11DeclarationE")] + internal static extern void ctor(global::System.IntPtr __instance, global::System.IntPtr str, global::System.IntPtr decl); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5ClassC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST16CallExprObsoleteC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5ClassD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST16CallExprObsoleteD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class8getBasesEj")] - internal static extern global::System.IntPtr GetBases(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class8addBasesERPNS1_18BaseClassSpecifierE")] - internal static extern void AddBases(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class10clearBasesEv")] - internal static extern void ClearBases(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class9getFieldsEj")] - internal static extern global::System.IntPtr GetFields(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class9addFieldsERPNS1_5FieldE")] - internal static extern void AddFields(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class11clearFieldsEv")] - internal static extern void ClearFields(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class10getMethodsEj")] - internal static extern global::System.IntPtr GetMethods(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class10addMethodsERPNS1_6MethodE")] - internal static extern void AddMethods(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class12clearMethodsEv")] - internal static extern void ClearMethods(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class13getSpecifiersEj")] - internal static extern global::System.IntPtr GetSpecifiers(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class13addSpecifiersERPNS1_19AccessSpecifierDeclE")] - internal static extern void AddSpecifiers(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class15clearSpecifiersEv")] - internal static extern void ClearSpecifiers(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class13getBasesCountEv")] - internal static extern uint GetBasesCount(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST16CallExprObsolete12getArgumentsEj")] + internal static extern global::System.IntPtr GetArguments(global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class14getFieldsCountEv")] - internal static extern uint GetFieldsCount(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST16CallExprObsolete12addArgumentsERPNS1_18ExpressionObsoleteE")] + internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class15getMethodsCountEv")] - internal static extern uint GetMethodsCount(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST16CallExprObsolete14clearArgumentsEv")] + internal static extern void ClearArguments(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class18getSpecifiersCountEv")] - internal static extern uint GetSpecifiersCount(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST16CallExprObsolete17getArgumentsCountEv")] + internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.Class __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.CallExprObsolete __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Class(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.CallExprObsolete(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Class __CreateInstance(global::CppSharp.Parser.AST.Class.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.CallExprObsolete __CreateInstance(global::CppSharp.Parser.AST.CallExprObsolete.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Class(native, skipVTables); + return new global::CppSharp.Parser.AST.CallExprObsolete(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Class.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.CallExprObsolete.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); - global::CppSharp.Parser.AST.Class.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExprObsolete.__Internal)); + global::CppSharp.Parser.AST.CallExprObsolete.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Class(global::CppSharp.Parser.AST.Class.__Internal native, bool skipVTables = false) + private CallExprObsolete(global::CppSharp.Parser.AST.CallExprObsolete.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Class(void* native, bool skipVTables = false) + protected CallExprObsolete(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -9553,19 +8703,24 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Class() + public CallExprObsolete(string str, global::CppSharp.Parser.AST.Declaration decl) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExprObsolete.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, str); + var __arg0 = __basicString0.__Instance; + var __arg1 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; + __Internal.ctor((__Instance + __PointerAdjustment), __arg0, __arg1); + __basicString0.Dispose(false); } - public Class(global::CppSharp.Parser.AST.Class _0) + public CallExprObsolete(global::CppSharp.Parser.AST.CallExprObsolete _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExprObsolete.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -9578,7 +8733,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.StatementObsolete __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -9587,303 +8742,215 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.BaseClassSpecifier GetBases(uint i) + public global::CppSharp.Parser.AST.ExpressionObsolete GetArguments(uint i) { - var __ret = __Internal.GetBases((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.BaseClassSpecifier __result0; + var __ret = __Internal.GetArguments((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.ExpressionObsolete __result0; if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.BaseClassSpecifier.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.BaseClassSpecifier) global::CppSharp.Parser.AST.BaseClassSpecifier.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.BaseClassSpecifier.__CreateInstance(__ret); + else if (global::CppSharp.Parser.AST.ExpressionObsolete.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.ExpressionObsolete) global::CppSharp.Parser.AST.ExpressionObsolete.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.ExpressionObsolete.__CreateInstance(__ret); return __result0; } - public void AddBases(global::CppSharp.Parser.AST.BaseClassSpecifier s) + public void AddArguments(global::CppSharp.Parser.AST.ExpressionObsolete s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddBases((__Instance + __PointerAdjustment), __arg0); + __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); } - public void ClearBases() + public void ClearArguments() { - __Internal.ClearBases((__Instance + __PointerAdjustment)); + __Internal.ClearArguments((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.Field GetFields(uint i) + public uint ArgumentsCount { - var __ret = __Internal.GetFields((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Field __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Field.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Field) global::CppSharp.Parser.AST.Field.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Field.__CreateInstance(__ret); - return __result0; + get + { + var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); + return __ret; + } } + } - public void AddFields(global::CppSharp.Parser.AST.Field s) + public unsafe partial class CXXConstructExprObsolete : global::CppSharp.Parser.AST.ExpressionObsolete, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddFields((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StatementClassObsolete _class; - public void ClearFields() - { - __Internal.ClearFields((__Instance + __PointerAdjustment)); - } + [FieldOffset(8)] + internal global::System.IntPtr decl; - public global::CppSharp.Parser.AST.Method GetMethods(uint i) - { - var __ret = __Internal.GetMethods((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Method __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Method.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Method) global::CppSharp.Parser.AST.Method.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Method.__CreateInstance(__ret); - return __result0; + [FieldOffset(16)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C @string; + + [FieldOffset(40)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_ExpressionObsolete___N_std_N___1_S_allocator__S0_ Arguments; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24CXXConstructExprObsoleteC2ERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEPNS1_11DeclarationE")] + internal static extern void ctor(global::System.IntPtr __instance, global::System.IntPtr str, global::System.IntPtr decl); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24CXXConstructExprObsoleteC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24CXXConstructExprObsoleteD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24CXXConstructExprObsolete12getArgumentsEj")] + internal static extern global::System.IntPtr GetArguments(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24CXXConstructExprObsolete12addArgumentsERPNS1_18ExpressionObsoleteE")] + internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24CXXConstructExprObsolete14clearArgumentsEv")] + internal static extern void ClearArguments(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24CXXConstructExprObsolete17getArgumentsCountEv")] + internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); } - public void AddMethods(global::CppSharp.Parser.AST.Method s) + internal static new global::CppSharp.Parser.AST.CXXConstructExprObsolete __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddMethods((__Instance + __PointerAdjustment), __arg0); + return new global::CppSharp.Parser.AST.CXXConstructExprObsolete(native.ToPointer(), skipVTables); } - public void ClearMethods() + internal static global::CppSharp.Parser.AST.CXXConstructExprObsolete __CreateInstance(global::CppSharp.Parser.AST.CXXConstructExprObsolete.__Internal native, bool skipVTables = false) { - __Internal.ClearMethods((__Instance + __PointerAdjustment)); + return new global::CppSharp.Parser.AST.CXXConstructExprObsolete(native, skipVTables); } - public global::CppSharp.Parser.AST.AccessSpecifierDecl GetSpecifiers(uint i) + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXConstructExprObsolete.__Internal native) { - var __ret = __Internal.GetSpecifiers((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.AccessSpecifierDecl __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.AccessSpecifierDecl.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.AccessSpecifierDecl) global::CppSharp.Parser.AST.AccessSpecifierDecl.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.AccessSpecifierDecl.__CreateInstance(__ret); - return __result0; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExprObsolete.__Internal)); + global::CppSharp.Parser.AST.CXXConstructExprObsolete.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - public void AddSpecifiers(global::CppSharp.Parser.AST.AccessSpecifierDecl s) + private CXXConstructExprObsolete(global::CppSharp.Parser.AST.CXXConstructExprObsolete.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddSpecifiers((__Instance + __PointerAdjustment), __arg0); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; } - public void ClearSpecifiers() + protected CXXConstructExprObsolete(void* native, bool skipVTables = false) + : base((void*) null) { - __Internal.ClearSpecifiers((__Instance + __PointerAdjustment)); + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - public bool IsPOD + public CXXConstructExprObsolete(string str, global::CppSharp.Parser.AST.Declaration decl) + : this((void*) null) { - get - { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isPOD != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isPOD = (byte) (value ? 1 : 0); - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExprObsolete.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, str); + var __arg0 = __basicString0.__Instance; + var __arg1 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; + __Internal.ctor((__Instance + __PointerAdjustment), __arg0, __arg1); + __basicString0.Dispose(false); } - public bool IsAbstract + public CXXConstructExprObsolete(global::CppSharp.Parser.AST.CXXConstructExprObsolete _0) + : this((void*) null) { - get - { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isAbstract != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isAbstract = (byte) (value ? 1 : 0); - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExprObsolete.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public bool IsUnion + public override void Dispose(bool disposing) { - get - { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isUnion != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isUnion = (byte) (value ? 1 : 0); - } + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.StatementObsolete __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } - public bool IsDynamic + public global::CppSharp.Parser.AST.ExpressionObsolete GetArguments(uint i) { - get - { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isDynamic != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isDynamic = (byte) (value ? 1 : 0); - } + var __ret = __Internal.GetArguments((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.ExpressionObsolete __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ExpressionObsolete.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.ExpressionObsolete) global::CppSharp.Parser.AST.ExpressionObsolete.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.ExpressionObsolete.__CreateInstance(__ret); + return __result0; } - public bool IsPolymorphic + public void AddArguments(global::CppSharp.Parser.AST.ExpressionObsolete s) { - get - { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isPolymorphic != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isPolymorphic = (byte) (value ? 1 : 0); - } + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); } - public bool HasNonTrivialDefaultConstructor + public void ClearArguments() { - get - { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialDefaultConstructor != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->hasNonTrivialDefaultConstructor = (byte) (value ? 1 : 0); - } + __Internal.ClearArguments((__Instance + __PointerAdjustment)); } - public bool HasNonTrivialCopyConstructor + public uint ArgumentsCount { get { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialCopyConstructor != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->hasNonTrivialCopyConstructor = (byte) (value ? 1 : 0); + var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); + return __ret; } } + } - public bool HasNonTrivialDestructor + public unsafe partial class Parameter : global::CppSharp.Parser.AST.Declaration, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 240)] + public new partial struct __Internal { - get - { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialDestructor != 0; - } + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->hasNonTrivialDestructor = (byte) (value ? 1 : 0); - } - } + [FieldOffset(4)] + internal int maxFieldAlignment; - public bool IsExternCContext - { - get - { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isExternCContext != 0; - } + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isExternCContext = (byte) (value ? 1 : 0); - } - } - - public bool IsInjected - { - get - { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isInjected != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isInjected = (byte) (value ? 1 : 0); - } - } - - public global::CppSharp.Parser.AST.ClassLayout Layout - { - get - { - global::CppSharp.Parser.AST.ClassLayout __result0; - if (((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.ClassLayout.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout)) - __result0 = (global::CppSharp.Parser.AST.ClassLayout) global::CppSharp.Parser.AST.ClassLayout.NativeToManagedMap[((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout]; - else __result0 = global::CppSharp.Parser.AST.ClassLayout.__CreateInstance(((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->layout = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - - public uint BasesCount - { - get - { - var __ret = __Internal.GetBasesCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint FieldsCount - { - get - { - var __ret = __Internal.GetFieldsCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint MethodsCount - { - get - { - var __ret = __Internal.GetMethodsCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint SpecifiersCount - { - get - { - var __ret = __Internal.GetSpecifiersCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - } - - public unsafe partial class Template : global::CppSharp.Parser.AST.Declaration, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 232)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; + [FieldOffset(16)] + internal global::System.IntPtr _namespace; [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; @@ -9934,77 +9001,64 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(200)] - internal global::System.IntPtr TemplatedDecl; - - [FieldOffset(208)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Parameters; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateC2ENS1_15DeclarationKindE")] - internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.DeclarationKind kind); + [FieldOffset(216)] + internal byte isIndirect; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + [FieldOffset(217)] + internal byte hasDefaultValue; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + [FieldOffset(220)] + internal uint index; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); + [FieldOffset(224)] + internal global::System.IntPtr defaultArgument; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Template13getParametersEj")] - internal static extern global::System.IntPtr GetParameters(global::System.IntPtr __instance, uint i); + [FieldOffset(232)] + internal global::System.IntPtr defaultArgumentNew; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Template13addParametersERPNS1_11DeclarationE")] - internal static extern void AddParameters(global::System.IntPtr __instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST9ParameterC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Template15clearParametersEv")] - internal static extern void ClearParameters(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST9ParameterC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Template18getParametersCountEv")] - internal static extern uint GetParametersCount(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST9ParameterD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.Template __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Parameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Template(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Parameter(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Template __CreateInstance(global::CppSharp.Parser.AST.Template.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Parameter __CreateInstance(global::CppSharp.Parser.AST.Parameter.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Template(native, skipVTables); + return new global::CppSharp.Parser.AST.Parameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Template.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Parameter.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); - global::CppSharp.Parser.AST.Template.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); + global::CppSharp.Parser.AST.Parameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Template(global::CppSharp.Parser.AST.Template.__Internal native, bool skipVTables = false) + private Parameter(global::CppSharp.Parser.AST.Parameter.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Template(void* native, bool skipVTables = false) + protected Parameter(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -10013,28 +9067,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Template(global::CppSharp.Parser.AST.DeclarationKind kind) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), kind); - } - - public Template() + public Parameter() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public Template(global::CppSharp.Parser.AST.Template _0) + public Parameter(global::CppSharp.Parser.AST.Parameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -10056,66 +9101,98 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.Declaration GetParameters(uint i) + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { - var __ret = __Internal.GetParameters((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Declaration __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(__ret); - return __result0; + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->qualifiedType)); + } + + set + { + ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } - public void AddParameters(global::CppSharp.Parser.AST.Declaration s) + public bool IsIndirect { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddParameters((__Instance + __PointerAdjustment), __arg0); + get + { + return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->isIndirect != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->isIndirect = (byte) (value ? 1 : 0); + } } - public void ClearParameters() + public bool HasDefaultValue { - __Internal.ClearParameters((__Instance + __PointerAdjustment)); + get + { + return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->hasDefaultValue != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->hasDefaultValue = (byte) (value ? 1 : 0); + } } - public static implicit operator global::CppSharp.Parser.AST.Template(global::CppSharp.Parser.AST.DeclarationKind kind) + public uint Index { - return new global::CppSharp.Parser.AST.Template(kind); + get + { + return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->index; + } + + set + { + ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->index = value; + } } - public global::CppSharp.Parser.AST.Declaration TemplatedDecl + public global::CppSharp.Parser.AST.ExpressionObsolete DefaultArgument { get { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl); + global::CppSharp.Parser.AST.ExpressionObsolete __result0; + if (((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ExpressionObsolete.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument)) + __result0 = (global::CppSharp.Parser.AST.ExpressionObsolete) global::CppSharp.Parser.AST.ExpressionObsolete.NativeToManagedMap[((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument]; + else __result0 = global::CppSharp.Parser.AST.ExpressionObsolete.__CreateInstance(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument); return __result0; } set { - ((global::CppSharp.Parser.AST.Template.__Internal*)__Instance)->TemplatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->defaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public uint ParametersCount + public global::CppSharp.Parser.AST.Expr DefaultArgumentNew { get { - var __ret = __Internal.GetParametersCount((__Instance + __PointerAdjustment)); - return __ret; + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgumentNew == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgumentNew)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgumentNew]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgumentNew); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->defaultArgumentNew = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class TypeAliasTemplate : global::CppSharp.Parser.AST.Template, IDisposable + public unsafe partial class Function : global::CppSharp.Parser.AST.DeclarationContext, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 232)] + [StructLayout(LayoutKind.Explicit, Size = 616)] public new partial struct __Internal { [FieldOffset(0)] @@ -10179,52 +9256,156 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(200)] - internal global::System.IntPtr TemplatedDecl; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; - [FieldOffset(208)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Parameters; + [FieldOffset(224)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17TypeAliasTemplateC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + [FieldOffset(248)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; + + [FieldOffset(272)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; + + [FieldOffset(296)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; + + [FieldOffset(320)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; + + [FieldOffset(344)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; + + [FieldOffset(368)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; + + [FieldOffset(392)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; + + [FieldOffset(416)] + internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; + + [FieldOffset(440)] + internal byte isAnonymous; + + [FieldOffset(448)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; + + [FieldOffset(464)] + internal byte isReturnIndirect; + + [FieldOffset(465)] + internal byte hasThisReturn; + + [FieldOffset(466)] + internal byte isConstExpr; + + [FieldOffset(467)] + internal byte isVariadic; + + [FieldOffset(468)] + internal byte isInline; + + [FieldOffset(469)] + internal byte isPure; + + [FieldOffset(470)] + internal byte isDeleted; + + [FieldOffset(471)] + internal byte isDefaulted; + + [FieldOffset(472)] + internal global::CppSharp.Parser.AST.FriendKind friendKind; + + [FieldOffset(476)] + internal global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; + + [FieldOffset(480)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C mangled; + + [FieldOffset(504)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C signature; + + [FieldOffset(528)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C body; + + [FieldOffset(552)] + internal global::CppSharp.Parser.AST.CallingConvention callingConvention; + + [FieldOffset(560)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_N___1_S_allocator__S0_ Parameters; + + [FieldOffset(584)] + internal global::System.IntPtr specializationInfo; + + [FieldOffset(592)] + internal global::System.IntPtr instantiatedFrom; + + [FieldOffset(600)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17TypeAliasTemplateC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST8FunctionC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8FunctionC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17TypeAliasTemplateD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST8FunctionD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Function13getParametersEj")] + internal static extern global::System.IntPtr GetParameters(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Function13addParametersERPNS1_9ParameterE")] + internal static extern void AddParameters(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Function15clearParametersEv")] + internal static extern void ClearParameters(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Function18getParametersCountEv")] + internal static extern uint GetParametersCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.TypeAliasTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Function __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypeAliasTemplate(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Function(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TypeAliasTemplate __CreateInstance(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Function __CreateInstance(global::CppSharp.Parser.AST.Function.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypeAliasTemplate(native, skipVTables); + return new global::CppSharp.Parser.AST.Function(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Function.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); - global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); + global::CppSharp.Parser.AST.Function.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native, bool skipVTables = false) + private Function(global::CppSharp.Parser.AST.Function.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TypeAliasTemplate(void* native, bool skipVTables = false) + protected Function(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -10233,19 +9414,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TypeAliasTemplate() + public Function() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate _0) + public Function(global::CppSharp.Parser.AST.Function _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -10266,60 +9447,346 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - } - public unsafe partial class TemplateParameter : global::CppSharp.Parser.AST.Declaration, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 216)] - public new partial struct __Internal + public global::CppSharp.Parser.AST.Parameter GetParameters(uint i) { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + var __ret = __Internal.GetParameters((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Parameter __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Parameter.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Parameter) global::CppSharp.Parser.AST.Parameter.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Parameter.__CreateInstance(__ret); + return __result0; + } - [FieldOffset(16)] - internal global::System.IntPtr _namespace; + public void AddParameters(global::CppSharp.Parser.AST.Parameter s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddParameters((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + public void ClearParameters() + { + __Internal.ClearParameters((__Instance + __PointerAdjustment)); + } - [FieldOffset(28)] - internal int lineNumberStart; + public global::CppSharp.Parser.AST.QualifiedType ReturnType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->returnType)); + } - [FieldOffset(32)] - internal int lineNumberEnd; + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->returnType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + public bool IsReturnIndirect + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isReturnIndirect != 0; + } - [FieldOffset(64)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isReturnIndirect = (byte) (value ? 1 : 0); + } + } - [FieldOffset(88)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + public bool HasThisReturn + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->hasThisReturn != 0; + } - [FieldOffset(112)] - internal byte isIncomplete; + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->hasThisReturn = (byte) (value ? 1 : 0); + } + } - [FieldOffset(113)] - internal byte isDependent; + public bool IsConstExpr + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isConstExpr != 0; + } - [FieldOffset(114)] - internal byte isImplicit; + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isConstExpr = (byte) (value ? 1 : 0); + } + } - [FieldOffset(115)] - internal byte isInvalid; + public bool IsVariadic + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isVariadic != 0; + } - [FieldOffset(120)] - internal global::System.IntPtr completeDeclaration; + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isVariadic = (byte) (value ? 1 : 0); + } + } - [FieldOffset(128)] - internal uint definitionOrder; + public bool IsInline + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isInline != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isInline = (byte) (value ? 1 : 0); + } + } + + public bool IsPure + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isPure != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isPure = (byte) (value ? 1 : 0); + } + } + + public bool IsDeleted + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isDeleted != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isDeleted = (byte) (value ? 1 : 0); + } + } + + public bool IsDefaulted + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isDefaulted != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isDefaulted = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.FriendKind FriendKind + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->friendKind; + } + + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->friendKind = value; + } + } + + public global::CppSharp.Parser.AST.CXXOperatorKind OperatorKind + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->operatorKind; + } + + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->operatorKind = value; + } + } + + public string Mangled + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->mangled)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->mangled), value); + } + } + + public string Signature + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->signature)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->signature), value); + } + } + + public string Body + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->body)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->body), value); + } + } + + public global::CppSharp.Parser.AST.CallingConvention CallingConvention + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->callingConvention; + } + + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->callingConvention = value; + } + } + + public global::CppSharp.Parser.AST.FunctionTemplateSpecialization SpecializationInfo + { + get + { + global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0; + if (((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo)) + __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo]; + else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->specializationInfo = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Function InstantiatedFrom + { + get + { + global::CppSharp.Parser.AST.Function __result0; + if (((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom)) + __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom]; + else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->instantiatedFrom = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType QualifiedType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->qualifiedType)); + } + + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public uint ParametersCount + { + get + { + var __ret = __Internal.GetParametersCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class Method : global::CppSharp.Parser.AST.Function, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 680)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(64)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(112)] + internal byte isIncomplete; + + [FieldOffset(113)] + internal byte isDependent; + + [FieldOffset(114)] + internal byte isImplicit; + + [FieldOffset(115)] + internal byte isInvalid; + + [FieldOffset(120)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(128)] + internal uint definitionOrder; [FieldOffset(136)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; @@ -10334,55 +9801,763 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(200)] - internal uint depth; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; - [FieldOffset(204)] - internal uint index; + [FieldOffset(224)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; - [FieldOffset(208)] - internal byte isParameterPack; + [FieldOffset(248)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterC2ENS1_15DeclarationKindE")] - internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.DeclarationKind kind); + [FieldOffset(272)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; + + [FieldOffset(296)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; + + [FieldOffset(320)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; + + [FieldOffset(344)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; + + [FieldOffset(368)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; + + [FieldOffset(392)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; + + [FieldOffset(416)] + internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; + + [FieldOffset(440)] + internal byte isAnonymous; + + [FieldOffset(448)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; + + [FieldOffset(464)] + internal byte isReturnIndirect; + + [FieldOffset(465)] + internal byte hasThisReturn; + + [FieldOffset(466)] + internal byte isConstExpr; + + [FieldOffset(467)] + internal byte isVariadic; + + [FieldOffset(468)] + internal byte isInline; + + [FieldOffset(469)] + internal byte isPure; + + [FieldOffset(470)] + internal byte isDeleted; + + [FieldOffset(471)] + internal byte isDefaulted; + + [FieldOffset(472)] + internal global::CppSharp.Parser.AST.FriendKind friendKind; + + [FieldOffset(476)] + internal global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; + + [FieldOffset(480)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C mangled; + + [FieldOffset(504)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C signature; + + [FieldOffset(528)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C body; + + [FieldOffset(552)] + internal global::CppSharp.Parser.AST.CallingConvention callingConvention; + + [FieldOffset(560)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_N___1_S_allocator__S0_ Parameters; + + [FieldOffset(584)] + internal global::System.IntPtr specializationInfo; + + [FieldOffset(592)] + internal global::System.IntPtr instantiatedFrom; + + [FieldOffset(600)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(616)] + internal byte isVirtual; + + [FieldOffset(617)] + internal byte isStatic; + + [FieldOffset(618)] + internal byte isConst; + + [FieldOffset(619)] + internal byte isExplicit; + + [FieldOffset(620)] + internal global::CppSharp.Parser.AST.CXXMethodKind methodKind; + + [FieldOffset(624)] + internal byte isDefaultConstructor; + + [FieldOffset(625)] + internal byte isCopyConstructor; + + [FieldOffset(626)] + internal byte isMoveConstructor; + + [FieldOffset(632)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal conversionType; + + [FieldOffset(648)] + internal global::CppSharp.Parser.AST.RefQualifierKind refQualifier; + + [FieldOffset(656)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_N___1_S_allocator__S0_ OverriddenMethods; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST6MethodC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST6MethodC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST6MethodD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST6Method20getOverriddenMethodsEj")] + internal static extern global::System.IntPtr GetOverriddenMethods(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST6Method20addOverriddenMethodsERPS2_")] + internal static extern void AddOverriddenMethods(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST6Method22clearOverriddenMethodsEv")] + internal static extern void ClearOverriddenMethods(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST6Method25getOverriddenMethodsCountEv")] + internal static extern uint GetOverriddenMethodsCount(global::System.IntPtr __instance); + } + + internal static new global::CppSharp.Parser.AST.Method __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Method(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.Method __CreateInstance(global::CppSharp.Parser.AST.Method.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Method(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.Method.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); + global::CppSharp.Parser.AST.Method.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private Method(global::CppSharp.Parser.AST.Method.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Method(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Method() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public Method(global::CppSharp.Parser.AST.Method _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Method GetOverriddenMethods(uint i) + { + var __ret = __Internal.GetOverriddenMethods((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Method __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Method.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Method) global::CppSharp.Parser.AST.Method.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Method.__CreateInstance(__ret); + return __result0; + } + + public void AddOverriddenMethods(global::CppSharp.Parser.AST.Method s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddOverriddenMethods((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearOverriddenMethods() + { + __Internal.ClearOverriddenMethods((__Instance + __PointerAdjustment)); + } + + public bool IsVirtual + { + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isVirtual != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isVirtual = (byte) (value ? 1 : 0); + } + } + + public bool IsStatic + { + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isStatic != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isStatic = (byte) (value ? 1 : 0); + } + } + + public bool IsConst + { + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isConst != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isConst = (byte) (value ? 1 : 0); + } + } + + public bool IsExplicit + { + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isExplicit != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isExplicit = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.CXXMethodKind MethodKind + { + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->methodKind; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->methodKind = value; + } + } + + public bool IsDefaultConstructor + { + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isDefaultConstructor != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isDefaultConstructor = (byte) (value ? 1 : 0); + } + } + + public bool IsCopyConstructor + { + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isCopyConstructor != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isCopyConstructor = (byte) (value ? 1 : 0); + } + } + + public bool IsMoveConstructor + { + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isMoveConstructor != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isMoveConstructor = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.QualifiedType ConversionType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->conversionType)); + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->conversionType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public global::CppSharp.Parser.AST.RefQualifierKind RefQualifier + { + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->refQualifier; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->refQualifier = value; + } + } + + public uint OverriddenMethodsCount + { + get + { + var __ret = __Internal.GetOverriddenMethodsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class Enumeration : global::CppSharp.Parser.AST.DeclarationContext, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 488)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(64)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(112)] + internal byte isIncomplete; + + [FieldOffset(113)] + internal byte isDependent; + + [FieldOffset(114)] + internal byte isImplicit; + + [FieldOffset(115)] + internal byte isInvalid; + + [FieldOffset(120)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(128)] + internal uint definitionOrder; + + [FieldOffset(136)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(192)] + internal global::System.IntPtr comment; + + [FieldOffset(200)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; + + [FieldOffset(224)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; + + [FieldOffset(248)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; + + [FieldOffset(272)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; + + [FieldOffset(296)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; + + [FieldOffset(320)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; + + [FieldOffset(344)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; + + [FieldOffset(368)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; + + [FieldOffset(392)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; + + [FieldOffset(416)] + internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; + + [FieldOffset(440)] + internal byte isAnonymous; + + [FieldOffset(444)] + internal global::CppSharp.Parser.AST.Enumeration.EnumModifiers modifiers; + + [FieldOffset(448)] + internal global::System.IntPtr type; + + [FieldOffset(456)] + internal global::System.IntPtr builtinType; + + [FieldOffset(464)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration_S_Item___N_std_N___1_S_allocator__S0_ Items; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration8getItemsEj")] + internal static extern global::System.IntPtr GetItems(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration8addItemsERPNS2_4ItemE")] + internal static extern void AddItems(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration10clearItemsEv")] + internal static extern void ClearItems(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration14FindItemByNameERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE")] + internal static extern global::System.IntPtr FindItemByName(global::System.IntPtr __instance, global::System.IntPtr Name); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration13getItemsCountEv")] + internal static extern uint GetItemsCount(global::System.IntPtr __instance); + } + + [Flags] + public enum EnumModifiers + { + Anonymous = 1, + Scoped = 2, + Flags = 4 + } + + public unsafe partial class Item : global::CppSharp.Parser.AST.Declaration, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 232)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(64)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(112)] + internal byte isIncomplete; + + [FieldOffset(113)] + internal byte isDependent; + + [FieldOffset(114)] + internal byte isImplicit; + + [FieldOffset(115)] + internal byte isInvalid; + + [FieldOffset(120)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(128)] + internal uint definitionOrder; + + [FieldOffset(136)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(192)] + internal global::System.IntPtr comment; + + [FieldOffset(200)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C expression; + + [FieldOffset(224)] + internal ulong value; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4ItemC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4ItemC2ERKS3_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4ItemD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + } + + internal static new global::CppSharp.Parser.AST.Enumeration.Item __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Enumeration.Item(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.Enumeration.Item __CreateInstance(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Enumeration.Item(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); + global::CppSharp.Parser.AST.Enumeration.Item.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private Item(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Item(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Item() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public Item(global::CppSharp.Parser.AST.Enumeration.Item _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public string Expression + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*) __Instance)->expression)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*)__Instance)->expression), value); + } + } + + public ulong Value + { + get + { + return ((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*) __Instance)->value; + } + + set + { + ((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*)__Instance)->value = value; + } + } } - internal static new global::CppSharp.Parser.AST.TemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Enumeration __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateParameter(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Enumeration(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TemplateParameter.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Enumeration __CreateInstance(global::CppSharp.Parser.AST.Enumeration.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateParameter(native, skipVTables); + return new global::CppSharp.Parser.AST.Enumeration(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameter.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Enumeration.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); - global::CppSharp.Parser.AST.TemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); + global::CppSharp.Parser.AST.Enumeration.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter.__Internal native, bool skipVTables = false) + private Enumeration(global::CppSharp.Parser.AST.Enumeration.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TemplateParameter(void* native, bool skipVTables = false) + protected Enumeration(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -10391,19 +10566,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TemplateParameter(global::CppSharp.Parser.AST.DeclarationKind kind) + public Enumeration() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), kind); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter _0) + public Enumeration(global::CppSharp.Parser.AST.Enumeration _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -10425,52 +10600,105 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public static implicit operator global::CppSharp.Parser.AST.TemplateParameter(global::CppSharp.Parser.AST.DeclarationKind kind) + public global::CppSharp.Parser.AST.Enumeration.Item GetItems(uint i) { - return new global::CppSharp.Parser.AST.TemplateParameter(kind); + var __ret = __Internal.GetItems((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Enumeration.Item __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Enumeration.Item) global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Enumeration.Item.__CreateInstance(__ret); + return __result0; } - public uint Depth + public void AddItems(global::CppSharp.Parser.AST.Enumeration.Item s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddItems((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearItems() + { + __Internal.ClearItems((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Enumeration.Item FindItemByName(string Name) + { + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, Name); + var __arg0 = __basicString0.__Instance; + var __ret = __Internal.FindItemByName((__Instance + __PointerAdjustment), __arg0); + __basicString0.Dispose(false); + global::CppSharp.Parser.AST.Enumeration.Item __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Enumeration.Item) global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Enumeration.Item.__CreateInstance(__ret); + return __result0; + } + + public global::CppSharp.Parser.AST.Enumeration.EnumModifiers Modifiers { get { - return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->depth; + return ((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->modifiers; } set { - ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*)__Instance)->depth = value; + ((global::CppSharp.Parser.AST.Enumeration.__Internal*)__Instance)->modifiers = value; } } - public uint Index + public global::CppSharp.Parser.AST.Type Type { get { - return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->index; + global::CppSharp.Parser.AST.Type __result0; + if (((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type)) + __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type]; + else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type); + return __result0; } set { - ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*)__Instance)->index = value; + ((global::CppSharp.Parser.AST.Enumeration.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public bool IsParameterPack + public global::CppSharp.Parser.AST.BuiltinType BuiltinType { get { - return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->isParameterPack != 0; + global::CppSharp.Parser.AST.BuiltinType __result0; + if (((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.BuiltinType.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType)) + __result0 = (global::CppSharp.Parser.AST.BuiltinType) global::CppSharp.Parser.AST.BuiltinType.NativeToManagedMap[((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType]; + else __result0 = global::CppSharp.Parser.AST.BuiltinType.__CreateInstance(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType); + return __result0; } set { - ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*)__Instance)->isParameterPack = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Enumeration.__Internal*)__Instance)->builtinType = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public uint ItemsCount + { + get + { + var __ret = __Internal.GetItemsCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class TemplateTemplateParameter : global::CppSharp.Parser.AST.Template, IDisposable + public unsafe partial class Variable : global::CppSharp.Parser.AST.Declaration, IDisposable { [StructLayout(LayoutKind.Explicit, Size = 240)] public new partial struct __Internal @@ -10536,61 +10764,52 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(200)] - internal global::System.IntPtr TemplatedDecl; - - [FieldOffset(208)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Parameters; - - [FieldOffset(232)] - internal byte isParameterPack; - - [FieldOffset(233)] - internal byte isPackExpansion; + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C mangled; - [FieldOffset(234)] - internal byte isExpandedParameterPack; + [FieldOffset(224)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST8VariableC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST8VariableC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST8VariableD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.TemplateTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Variable __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateTemplateParameter(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Variable(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TemplateTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Variable __CreateInstance(global::CppSharp.Parser.AST.Variable.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateTemplateParameter(native, skipVTables); + return new global::CppSharp.Parser.AST.Variable(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Variable.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); - global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); + global::CppSharp.Parser.AST.Variable.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native, bool skipVTables = false) + private Variable(global::CppSharp.Parser.AST.Variable.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TemplateTemplateParameter(void* native, bool skipVTables = false) + protected Variable(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -10599,19 +10818,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TemplateTemplateParameter() + public Variable() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter _0) + public Variable(global::CppSharp.Parser.AST.Variable _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -10633,221 +10852,194 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public bool IsParameterPack - { - get - { - return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isParameterPack != 0; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*)__Instance)->isParameterPack = (byte) (value ? 1 : 0); - } - } - - public bool IsPackExpansion + public string Mangled { get { - return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isPackExpansion != 0; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Variable.__Internal*) __Instance)->mangled)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*)__Instance)->isPackExpansion = (byte) (value ? 1 : 0); + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Variable.__Internal*)__Instance)->mangled), value); } } - public bool IsExpandedParameterPack + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { get { - return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack != 0; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Variable.__Internal*) __Instance)->qualifiedType)); } set { - ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*)__Instance)->isExpandedParameterPack = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Variable.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } } - public unsafe partial class TypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 232)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; - - [FieldOffset(32)] - internal int lineNumberEnd; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - - [FieldOffset(64)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - - [FieldOffset(88)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; - - [FieldOffset(112)] - internal byte isIncomplete; - - [FieldOffset(113)] - internal byte isDependent; - - [FieldOffset(114)] - internal byte isImplicit; - - [FieldOffset(115)] - internal byte isInvalid; - - [FieldOffset(120)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(128)] - internal uint definitionOrder; - - [FieldOffset(136)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; - - [FieldOffset(184)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(192)] - internal global::System.IntPtr comment; - - [FieldOffset(200)] - internal uint depth; + public unsafe partial class BaseClassSpecifier : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; - [FieldOffset(204)] - internal uint index; + [FieldOffset(4)] + internal byte isVirtual; - [FieldOffset(208)] - internal byte isParameterPack; + [FieldOffset(8)] + internal global::System.IntPtr type; - [FieldOffset(216)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal defaultArgument; + [FieldOffset(16)] + internal int offset; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21TypeTemplateParameterC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST18BaseClassSpecifierC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21TypeTemplateParameterC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST18BaseClassSpecifierC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21TypeTemplateParameterD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.TypeTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.BaseClassSpecifier __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypeTemplateParameter(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.BaseClassSpecifier(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TypeTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.BaseClassSpecifier __CreateInstance(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypeTemplateParameter(native, skipVTables); + return new global::CppSharp.Parser.AST.BaseClassSpecifier(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); - global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); + *(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) ret = native; return ret.ToPointer(); } - private TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native, bool skipVTables = false) + private BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TypeTemplateParameter(void* native, bool skipVTables = false) - : base((void*) null) + protected BaseClassSpecifier(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public TypeTemplateParameter() - : this((void*) null) + public BaseClassSpecifier() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter _0) - : this((void*) null) + public BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + *((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) _0.__Instance); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.BaseClassSpecifier __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.QualifiedType DefaultArgument + public global::CppSharp.Parser.AST.AccessSpecifier Access { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal*) __Instance)->defaultArgument)); + return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->access; } set { - ((global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal*)__Instance)->defaultArgument = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->access = value; + } + } + + public bool IsVirtual + { + get + { + return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->isVirtual != 0; + } + + set + { + ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->isVirtual = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.Type Type + { + get + { + global::CppSharp.Parser.AST.Type __result0; + if (((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type)) + __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type]; + else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public int Offset + { + get + { + return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->offset; + } + + set + { + ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->offset = value; } } } - public unsafe partial class NonTypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable + public unsafe partial class Field : global::CppSharp.Parser.AST.Declaration, IDisposable { [StructLayout(LayoutKind.Explicit, Size = 232)] public new partial struct __Internal @@ -10913,67 +11105,58 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(200)] - internal uint depth; - - [FieldOffset(204)] - internal uint index; - - [FieldOffset(208)] - internal byte isParameterPack; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [FieldOffset(216)] - internal global::System.IntPtr defaultArgument; + internal global::System.IntPtr _class; [FieldOffset(224)] - internal uint position; + internal byte isBitField; [FieldOffset(228)] - internal byte isPackExpansion; - - [FieldOffset(229)] - internal byte isExpandedParameterPack; + internal uint bitWidth; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST5FieldC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST5FieldC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST5FieldD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.NonTypeTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Field __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.NonTypeTemplateParameter(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Field(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.NonTypeTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Field __CreateInstance(global::CppSharp.Parser.AST.Field.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.NonTypeTemplateParameter(native, skipVTables); + return new global::CppSharp.Parser.AST.Field(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Field.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); - global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); + global::CppSharp.Parser.AST.Field.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native, bool skipVTables = false) + private Field(global::CppSharp.Parser.AST.Field.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected NonTypeTemplateParameter(void* native, bool skipVTables = false) + protected Field(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -10982,19 +11165,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public NonTypeTemplateParameter() + public Field() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter _0) + public Field(global::CppSharp.Parser.AST.Field _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -11016,67 +11199,67 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.Expression DefaultArgument + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { get { - global::CppSharp.Parser.AST.Expression __result0; - if (((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument)) - __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument]; - else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument); - return __result0; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->qualifiedType)); } set { - ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->defaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public uint Position + public global::CppSharp.Parser.AST.Class Class { get { - return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->position; + global::CppSharp.Parser.AST.Class __result0; + if (((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class)) + __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class]; + else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class); + return __result0; } set { - ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->position = value; + ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public bool IsPackExpansion + public bool IsBitField { get { - return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->isPackExpansion != 0; + return ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->isBitField != 0; } set { - ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->isPackExpansion = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->isBitField = (byte) (value ? 1 : 0); } } - public bool IsExpandedParameterPack + public uint BitWidth { get { - return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack != 0; + return ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->bitWidth; } set { - ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->isExpandedParameterPack = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->bitWidth = value; } } } - public unsafe partial class ClassTemplate : global::CppSharp.Parser.AST.Template, IDisposable + public unsafe partial class AccessSpecifierDecl : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 256)] + [StructLayout(LayoutKind.Explicit, Size = 200)] public new partial struct __Internal { [FieldOffset(0)] @@ -11139,86 +11322,47 @@ namespace CppSharp [FieldOffset(192)] internal global::System.IntPtr comment; - [FieldOffset(200)] - internal global::System.IntPtr TemplatedDecl; - - [FieldOffset(208)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Parameters; - - [FieldOffset(232)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_ClassTemplateSpecialization___N_std_N___1_S_allocator__S0_ Specializations; - [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplateC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplateC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplateD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate18getSpecializationsEj")] - internal static extern global::System.IntPtr GetSpecializations(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate18addSpecializationsERPNS1_27ClassTemplateSpecializationE")] - internal static extern void AddSpecializations(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate20clearSpecializationsEv")] - internal static extern void ClearSpecializations(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate18FindSpecializationERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE")] - internal static extern global::System.IntPtr FindSpecialization(global::System.IntPtr __instance, global::System.IntPtr usr); + EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate25FindPartialSpecializationERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE")] - internal static extern global::System.IntPtr FindPartialSpecialization(global::System.IntPtr __instance, global::System.IntPtr usr); + EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate23getSpecializationsCountEv")] - internal static extern uint GetSpecializationsCount(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.ClassTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.AccessSpecifierDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ClassTemplate(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.AccessSpecifierDecl(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.ClassTemplate __CreateInstance(global::CppSharp.Parser.AST.ClassTemplate.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.AccessSpecifierDecl __CreateInstance(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ClassTemplate(native, skipVTables); + return new global::CppSharp.Parser.AST.AccessSpecifierDecl(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplate.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal)); - global::CppSharp.Parser.AST.ClassTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); + global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private ClassTemplate(global::CppSharp.Parser.AST.ClassTemplate.__Internal native, bool skipVTables = false) + private AccessSpecifierDecl(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected ClassTemplate(void* native, bool skipVTables = false) + protected AccessSpecifierDecl(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -11227,19 +11371,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public ClassTemplate() + public AccessSpecifierDecl() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public ClassTemplate(global::CppSharp.Parser.AST.ClassTemplate _0) + public AccessSpecifierDecl(global::CppSharp.Parser.AST.AccessSpecifierDecl _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -11260,305 +11404,381 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } + } - public global::CppSharp.Parser.AST.ClassTemplateSpecialization GetSpecializations(uint i) + public unsafe partial class VTableComponent : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 16)] + public partial struct __Internal { - var __ret = __Internal.GetSpecializations((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.ClassTemplateSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.ClassTemplateSpecialization) global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.ClassTemplateSpecialization.__CreateInstance(__ret); - return __result0; + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.VTableComponentKind kind; + + [FieldOffset(4)] + internal uint offset; + + [FieldOffset(8)] + internal global::System.IntPtr declaration; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15VTableComponentC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15VTableComponentC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); } - public void AddSpecializations(global::CppSharp.Parser.AST.ClassTemplateSpecialization s) + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.VTableComponent __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddSpecializations((__Instance + __PointerAdjustment), __arg0); + return new global::CppSharp.Parser.AST.VTableComponent(native.ToPointer(), skipVTables); } - public void ClearSpecializations() + internal static global::CppSharp.Parser.AST.VTableComponent __CreateInstance(global::CppSharp.Parser.AST.VTableComponent.__Internal native, bool skipVTables = false) { - __Internal.ClearSpecializations((__Instance + __PointerAdjustment)); + return new global::CppSharp.Parser.AST.VTableComponent(native, skipVTables); } - public global::CppSharp.Parser.AST.ClassTemplateSpecialization FindSpecialization(string usr) + private static void* __CopyValue(global::CppSharp.Parser.AST.VTableComponent.__Internal native) { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, usr); - var __arg0 = __basicString0.__Instance; - var __ret = __Internal.FindSpecialization((__Instance + __PointerAdjustment), __arg0); - __basicString0.Dispose(false); - global::CppSharp.Parser.AST.ClassTemplateSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.ClassTemplateSpecialization) global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.ClassTemplateSpecialization.__CreateInstance(__ret); - return __result0; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); + *(global::CppSharp.Parser.AST.VTableComponent.__Internal*) ret = native; + return ret.ToPointer(); } - public global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization FindPartialSpecialization(string usr) + private VTableComponent(global::CppSharp.Parser.AST.VTableComponent.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, usr); - var __arg0 = __basicString0.__Instance; - var __ret = __Internal.FindPartialSpecialization((__Instance + __PointerAdjustment), __arg0); - __basicString0.Dispose(false); - global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization) global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__CreateInstance(__ret); - return __result0; + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; } - public uint SpecializationsCount + protected VTableComponent(void* native, bool skipVTables = false) { - get - { - var __ret = __Internal.GetSpecializationsCount((__Instance + __PointerAdjustment)); - return __ret; - } + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - } - public unsafe partial class ClassTemplateSpecialization : global::CppSharp.Parser.AST.Class, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 608)] - public new partial struct __Internal + public VTableComponent() { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; - - [FieldOffset(32)] - internal int lineNumberEnd; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - - [FieldOffset(64)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - - [FieldOffset(88)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; - - [FieldOffset(112)] - internal byte isIncomplete; - - [FieldOffset(113)] - internal byte isDependent; + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [FieldOffset(114)] - internal byte isImplicit; + public VTableComponent(global::CppSharp.Parser.AST.VTableComponent _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.VTableComponent.__Internal*) _0.__Instance); + } - [FieldOffset(115)] - internal byte isInvalid; + public void Dispose() + { + Dispose(disposing: true); + } - [FieldOffset(120)] - internal global::System.IntPtr completeDeclaration; + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.VTableComponent __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } - [FieldOffset(128)] - internal uint definitionOrder; + public global::CppSharp.Parser.AST.VTableComponentKind Kind + { + get + { + return ((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->kind; + } - [FieldOffset(136)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + set + { + ((global::CppSharp.Parser.AST.VTableComponent.__Internal*)__Instance)->kind = value; + } + } - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + public uint Offset + { + get + { + return ((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->offset; + } - [FieldOffset(184)] - internal global::System.IntPtr originalPtr; + set + { + ((global::CppSharp.Parser.AST.VTableComponent.__Internal*)__Instance)->offset = value; + } + } - [FieldOffset(192)] - internal global::System.IntPtr comment; + public global::CppSharp.Parser.AST.Declaration Declaration + { + get + { + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration); + return __result0; + } - [FieldOffset(200)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; + set + { + ((global::CppSharp.Parser.AST.VTableComponent.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } - [FieldOffset(224)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; + public unsafe partial class VTableLayout : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_VTableComponent___N_std_N___1_S_allocator__S0_ Components; - [FieldOffset(248)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayoutC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); - [FieldOffset(272)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayoutC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - [FieldOffset(296)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayoutD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); - [FieldOffset(320)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout13getComponentsEj")] + internal static extern global::CppSharp.Parser.AST.VTableComponent.__Internal GetComponents(global::System.IntPtr __instance, uint i); - [FieldOffset(344)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout13addComponentsERNS1_15VTableComponentE")] + internal static extern void AddComponents(global::System.IntPtr __instance, global::System.IntPtr s); - [FieldOffset(368)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout15clearComponentsEv")] + internal static extern void ClearComponents(global::System.IntPtr __instance); - [FieldOffset(392)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout18getComponentsCountEv")] + internal static extern uint GetComponentsCount(global::System.IntPtr __instance); + } - [FieldOffset(416)] - internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; + public global::System.IntPtr __Instance { get; protected set; } - [FieldOffset(440)] - internal byte isAnonymous; + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; - [FieldOffset(448)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BaseClassSpecifier___N_std_N___1_S_allocator__S0_ Bases; + protected bool __ownsNativeInstance; - [FieldOffset(472)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Field___N_std_N___1_S_allocator__S0_ Fields; + internal static global::CppSharp.Parser.AST.VTableLayout __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.VTableLayout(native.ToPointer(), skipVTables); + } - [FieldOffset(496)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_N___1_S_allocator__S0_ Methods; + internal static global::CppSharp.Parser.AST.VTableLayout __CreateInstance(global::CppSharp.Parser.AST.VTableLayout.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.VTableLayout(native, skipVTables); + } - [FieldOffset(520)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_AccessSpecifierDecl___N_std_N___1_S_allocator__S0_ Specifiers; + private static void* __CopyValue(global::CppSharp.Parser.AST.VTableLayout.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); + global::CppSharp.Parser.AST.VTableLayout.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(544)] - internal byte isPOD; + private VTableLayout(global::CppSharp.Parser.AST.VTableLayout.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(545)] - internal byte isAbstract; + protected VTableLayout(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(546)] - internal byte isUnion; + public VTableLayout() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [FieldOffset(547)] - internal byte isDynamic; + public VTableLayout(global::CppSharp.Parser.AST.VTableLayout _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(548)] - internal byte isPolymorphic; + public void Dispose() + { + Dispose(disposing: true); + } - [FieldOffset(549)] - internal byte hasNonTrivialDefaultConstructor; + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.VTableLayout __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } - [FieldOffset(550)] - internal byte hasNonTrivialCopyConstructor; + public global::CppSharp.Parser.AST.VTableComponent GetComponents(uint i) + { + var __ret = __Internal.GetComponents((__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.VTableComponent.__CreateInstance(__ret); + } - [FieldOffset(551)] - internal byte hasNonTrivialDestructor; + public void AddComponents(global::CppSharp.Parser.AST.VTableComponent s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddComponents((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(552)] - internal byte isExternCContext; + public void ClearComponents() + { + __Internal.ClearComponents((__Instance + __PointerAdjustment)); + } - [FieldOffset(553)] - internal byte isInjected; + public uint ComponentsCount + { + get + { + var __ret = __Internal.GetComponentsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } - [FieldOffset(560)] - internal global::System.IntPtr layout; + public unsafe partial class VFTableInfo : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public partial struct __Internal + { + [FieldOffset(0)] + internal ulong VBTableIndex; - [FieldOffset(568)] - internal global::System.IntPtr templatedDecl; + [FieldOffset(8)] + internal uint VFPtrOffset; - [FieldOffset(576)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ Arguments; + [FieldOffset(12)] + internal uint VFPtrFullOffset; - [FieldOffset(600)] - internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.VTableLayout.__Internal layout; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecializationC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11VFTableInfoC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecializationC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST11VFTableInfoC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecializationD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11VFTableInfoD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecialization12getArgumentsEj")] - internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecialization12addArgumentsERNS1_16TemplateArgumentE")] - internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); + public global::System.IntPtr __Instance { get; protected set; } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecialization14clearArgumentsEv")] - internal static extern void ClearArguments(global::System.IntPtr __instance); + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecialization17getArgumentsCountEv")] - internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); - } + protected bool __ownsNativeInstance; - internal static new global::CppSharp.Parser.AST.ClassTemplateSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VFTableInfo __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ClassTemplateSpecialization(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.VFTableInfo(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.ClassTemplateSpecialization __CreateInstance(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VFTableInfo __CreateInstance(global::CppSharp.Parser.AST.VFTableInfo.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ClassTemplateSpecialization(native, skipVTables); + return new global::CppSharp.Parser.AST.VFTableInfo(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VFTableInfo.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); - global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); + global::CppSharp.Parser.AST.VFTableInfo.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private ClassTemplateSpecialization(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal native, bool skipVTables = false) + private VFTableInfo(global::CppSharp.Parser.AST.VFTableInfo.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected ClassTemplateSpecialization(void* native, bool skipVTables = false) - : base((void*) null) + protected VFTableInfo(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public ClassTemplateSpecialization() - : this((void*) null) + public VFTableInfo() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public ClassTemplateSpecialization(global::CppSharp.Parser.AST.ClassTemplateSpecialization _0) - : this((void*) null) + public VFTableInfo(global::CppSharp.Parser.AST.VFTableInfo _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -11567,11 +11787,16 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.VFTableInfo __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -11580,294 +11805,160 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) - { - var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); - __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); - } - - public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + public ulong VBTableIndex { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); - } + get + { + return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VBTableIndex; + } - public void ClearArguments() - { - __Internal.ClearArguments((__Instance + __PointerAdjustment)); + set + { + ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->VBTableIndex = value; + } } - public global::CppSharp.Parser.AST.ClassTemplate TemplatedDecl + public uint VFPtrOffset { get { - global::CppSharp.Parser.AST.ClassTemplate __result0; - if (((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.ClassTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl)) - __result0 = (global::CppSharp.Parser.AST.ClassTemplate) global::CppSharp.Parser.AST.ClassTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl]; - else __result0 = global::CppSharp.Parser.AST.ClassTemplate.__CreateInstance(((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl); - return __result0; + return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VFPtrOffset; } set { - ((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*)__Instance)->templatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->VFPtrOffset = value; } } - public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind + public uint VFPtrFullOffset { get { - return ((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->specializationKind; + return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VFPtrFullOffset; } set { - ((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*)__Instance)->specializationKind = value; + ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->VFPtrFullOffset = value; } } - public uint ArgumentsCount + public global::CppSharp.Parser.AST.VTableLayout Layout { get { - var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); - return __ret; + return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->layout)); + } + + set + { + ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->layout = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.VTableLayout.__Internal() : *(global::CppSharp.Parser.AST.VTableLayout.__Internal*) value.__Instance; } } } - public unsafe partial class ClassTemplatePartialSpecialization : global::CppSharp.Parser.AST.ClassTemplateSpecialization, IDisposable + public unsafe partial class LayoutField : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 608)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 56)] + public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; + internal uint offset; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; - - [FieldOffset(32)] - internal int lineNumberEnd; - - [FieldOffset(40)] internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - [FieldOffset(64)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - - [FieldOffset(88)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; - - [FieldOffset(112)] - internal byte isIncomplete; - - [FieldOffset(113)] - internal byte isDependent; - - [FieldOffset(114)] - internal byte isImplicit; - - [FieldOffset(115)] - internal byte isInvalid; - - [FieldOffset(120)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(128)] - internal uint definitionOrder; - - [FieldOffset(136)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; - - [FieldOffset(184)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(192)] - internal global::System.IntPtr comment; - - [FieldOffset(200)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; - - [FieldOffset(224)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; - - [FieldOffset(248)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; - - [FieldOffset(272)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; - - [FieldOffset(296)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; - - [FieldOffset(320)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; - - [FieldOffset(344)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; - - [FieldOffset(368)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; - - [FieldOffset(392)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; - - [FieldOffset(416)] - internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; - - [FieldOffset(440)] - internal byte isAnonymous; - - [FieldOffset(448)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BaseClassSpecifier___N_std_N___1_S_allocator__S0_ Bases; - - [FieldOffset(472)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Field___N_std_N___1_S_allocator__S0_ Fields; - - [FieldOffset(496)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_N___1_S_allocator__S0_ Methods; - - [FieldOffset(520)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_AccessSpecifierDecl___N_std_N___1_S_allocator__S0_ Specifiers; - - [FieldOffset(544)] - internal byte isPOD; - - [FieldOffset(545)] - internal byte isAbstract; - - [FieldOffset(546)] - internal byte isUnion; - - [FieldOffset(547)] - internal byte isDynamic; - - [FieldOffset(548)] - internal byte isPolymorphic; - - [FieldOffset(549)] - internal byte hasNonTrivialDefaultConstructor; - - [FieldOffset(550)] - internal byte hasNonTrivialCopyConstructor; - - [FieldOffset(551)] - internal byte hasNonTrivialDestructor; - - [FieldOffset(552)] - internal byte isExternCContext; - - [FieldOffset(553)] - internal byte isInjected; - - [FieldOffset(560)] - internal global::System.IntPtr layout; - - [FieldOffset(568)] - internal global::System.IntPtr templatedDecl; - - [FieldOffset(576)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ Arguments; + [FieldOffset(32)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [FieldOffset(600)] - internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; + [FieldOffset(48)] + internal global::System.IntPtr fieldPtr; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST34ClassTemplatePartialSpecializationC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutFieldC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST34ClassTemplatePartialSpecializationC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutFieldC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr other); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST34ClassTemplatePartialSpecializationD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutFieldD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.LayoutField __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.LayoutField(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization __CreateInstance(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.LayoutField __CreateInstance(global::CppSharp.Parser.AST.LayoutField.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization(native, skipVTables); + return new global::CppSharp.Parser.AST.LayoutField(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.LayoutField.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); - global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); + global::CppSharp.Parser.AST.LayoutField.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private ClassTemplatePartialSpecialization(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native, bool skipVTables = false) + private LayoutField(global::CppSharp.Parser.AST.LayoutField.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected ClassTemplatePartialSpecialization(void* native, bool skipVTables = false) - : base((void*) null) + protected LayoutField(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public ClassTemplatePartialSpecialization() - : this((void*) null) + public LayoutField() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public ClassTemplatePartialSpecialization(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization _0) - : this((void*) null) + public LayoutField(global::CppSharp.Parser.AST.LayoutField other) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(other, null)) + throw new global::System.ArgumentNullException("other", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = other.__Instance; __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.LayoutField __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -11875,182 +11966,158 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - } - public unsafe partial class FunctionTemplate : global::CppSharp.Parser.AST.Template, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 256)] - public new partial struct __Internal + public uint Offset { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; - - [FieldOffset(32)] - internal int lineNumberEnd; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - - [FieldOffset(64)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - - [FieldOffset(88)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; - - [FieldOffset(112)] - internal byte isIncomplete; - - [FieldOffset(113)] - internal byte isDependent; - - [FieldOffset(114)] - internal byte isImplicit; - - [FieldOffset(115)] - internal byte isInvalid; + get + { + return ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->offset; + } - [FieldOffset(120)] - internal global::System.IntPtr completeDeclaration; + set + { + ((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->offset = value; + } + } - [FieldOffset(128)] - internal uint definitionOrder; + public string Name + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->name)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - [FieldOffset(136)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->name), value); + } + } - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + public global::CppSharp.Parser.AST.QualifiedType QualifiedType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->qualifiedType)); + } - [FieldOffset(184)] - internal global::System.IntPtr originalPtr; + set + { + ((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } - [FieldOffset(192)] - internal global::System.IntPtr comment; + public global::System.IntPtr FieldPtr + { + get + { + return ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->fieldPtr; + } - [FieldOffset(200)] - internal global::System.IntPtr TemplatedDecl; + set + { + ((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->fieldPtr = (global::System.IntPtr) value; + } + } + } - [FieldOffset(208)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Parameters; + public unsafe partial class LayoutBase : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 16)] + public partial struct __Internal + { + [FieldOffset(0)] + internal uint offset; - [FieldOffset(232)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_FunctionTemplateSpecialization___N_std_N___1_S_allocator__S0_ Specializations; + [FieldOffset(8)] + internal global::System.IntPtr _class; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplateC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST10LayoutBaseC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplateC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST10LayoutBaseC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr other); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplateD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST10LayoutBaseD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate18getSpecializationsEj")] - internal static extern global::System.IntPtr GetSpecializations(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate18addSpecializationsERPNS1_30FunctionTemplateSpecializationE")] - internal static extern void AddSpecializations(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate20clearSpecializationsEv")] - internal static extern void ClearSpecializations(global::System.IntPtr __instance); + public global::System.IntPtr __Instance { get; protected set; } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate18FindSpecializationERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE")] - internal static extern global::System.IntPtr FindSpecialization(global::System.IntPtr __instance, global::System.IntPtr usr); + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate23getSpecializationsCountEv")] - internal static extern uint GetSpecializationsCount(global::System.IntPtr __instance); - } + protected bool __ownsNativeInstance; - internal static new global::CppSharp.Parser.AST.FunctionTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.LayoutBase __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FunctionTemplate(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.LayoutBase(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.FunctionTemplate __CreateInstance(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.LayoutBase __CreateInstance(global::CppSharp.Parser.AST.LayoutBase.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FunctionTemplate(native, skipVTables); + return new global::CppSharp.Parser.AST.LayoutBase(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.LayoutBase.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); - global::CppSharp.Parser.AST.FunctionTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); + global::CppSharp.Parser.AST.LayoutBase.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private FunctionTemplate(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native, bool skipVTables = false) + private LayoutBase(global::CppSharp.Parser.AST.LayoutBase.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected FunctionTemplate(void* native, bool skipVTables = false) - : base((void*) null) + protected LayoutBase(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public FunctionTemplate() - : this((void*) null) + public LayoutBase() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public FunctionTemplate(global::CppSharp.Parser.AST.FunctionTemplate _0) - : this((void*) null) + public LayoutBase(global::CppSharp.Parser.AST.LayoutBase other) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; + if (ReferenceEquals(other, null)) + throw new global::System.ArgumentNullException("other", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = other.__Instance; __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.LayoutBase __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -12059,158 +12126,199 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.FunctionTemplateSpecialization GetSpecializations(uint i) - { - var __ret = __Internal.GetSpecializations((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(__ret); - return __result0; - } - - public void AddSpecializations(global::CppSharp.Parser.AST.FunctionTemplateSpecialization s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddSpecializations((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearSpecializations() + public uint Offset { - __Internal.ClearSpecializations((__Instance + __PointerAdjustment)); - } + get + { + return ((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->offset; + } - public global::CppSharp.Parser.AST.FunctionTemplateSpecialization FindSpecialization(string usr) - { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, usr); - var __arg0 = __basicString0.__Instance; - var __ret = __Internal.FindSpecialization((__Instance + __PointerAdjustment), __arg0); - __basicString0.Dispose(false); - global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(__ret); - return __result0; + set + { + ((global::CppSharp.Parser.AST.LayoutBase.__Internal*)__Instance)->offset = value; + } } - public uint SpecializationsCount + public global::CppSharp.Parser.AST.Class Class { get { - var __ret = __Internal.GetSpecializationsCount((__Instance + __PointerAdjustment)); - return __ret; + global::CppSharp.Parser.AST.Class __result0; + if (((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class)) + __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class]; + else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.LayoutBase.__Internal*)__Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class FunctionTemplateSpecialization : IDisposable + public unsafe partial class ClassLayout : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 136)] public partial struct __Internal { [FieldOffset(0)] - internal global::System.IntPtr _template; + internal global::CppSharp.Parser.AST.CppAbi ABI; [FieldOffset(8)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ Arguments; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_VFTableInfo___N_std_N___1_S_allocator__S0_ VFTables; [FieldOffset(32)] - internal global::System.IntPtr specializedFunction; + internal global::CppSharp.Parser.AST.VTableLayout.__Internal layout; - [FieldOffset(40)] - internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; + [FieldOffset(56)] + internal byte hasOwnVFPtr; + + [FieldOffset(64)] + internal long VBPtrOffset; + + [FieldOffset(72)] + internal int alignment; + + [FieldOffset(76)] + internal int size; + + [FieldOffset(80)] + internal int dataSize; + + [FieldOffset(88)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_LayoutField___N_std_N___1_S_allocator__S0_ Fields; + + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_LayoutBase___N_std_N___1_S_allocator__S0_ Bases; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayoutC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayoutC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayoutD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization12getArgumentsEj")] - internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout11getVFTablesEj")] + internal static extern void GetVFTables(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization12addArgumentsERNS1_16TemplateArgumentE")] - internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout11addVFTablesERNS1_11VFTableInfoE")] + internal static extern void AddVFTables(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization14clearArgumentsEv")] - internal static extern void ClearArguments(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout13clearVFTablesEv")] + internal static extern void ClearVFTables(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization17getArgumentsCountEv")] - internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout9getFieldsEj")] + internal static extern void GetFields(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout9addFieldsERNS1_11LayoutFieldE")] + internal static extern void AddFields(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout11clearFieldsEv")] + internal static extern void ClearFields(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout8getBasesEj")] + internal static extern void GetBases(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout8addBasesERNS1_10LayoutBaseE")] + internal static extern void AddBases(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout10clearBasesEv")] + internal static extern void ClearBases(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout16getVFTablesCountEv")] + internal static extern uint GetVFTablesCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout14getFieldsCountEv")] + internal static extern uint GetFieldsCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout13getBasesCountEv")] + internal static extern uint GetBasesCount(global::System.IntPtr __instance); } public global::System.IntPtr __Instance { get; protected set; } protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); protected internal void*[] __OriginalVTables; protected bool __ownsNativeInstance; - internal static global::CppSharp.Parser.AST.FunctionTemplateSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.ClassLayout __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FunctionTemplateSpecialization(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.ClassLayout(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.FunctionTemplateSpecialization __CreateInstance(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.ClassLayout __CreateInstance(global::CppSharp.Parser.AST.ClassLayout.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FunctionTemplateSpecialization(native, skipVTables); + return new global::CppSharp.Parser.AST.ClassLayout(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ClassLayout.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); - global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); + global::CppSharp.Parser.AST.ClassLayout.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native, bool skipVTables = false) + private ClassLayout(global::CppSharp.Parser.AST.ClassLayout.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected FunctionTemplateSpecialization(void* native, bool skipVTables = false) + protected ClassLayout(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public FunctionTemplateSpecialization() + public ClassLayout() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization _0) + public ClassLayout(global::CppSharp.Parser.AST.ClassLayout _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -12228,7 +12336,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.FunctionTemplateSpecialization __dummy; + global::CppSharp.Parser.AST.ClassLayout __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -12237,88 +12345,188 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) + public global::CppSharp.Parser.AST.VFTableInfo GetVFTables(uint i) { - var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); - __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); + var __ret = new global::CppSharp.Parser.AST.VFTableInfo.__Internal(); + __Internal.GetVFTables(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.VFTableInfo.__CreateInstance(__ret); } - public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + public void AddVFTables(global::CppSharp.Parser.AST.VFTableInfo s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); + __Internal.AddVFTables((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearVFTables() + { + __Internal.ClearVFTables((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.LayoutField GetFields(uint i) + { + var __ret = new global::CppSharp.Parser.AST.LayoutField.__Internal(); + __Internal.GetFields(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.LayoutField.__CreateInstance(__ret); + } + + public void AddFields(global::CppSharp.Parser.AST.LayoutField s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddFields((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearFields() + { + __Internal.ClearFields((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.LayoutBase GetBases(uint i) + { + var __ret = new global::CppSharp.Parser.AST.LayoutBase.__Internal(); + __Internal.GetBases(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.LayoutBase.__CreateInstance(__ret); + } + + public void AddBases(global::CppSharp.Parser.AST.LayoutBase s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddBases((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearBases() + { + __Internal.ClearBases((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.CppAbi ABI + { + get + { + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->ABI; + } + + set + { + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->ABI = value; + } + } + + public global::CppSharp.Parser.AST.VTableLayout Layout + { + get + { + return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->layout)); + } + + set + { + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->layout = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.VTableLayout.__Internal() : *(global::CppSharp.Parser.AST.VTableLayout.__Internal*) value.__Instance; + } + } + + public bool HasOwnVFPtr + { + get + { + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->hasOwnVFPtr != 0; + } + + set + { + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->hasOwnVFPtr = (byte) (value ? 1 : 0); + } + } + + public long VBPtrOffset + { + get + { + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->VBPtrOffset; + } + + set + { + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->VBPtrOffset = value; + } } - public void ClearArguments() - { - __Internal.ClearArguments((__Instance + __PointerAdjustment)); + public int Alignment + { + get + { + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->alignment; + } + + set + { + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->alignment = value; + } } - public global::CppSharp.Parser.AST.FunctionTemplate Template + public int Size { get { - global::CppSharp.Parser.AST.FunctionTemplate __result0; - if (((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.FunctionTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template)) - __result0 = (global::CppSharp.Parser.AST.FunctionTemplate) global::CppSharp.Parser.AST.FunctionTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template]; - else __result0 = global::CppSharp.Parser.AST.FunctionTemplate.__CreateInstance(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template); - return __result0; + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->size; } set { - ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*)__Instance)->_template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->size = value; } } - public global::CppSharp.Parser.AST.Function SpecializedFunction + public int DataSize { get { - global::CppSharp.Parser.AST.Function __result0; - if (((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction)) - __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction]; - else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction); - return __result0; + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->dataSize; } set { - ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*)__Instance)->specializedFunction = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->dataSize = value; } } - public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind + public uint VFTablesCount { get { - return ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializationKind; + var __ret = __Internal.GetVFTablesCount((__Instance + __PointerAdjustment)); + return __ret; } + } - set + public uint FieldsCount + { + get { - ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*)__Instance)->specializationKind = value; + var __ret = __Internal.GetFieldsCount((__Instance + __PointerAdjustment)); + return __ret; } } - public uint ArgumentsCount + public uint BasesCount { get { - var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetBasesCount((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class VarTemplate : global::CppSharp.Parser.AST.Template, IDisposable + public unsafe partial class Class : global::CppSharp.Parser.AST.DeclarationContext, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 256)] + [StructLayout(LayoutKind.Explicit, Size = 568)] public new partial struct __Internal { [FieldOffset(0)] @@ -12382,332 +12590,204 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(200)] - internal global::System.IntPtr TemplatedDecl; - - [FieldOffset(208)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Parameters; - - [FieldOffset(232)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_VarTemplateSpecialization___N_std_N___1_S_allocator__S0_ Specializations; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplateC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplateC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplateD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate18getSpecializationsEj")] - internal static extern global::System.IntPtr GetSpecializations(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate18addSpecializationsERPNS1_25VarTemplateSpecializationE")] - internal static extern void AddSpecializations(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate20clearSpecializationsEv")] - internal static extern void ClearSpecializations(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate18FindSpecializationERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE")] - internal static extern global::System.IntPtr FindSpecialization(global::System.IntPtr __instance, global::System.IntPtr usr); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate25FindPartialSpecializationERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE")] - internal static extern global::System.IntPtr FindPartialSpecialization(global::System.IntPtr __instance, global::System.IntPtr usr); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate23getSpecializationsCountEv")] - internal static extern uint GetSpecializationsCount(global::System.IntPtr __instance); - } - - internal static new global::CppSharp.Parser.AST.VarTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.VarTemplate(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.VarTemplate __CreateInstance(global::CppSharp.Parser.AST.VarTemplate.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.VarTemplate(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplate.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); - global::CppSharp.Parser.AST.VarTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private VarTemplate(global::CppSharp.Parser.AST.VarTemplate.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; - protected VarTemplate(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [FieldOffset(224)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; - public VarTemplate() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + [FieldOffset(248)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; - public VarTemplate(global::CppSharp.Parser.AST.VarTemplate _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(272)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + [FieldOffset(296)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; - public global::CppSharp.Parser.AST.VarTemplateSpecialization GetSpecializations(uint i) - { - var __ret = __Internal.GetSpecializations((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.VarTemplateSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.VarTemplateSpecialization) global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.VarTemplateSpecialization.__CreateInstance(__ret); - return __result0; - } + [FieldOffset(320)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; - public void AddSpecializations(global::CppSharp.Parser.AST.VarTemplateSpecialization s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddSpecializations((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(344)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; - public void ClearSpecializations() - { - __Internal.ClearSpecializations((__Instance + __PointerAdjustment)); - } + [FieldOffset(368)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; - public global::CppSharp.Parser.AST.VarTemplateSpecialization FindSpecialization(string usr) - { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, usr); - var __arg0 = __basicString0.__Instance; - var __ret = __Internal.FindSpecialization((__Instance + __PointerAdjustment), __arg0); - __basicString0.Dispose(false); - global::CppSharp.Parser.AST.VarTemplateSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.VarTemplateSpecialization) global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.VarTemplateSpecialization.__CreateInstance(__ret); - return __result0; - } + [FieldOffset(392)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; - public global::CppSharp.Parser.AST.VarTemplatePartialSpecialization FindPartialSpecialization(string usr) - { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, usr); - var __arg0 = __basicString0.__Instance; - var __ret = __Internal.FindPartialSpecialization((__Instance + __PointerAdjustment), __arg0); - __basicString0.Dispose(false); - global::CppSharp.Parser.AST.VarTemplatePartialSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.VarTemplatePartialSpecialization) global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__CreateInstance(__ret); - return __result0; - } + [FieldOffset(416)] + internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; - public uint SpecializationsCount - { - get - { - var __ret = __Internal.GetSpecializationsCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - } + [FieldOffset(440)] + internal byte isAnonymous; - public unsafe partial class VarTemplateSpecialization : global::CppSharp.Parser.AST.Variable, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 280)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + [FieldOffset(448)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BaseClassSpecifier___N_std_N___1_S_allocator__S0_ Bases; - [FieldOffset(4)] - internal int maxFieldAlignment; + [FieldOffset(472)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Field___N_std_N___1_S_allocator__S0_ Fields; - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + [FieldOffset(496)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_N___1_S_allocator__S0_ Methods; - [FieldOffset(16)] - internal global::System.IntPtr _namespace; + [FieldOffset(520)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_AccessSpecifierDecl___N_std_N___1_S_allocator__S0_ Specifiers; - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + [FieldOffset(544)] + internal byte isPOD; - [FieldOffset(28)] - internal int lineNumberStart; + [FieldOffset(545)] + internal byte isAbstract; - [FieldOffset(32)] - internal int lineNumberEnd; + [FieldOffset(546)] + internal byte isUnion; - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + [FieldOffset(547)] + internal byte isDynamic; - [FieldOffset(64)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + [FieldOffset(548)] + internal byte isPolymorphic; - [FieldOffset(88)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + [FieldOffset(549)] + internal byte hasNonTrivialDefaultConstructor; - [FieldOffset(112)] - internal byte isIncomplete; + [FieldOffset(550)] + internal byte hasNonTrivialCopyConstructor; - [FieldOffset(113)] - internal byte isDependent; + [FieldOffset(551)] + internal byte hasNonTrivialDestructor; - [FieldOffset(114)] - internal byte isImplicit; + [FieldOffset(552)] + internal byte isExternCContext; - [FieldOffset(115)] - internal byte isInvalid; + [FieldOffset(553)] + internal byte isInjected; - [FieldOffset(120)] - internal global::System.IntPtr completeDeclaration; + [FieldOffset(560)] + internal global::System.IntPtr layout; - [FieldOffset(128)] - internal uint definitionOrder; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5ClassC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); - [FieldOffset(136)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5ClassC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5ClassD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); - [FieldOffset(184)] - internal global::System.IntPtr originalPtr; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class8getBasesEj")] + internal static extern global::System.IntPtr GetBases(global::System.IntPtr __instance, uint i); - [FieldOffset(192)] - internal global::System.IntPtr comment; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class8addBasesERPNS1_18BaseClassSpecifierE")] + internal static extern void AddBases(global::System.IntPtr __instance, global::System.IntPtr s); - [FieldOffset(200)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C mangled; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class10clearBasesEv")] + internal static extern void ClearBases(global::System.IntPtr __instance); - [FieldOffset(224)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class9getFieldsEj")] + internal static extern global::System.IntPtr GetFields(global::System.IntPtr __instance, uint i); - [FieldOffset(240)] - internal global::System.IntPtr templatedDecl; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class9addFieldsERPNS1_5FieldE")] + internal static extern void AddFields(global::System.IntPtr __instance, global::System.IntPtr s); - [FieldOffset(248)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ Arguments; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class11clearFieldsEv")] + internal static extern void ClearFields(global::System.IntPtr __instance); - [FieldOffset(272)] - internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class10getMethodsEj")] + internal static extern global::System.IntPtr GetMethods(global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecializationC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class10addMethodsERPNS1_6MethodE")] + internal static extern void AddMethods(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecializationC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class12clearMethodsEv")] + internal static extern void ClearMethods(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecializationD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class13getSpecifiersEj")] + internal static extern global::System.IntPtr GetSpecifiers(global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecialization12getArgumentsEj")] - internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class13addSpecifiersERPNS1_19AccessSpecifierDeclE")] + internal static extern void AddSpecifiers(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecialization12addArgumentsERNS1_16TemplateArgumentE")] - internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class15clearSpecifiersEv")] + internal static extern void ClearSpecifiers(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecialization14clearArgumentsEv")] - internal static extern void ClearArguments(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class13getBasesCountEv")] + internal static extern uint GetBasesCount(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecialization17getArgumentsCountEv")] - internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class14getFieldsCountEv")] + internal static extern uint GetFieldsCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class15getMethodsCountEv")] + internal static extern uint GetMethodsCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class18getSpecifiersCountEv")] + internal static extern uint GetSpecifiersCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.VarTemplateSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Class __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VarTemplateSpecialization(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Class(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.VarTemplateSpecialization __CreateInstance(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Class __CreateInstance(global::CppSharp.Parser.AST.Class.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VarTemplateSpecialization(native, skipVTables); + return new global::CppSharp.Parser.AST.Class(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Class.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); - global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); + global::CppSharp.Parser.AST.Class.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private VarTemplateSpecialization(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal native, bool skipVTables = false) + private Class(global::CppSharp.Parser.AST.Class.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected VarTemplateSpecialization(void* native, bool skipVTables = false) + protected Class(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -12716,19 +12796,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public VarTemplateSpecialization() + public Class() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public VarTemplateSpecialization(global::CppSharp.Parser.AST.VarTemplateSpecialization _0) + public Class(global::CppSharp.Parser.AST.Class _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -12737,247 +12817,303 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.BaseClassSpecifier GetBases(uint i) + { + var __ret = __Internal.GetBases((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.BaseClassSpecifier __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.BaseClassSpecifier.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.BaseClassSpecifier) global::CppSharp.Parser.AST.BaseClassSpecifier.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.BaseClassSpecifier.__CreateInstance(__ret); + return __result0; + } + + public void AddBases(global::CppSharp.Parser.AST.BaseClassSpecifier s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddBases((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearBases() + { + __Internal.ClearBases((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Field GetFields(uint i) + { + var __ret = __Internal.GetFields((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Field __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Field.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Field) global::CppSharp.Parser.AST.Field.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Field.__CreateInstance(__ret); + return __result0; + } + + public void AddFields(global::CppSharp.Parser.AST.Field s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddFields((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearFields() + { + __Internal.ClearFields((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Method GetMethods(uint i) + { + var __ret = __Internal.GetMethods((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Method __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Method.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Method) global::CppSharp.Parser.AST.Method.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Method.__CreateInstance(__ret); + return __result0; + } + + public void AddMethods(global::CppSharp.Parser.AST.Method s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddMethods((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearMethods() { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + __Internal.ClearMethods((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) + public global::CppSharp.Parser.AST.AccessSpecifierDecl GetSpecifiers(uint i) { - var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); - __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); + var __ret = __Internal.GetSpecifiers((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.AccessSpecifierDecl __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.AccessSpecifierDecl.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.AccessSpecifierDecl) global::CppSharp.Parser.AST.AccessSpecifierDecl.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.AccessSpecifierDecl.__CreateInstance(__ret); + return __result0; } - public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + public void AddSpecifiers(global::CppSharp.Parser.AST.AccessSpecifierDecl s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); + __Internal.AddSpecifiers((__Instance + __PointerAdjustment), __arg0); } - public void ClearArguments() + public void ClearSpecifiers() { - __Internal.ClearArguments((__Instance + __PointerAdjustment)); + __Internal.ClearSpecifiers((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.VarTemplate TemplatedDecl + public bool IsPOD { get { - global::CppSharp.Parser.AST.VarTemplate __result0; - if (((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.VarTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl)) - __result0 = (global::CppSharp.Parser.AST.VarTemplate) global::CppSharp.Parser.AST.VarTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl]; - else __result0 = global::CppSharp.Parser.AST.VarTemplate.__CreateInstance(((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl); - return __result0; + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isPOD != 0; } set { - ((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*)__Instance)->templatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isPOD = (byte) (value ? 1 : 0); } } - public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind + public bool IsAbstract { get { - return ((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->specializationKind; + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isAbstract != 0; } set { - ((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*)__Instance)->specializationKind = value; + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isAbstract = (byte) (value ? 1 : 0); } } - public uint ArgumentsCount + public bool IsUnion { get { - var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isUnion != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isUnion = (byte) (value ? 1 : 0); } } - } - public unsafe partial class VarTemplatePartialSpecialization : global::CppSharp.Parser.AST.VarTemplateSpecialization, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 280)] - public new partial struct __Internal + public bool IsDynamic { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; - - [FieldOffset(32)] - internal int lineNumberEnd; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - - [FieldOffset(64)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - - [FieldOffset(88)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; - - [FieldOffset(112)] - internal byte isIncomplete; - - [FieldOffset(113)] - internal byte isDependent; - - [FieldOffset(114)] - internal byte isImplicit; - - [FieldOffset(115)] - internal byte isInvalid; - - [FieldOffset(120)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(128)] - internal uint definitionOrder; - - [FieldOffset(136)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; - - [FieldOffset(184)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(192)] - internal global::System.IntPtr comment; - - [FieldOffset(200)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C mangled; + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isDynamic != 0; + } - [FieldOffset(224)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isDynamic = (byte) (value ? 1 : 0); + } + } - [FieldOffset(240)] - internal global::System.IntPtr templatedDecl; + public bool IsPolymorphic + { + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isPolymorphic != 0; + } - [FieldOffset(248)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ Arguments; + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isPolymorphic = (byte) (value ? 1 : 0); + } + } - [FieldOffset(272)] - internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; + public bool HasNonTrivialDefaultConstructor + { + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialDefaultConstructor != 0; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST32VarTemplatePartialSpecializationC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->hasNonTrivialDefaultConstructor = (byte) (value ? 1 : 0); + } + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST32VarTemplatePartialSpecializationC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + public bool HasNonTrivialCopyConstructor + { + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialCopyConstructor != 0; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST32VarTemplatePartialSpecializationD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->hasNonTrivialCopyConstructor = (byte) (value ? 1 : 0); + } } - internal static new global::CppSharp.Parser.AST.VarTemplatePartialSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public bool HasNonTrivialDestructor { - return new global::CppSharp.Parser.AST.VarTemplatePartialSpecialization(native.ToPointer(), skipVTables); + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialDestructor != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->hasNonTrivialDestructor = (byte) (value ? 1 : 0); + } } - internal static global::CppSharp.Parser.AST.VarTemplatePartialSpecialization __CreateInstance(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal native, bool skipVTables = false) + public bool IsExternCContext { - return new global::CppSharp.Parser.AST.VarTemplatePartialSpecialization(native, skipVTables); + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isExternCContext != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isExternCContext = (byte) (value ? 1 : 0); + } } - private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal native) + public bool IsInjected { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); - global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isInjected != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isInjected = (byte) (value ? 1 : 0); + } } - private VarTemplatePartialSpecialization(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + public global::CppSharp.Parser.AST.ClassLayout Layout { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + get + { + global::CppSharp.Parser.AST.ClassLayout __result0; + if (((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ClassLayout.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout)) + __result0 = (global::CppSharp.Parser.AST.ClassLayout) global::CppSharp.Parser.AST.ClassLayout.NativeToManagedMap[((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout]; + else __result0 = global::CppSharp.Parser.AST.ClassLayout.__CreateInstance(((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->layout = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } } - protected VarTemplatePartialSpecialization(void* native, bool skipVTables = false) - : base((void*) null) + public uint BasesCount { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); + get + { + var __ret = __Internal.GetBasesCount((__Instance + __PointerAdjustment)); + return __ret; + } } - public VarTemplatePartialSpecialization() - : this((void*) null) + public uint FieldsCount { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + get + { + var __ret = __Internal.GetFieldsCount((__Instance + __PointerAdjustment)); + return __ret; + } } - public VarTemplatePartialSpecialization(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization _0) - : this((void*) null) + public uint MethodsCount { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + get + { + var __ret = __Internal.GetMethodsCount((__Instance + __PointerAdjustment)); + return __ret; + } } - public override void Dispose(bool disposing) + public uint SpecifiersCount { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + get + { + var __ret = __Internal.GetSpecifiersCount((__Instance + __PointerAdjustment)); + return __ret; + } } } - public unsafe partial class Namespace : global::CppSharp.Parser.AST.DeclarationContext, IDisposable + public unsafe partial class Template : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 448)] + [StructLayout(LayoutKind.Explicit, Size = 232)] public new partial struct __Internal { [FieldOffset(0)] @@ -13041,82 +13177,77 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(200)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; - - [FieldOffset(224)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; - - [FieldOffset(248)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; - - [FieldOffset(272)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; - - [FieldOffset(296)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; - - [FieldOffset(320)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; + internal global::System.IntPtr TemplatedDecl; - [FieldOffset(344)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; + [FieldOffset(208)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Parameters; - [FieldOffset(368)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateC2ENS1_15DeclarationKindE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.DeclarationKind kind); - [FieldOffset(392)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); - [FieldOffset(416)] - internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - [FieldOffset(440)] - internal byte isAnonymous; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); - [FieldOffset(441)] - internal byte isInline; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Template13getParametersEj")] + internal static extern global::System.IntPtr GetParameters(global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST8Template13addParametersERPNS1_11DeclarationE")] + internal static extern void AddParameters(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST8Template15clearParametersEv")] + internal static extern void ClearParameters(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST8Template18getParametersCountEv")] + internal static extern uint GetParametersCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.Namespace __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Template __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Namespace(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Template(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Namespace __CreateInstance(global::CppSharp.Parser.AST.Namespace.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Template __CreateInstance(global::CppSharp.Parser.AST.Template.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Namespace(native, skipVTables); + return new global::CppSharp.Parser.AST.Template(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Namespace.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Template.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); - global::CppSharp.Parser.AST.Namespace.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + global::CppSharp.Parser.AST.Template.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Namespace(global::CppSharp.Parser.AST.Namespace.__Internal native, bool skipVTables = false) + private Template(global::CppSharp.Parser.AST.Template.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Namespace(void* native, bool skipVTables = false) + protected Template(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -13125,19 +13256,28 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Namespace() + public Template(global::CppSharp.Parser.AST.DeclarationKind kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), kind); + } + + public Template() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public Namespace(global::CppSharp.Parser.AST.Namespace _0) + public Template(global::CppSharp.Parser.AST.Template _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -13159,223 +13299,333 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public bool IsInline + public global::CppSharp.Parser.AST.Declaration GetParameters(uint i) + { + var __ret = __Internal.GetParameters((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Declaration __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(__ret); + return __result0; + } + + public void AddParameters(global::CppSharp.Parser.AST.Declaration s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddParameters((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearParameters() + { + __Internal.ClearParameters((__Instance + __PointerAdjustment)); + } + + public static implicit operator global::CppSharp.Parser.AST.Template(global::CppSharp.Parser.AST.DeclarationKind kind) + { + return new global::CppSharp.Parser.AST.Template(kind); + } + + public global::CppSharp.Parser.AST.Declaration TemplatedDecl { get { - return ((global::CppSharp.Parser.AST.Namespace.__Internal*) __Instance)->isInline != 0; + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.Template.__Internal*)__Instance)->TemplatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public uint ParametersCount + { + get + { + var __ret = __Internal.GetParametersCount((__Instance + __PointerAdjustment)); + return __ret; } + } + } + + public unsafe partial class TypeAliasTemplate : global::CppSharp.Parser.AST.Template, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 232)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(64)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(112)] + internal byte isIncomplete; + + [FieldOffset(113)] + internal byte isDependent; + + [FieldOffset(114)] + internal byte isImplicit; + + [FieldOffset(115)] + internal byte isInvalid; + + [FieldOffset(120)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(128)] + internal uint definitionOrder; - set - { - ((global::CppSharp.Parser.AST.Namespace.__Internal*)__Instance)->isInline = (byte) (value ? 1 : 0); - } - } - } + [FieldOffset(136)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; - public unsafe partial class PreprocessedEntity : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 24)] - public partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.MacroLocation macroLocation; + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; - [FieldOffset(8)] + [FieldOffset(184)] internal global::System.IntPtr originalPtr; - [FieldOffset(16)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + [FieldOffset(192)] + internal global::System.IntPtr comment; + + [FieldOffset(200)] + internal global::System.IntPtr TemplatedDecl; + + [FieldOffset(208)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Parameters; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18PreprocessedEntityC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST17TypeAliasTemplateC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18PreprocessedEntityC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST17TypeAliasTemplateC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - } - - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; - protected bool __ownsNativeInstance; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17TypeAliasTemplateD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + } - internal static global::CppSharp.Parser.AST.PreprocessedEntity __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TypeAliasTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.PreprocessedEntity(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TypeAliasTemplate(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.PreprocessedEntity __CreateInstance(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TypeAliasTemplate __CreateInstance(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.PreprocessedEntity(native, skipVTables); + return new global::CppSharp.Parser.AST.TypeAliasTemplate(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); - *(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) ret = native; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); + global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native, bool skipVTables = false) + private TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected PreprocessedEntity(void* native, bool skipVTables = false) + protected TypeAliasTemplate(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public PreprocessedEntity() + public TypeAliasTemplate() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity _0) + public TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) _0.__Instance); - } - - public void Dispose() - { - Dispose(disposing: true); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.PreprocessedEntity __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - - public global::CppSharp.Parser.AST.MacroLocation MacroLocation - { - get - { - return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->macroLocation; - } - - set - { - ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*)__Instance)->macroLocation = value; - } - } - - public global::System.IntPtr OriginalPtr - { - get - { - return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->originalPtr; - } - - set - { - ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*)__Instance)->originalPtr = (global::System.IntPtr) value; - } - } - - public global::CppSharp.Parser.AST.DeclarationKind Kind - { - get - { - return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->kind; - } - - set - { - ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*)__Instance)->kind = value; - } - } } - public unsafe partial class MacroDefinition : global::CppSharp.Parser.AST.PreprocessedEntity, IDisposable + public unsafe partial class TemplateParameter : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 80)] + [StructLayout(LayoutKind.Explicit, Size = 216)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.MacroLocation macroLocation; + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::System.IntPtr originalPtr; + internal global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(16)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::System.IntPtr _namespace; [FieldOffset(24)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - - [FieldOffset(48)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C expression; + internal global::CppSharp.Parser.SourceLocation.__Internal location; - [FieldOffset(72)] + [FieldOffset(28)] internal int lineNumberStart; - [FieldOffset(76)] + [FieldOffset(32)] internal int lineNumberEnd; + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(64)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(112)] + internal byte isIncomplete; + + [FieldOffset(113)] + internal byte isDependent; + + [FieldOffset(114)] + internal byte isImplicit; + + [FieldOffset(115)] + internal byte isInvalid; + + [FieldOffset(120)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(128)] + internal uint definitionOrder; + + [FieldOffset(136)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(192)] + internal global::System.IntPtr comment; + + [FieldOffset(200)] + internal uint depth; + + [FieldOffset(204)] + internal uint index; + + [FieldOffset(208)] + internal byte isParameterPack; + [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15MacroDefinitionC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterC2ENS1_15DeclarationKindE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.DeclarationKind kind); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15MacroDefinitionC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15MacroDefinitionD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.MacroDefinition __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.MacroDefinition(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TemplateParameter(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.MacroDefinition __CreateInstance(global::CppSharp.Parser.AST.MacroDefinition.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TemplateParameter.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.MacroDefinition(native, skipVTables); + return new global::CppSharp.Parser.AST.TemplateParameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.MacroDefinition.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameter.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); - global::CppSharp.Parser.AST.MacroDefinition.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); + global::CppSharp.Parser.AST.TemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private MacroDefinition(global::CppSharp.Parser.AST.MacroDefinition.__Internal native, bool skipVTables = false) + private TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected MacroDefinition(void* native, bool skipVTables = false) + protected TemplateParameter(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -13384,19 +13634,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public MacroDefinition() + public TemplateParameter(global::CppSharp.Parser.AST.DeclarationKind kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + __Internal.ctor((__Instance + __PointerAdjustment), kind); } - public MacroDefinition(global::CppSharp.Parser.AST.MacroDefinition _0) + public TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -13409,7 +13659,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.PreprocessedEntity __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -13418,129 +13668,172 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public string Name + public static implicit operator global::CppSharp.Parser.AST.TemplateParameter(global::CppSharp.Parser.AST.DeclarationKind kind) { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->name)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->name), value); - } + return new global::CppSharp.Parser.AST.TemplateParameter(kind); } - public string Expression + public uint Depth { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->expression)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->depth; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->expression), value); + ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*)__Instance)->depth = value; } } - public int LineNumberStart + public uint Index { get { - return ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->lineNumberStart; + return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->index; } set { - ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->lineNumberStart = value; + ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*)__Instance)->index = value; } } - public int LineNumberEnd + public bool IsParameterPack { get { - return ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->lineNumberEnd; + return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->isParameterPack != 0; } set { - ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->lineNumberEnd = value; + ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*)__Instance)->isParameterPack = (byte) (value ? 1 : 0); } } } - public unsafe partial class MacroExpansion : global::CppSharp.Parser.AST.PreprocessedEntity, IDisposable + public unsafe partial class TemplateTemplateParameter : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 80)] + [StructLayout(LayoutKind.Explicit, Size = 240)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.MacroLocation macroLocation; + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::System.IntPtr originalPtr; + internal global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(16)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::System.IntPtr _namespace; [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - [FieldOffset(48)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C text; + [FieldOffset(64)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - [FieldOffset(72)] - internal global::System.IntPtr definition; + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(112)] + internal byte isIncomplete; + + [FieldOffset(113)] + internal byte isDependent; + + [FieldOffset(114)] + internal byte isImplicit; + + [FieldOffset(115)] + internal byte isInvalid; + + [FieldOffset(120)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(128)] + internal uint definitionOrder; + + [FieldOffset(136)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(192)] + internal global::System.IntPtr comment; + + [FieldOffset(200)] + internal global::System.IntPtr TemplatedDecl; + + [FieldOffset(208)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Parameters; + + [FieldOffset(232)] + internal byte isParameterPack; + + [FieldOffset(233)] + internal byte isPackExpansion; + + [FieldOffset(234)] + internal byte isExpandedParameterPack; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14MacroExpansionC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14MacroExpansionC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14MacroExpansionD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.MacroExpansion __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TemplateTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.MacroExpansion(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TemplateTemplateParameter(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.MacroExpansion __CreateInstance(global::CppSharp.Parser.AST.MacroExpansion.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TemplateTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.MacroExpansion(native, skipVTables); + return new global::CppSharp.Parser.AST.TemplateTemplateParameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.MacroExpansion.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); - global::CppSharp.Parser.AST.MacroExpansion.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); + global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private MacroExpansion(global::CppSharp.Parser.AST.MacroExpansion.__Internal native, bool skipVTables = false) + private TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected MacroExpansion(void* native, bool skipVTables = false) + protected TemplateTemplateParameter(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -13549,19 +13842,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public MacroExpansion() + public TemplateTemplateParameter() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public MacroExpansion(global::CppSharp.Parser.AST.MacroExpansion _0) + public TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -13574,7 +13867,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.PreprocessedEntity __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -13583,60 +13876,49 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public string Name + public bool IsParameterPack { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->name)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isParameterPack != 0; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*)__Instance)->name), value); + ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*)__Instance)->isParameterPack = (byte) (value ? 1 : 0); } } - public string Text + public bool IsPackExpansion { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->text)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isPackExpansion != 0; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*)__Instance)->text), value); + ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*)__Instance)->isPackExpansion = (byte) (value ? 1 : 0); } } - public global::CppSharp.Parser.AST.MacroDefinition Definition + public bool IsExpandedParameterPack { get { - global::CppSharp.Parser.AST.MacroDefinition __result0; - if (((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition)) - __result0 = (global::CppSharp.Parser.AST.MacroDefinition) global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap[((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition]; - else __result0 = global::CppSharp.Parser.AST.MacroDefinition.__CreateInstance(((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition); - return __result0; + return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack != 0; } set { - ((global::CppSharp.Parser.AST.MacroExpansion.__Internal*)__Instance)->definition = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*)__Instance)->isExpandedParameterPack = (byte) (value ? 1 : 0); } } } - public unsafe partial class TranslationUnit : global::CppSharp.Parser.AST.Namespace, IDisposable + public unsafe partial class TypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 504)] + [StructLayout(LayoutKind.Explicit, Size = 232)] public new partial struct __Internal { [FieldOffset(0)] @@ -13700,111 +13982,58 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(200)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; - - [FieldOffset(224)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; - - [FieldOffset(248)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; - - [FieldOffset(272)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; - - [FieldOffset(296)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; - - [FieldOffset(320)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; - - [FieldOffset(344)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; - - [FieldOffset(368)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; - - [FieldOffset(392)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; - - [FieldOffset(416)] - internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; - - [FieldOffset(440)] - internal byte isAnonymous; - - [FieldOffset(441)] - internal byte isInline; + internal uint depth; - [FieldOffset(448)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C fileName; + [FieldOffset(204)] + internal uint index; - [FieldOffset(472)] - internal byte isSystemHeader; + [FieldOffset(208)] + internal byte isParameterPack; - [FieldOffset(480)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_MacroDefinition___N_std_N___1_S_allocator__S0_ Macros; + [FieldOffset(216)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal defaultArgument; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnitC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST21TypeTemplateParameterC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnitC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST21TypeTemplateParameterC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnitD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST21TypeTemplateParameterD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnit9getMacrosEj")] - internal static extern global::System.IntPtr GetMacros(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnit9addMacrosERPNS1_15MacroDefinitionE")] - internal static extern void AddMacros(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnit11clearMacrosEv")] - internal static extern void ClearMacros(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnit14getMacrosCountEv")] - internal static extern uint GetMacrosCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.TranslationUnit __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TypeTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TranslationUnit(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TypeTemplateParameter(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TranslationUnit __CreateInstance(global::CppSharp.Parser.AST.TranslationUnit.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TypeTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TranslationUnit(native, skipVTables); + return new global::CppSharp.Parser.AST.TypeTemplateParameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TranslationUnit.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); - global::CppSharp.Parser.AST.TranslationUnit.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); + global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TranslationUnit(global::CppSharp.Parser.AST.TranslationUnit.__Internal native, bool skipVTables = false) + private TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TranslationUnit(void* native, bool skipVTables = false) + protected TypeTemplateParameter(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -13813,19 +14042,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TranslationUnit() + public TypeTemplateParameter() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TranslationUnit(global::CppSharp.Parser.AST.TranslationUnit _0) + public TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -13847,192 +14076,171 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.MacroDefinition GetMacros(uint i) - { - var __ret = __Internal.GetMacros((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.MacroDefinition __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.MacroDefinition) global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.MacroDefinition.__CreateInstance(__ret); - return __result0; - } - - public void AddMacros(global::CppSharp.Parser.AST.MacroDefinition s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddMacros((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearMacros() - { - __Internal.ClearMacros((__Instance + __PointerAdjustment)); - } - - public string FileName - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TranslationUnit.__Internal*) __Instance)->fileName)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TranslationUnit.__Internal*)__Instance)->fileName), value); - } - } - - public bool IsSystemHeader + public global::CppSharp.Parser.AST.QualifiedType DefaultArgument { get { - return ((global::CppSharp.Parser.AST.TranslationUnit.__Internal*) __Instance)->isSystemHeader != 0; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal*) __Instance)->defaultArgument)); } set { - ((global::CppSharp.Parser.AST.TranslationUnit.__Internal*)__Instance)->isSystemHeader = (byte) (value ? 1 : 0); - } - } - - public uint MacrosCount - { - get - { - var __ret = __Internal.GetMacrosCount((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal*)__Instance)->defaultArgument = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } } - public unsafe partial class NativeLibrary : IDisposable + public unsafe partial class NonTypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 80)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 240)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C fileName; + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; [FieldOffset(24)] - internal global::CppSharp.Parser.AST.ArchType archType; + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; [FieldOffset(32)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S_allocator__S0_ Symbols; + internal int lineNumberEnd; - [FieldOffset(56)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S_allocator__S0_ Dependencies; + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibraryC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + [FieldOffset(64)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibraryC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibraryD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); + [FieldOffset(112)] + internal byte isIncomplete; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary10getSymbolsEj")] - internal static extern global::System.IntPtr GetSymbols(global::System.IntPtr __instance, uint i); + [FieldOffset(113)] + internal byte isDependent; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary10addSymbolsEPKc")] - internal static extern void AddSymbols(global::System.IntPtr __instance, [MarshalAs(UnmanagedType.LPStr)] string s); + [FieldOffset(114)] + internal byte isImplicit; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary12clearSymbolsEv")] - internal static extern void ClearSymbols(global::System.IntPtr __instance); + [FieldOffset(115)] + internal byte isInvalid; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary15getDependenciesEj")] - internal static extern global::System.IntPtr GetDependencies(global::System.IntPtr __instance, uint i); + [FieldOffset(120)] + internal global::System.IntPtr completeDeclaration; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary15addDependenciesEPKc")] - internal static extern void AddDependencies(global::System.IntPtr __instance, [MarshalAs(UnmanagedType.LPStr)] string s); + [FieldOffset(128)] + internal uint definitionOrder; + + [FieldOffset(136)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(192)] + internal global::System.IntPtr comment; + + [FieldOffset(200)] + internal uint depth; + + [FieldOffset(204)] + internal uint index; + + [FieldOffset(208)] + internal byte isParameterPack; + + [FieldOffset(216)] + internal global::System.IntPtr defaultArgument; + + [FieldOffset(224)] + internal global::System.IntPtr defaultArgumentNew; + + [FieldOffset(232)] + internal uint position; + + [FieldOffset(236)] + internal byte isPackExpansion; + + [FieldOffset(237)] + internal byte isExpandedParameterPack; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary17clearDependenciesEv")] - internal static extern void ClearDependencies(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary15getSymbolsCountEv")] - internal static extern uint GetSymbolsCount(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary20getDependenciesCountEv")] - internal static extern uint GetDependenciesCount(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); } - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.NativeLibrary __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.NonTypeTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.NativeLibrary(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.NonTypeTemplateParameter(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.NativeLibrary __CreateInstance(global::CppSharp.Parser.AST.NativeLibrary.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.NonTypeTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.NativeLibrary(native, skipVTables); + return new global::CppSharp.Parser.AST.NonTypeTemplateParameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.NativeLibrary.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); - global::CppSharp.Parser.AST.NativeLibrary.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); + global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private NativeLibrary(global::CppSharp.Parser.AST.NativeLibrary.__Internal native, bool skipVTables = false) + private NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected NativeLibrary(void* native, bool skipVTables = false) + protected NonTypeTemplateParameter(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public NativeLibrary() + public NonTypeTemplateParameter() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public NativeLibrary(global::CppSharp.Parser.AST.NativeLibrary _0) + public NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -14041,16 +14249,11 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.NativeLibrary __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -14059,185 +14262,248 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public string GetSymbols(uint i) - { - var __ret = __Internal.GetSymbols((__Instance + __PointerAdjustment), i); - return Marshal.PtrToStringAnsi(__ret); - } - - public void AddSymbols(string s) - { - __Internal.AddSymbols((__Instance + __PointerAdjustment), s); - } - - public void ClearSymbols() - { - __Internal.ClearSymbols((__Instance + __PointerAdjustment)); - } - - public string GetDependencies(uint i) - { - var __ret = __Internal.GetDependencies((__Instance + __PointerAdjustment), i); - return Marshal.PtrToStringAnsi(__ret); - } - - public void AddDependencies(string s) + public global::CppSharp.Parser.AST.ExpressionObsolete DefaultArgument { - __Internal.AddDependencies((__Instance + __PointerAdjustment), s); - } + get + { + global::CppSharp.Parser.AST.ExpressionObsolete __result0; + if (((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ExpressionObsolete.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument)) + __result0 = (global::CppSharp.Parser.AST.ExpressionObsolete) global::CppSharp.Parser.AST.ExpressionObsolete.NativeToManagedMap[((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument]; + else __result0 = global::CppSharp.Parser.AST.ExpressionObsolete.__CreateInstance(((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument); + return __result0; + } - public void ClearDependencies() - { - __Internal.ClearDependencies((__Instance + __PointerAdjustment)); + set + { + ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->defaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } } - public string FileName + public global::CppSharp.Parser.AST.Expr DefaultArgumentNew { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.NativeLibrary.__Internal*) __Instance)->fileName)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgumentNew == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgumentNew)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgumentNew]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgumentNew); + return __result0; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.NativeLibrary.__Internal*)__Instance)->fileName), value); + ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->defaultArgumentNew = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public global::CppSharp.Parser.AST.ArchType ArchType + public uint Position { get { - return ((global::CppSharp.Parser.AST.NativeLibrary.__Internal*) __Instance)->archType; + return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->position; } set { - ((global::CppSharp.Parser.AST.NativeLibrary.__Internal*)__Instance)->archType = value; + ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->position = value; } } - public uint SymbolsCount + public bool IsPackExpansion { get { - var __ret = __Internal.GetSymbolsCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->isPackExpansion != 0; + } + + set + { + ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->isPackExpansion = (byte) (value ? 1 : 0); } } - public uint DependenciesCount + public bool IsExpandedParameterPack { get { - var __ret = __Internal.GetDependenciesCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack != 0; + } + + set + { + ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->isExpandedParameterPack = (byte) (value ? 1 : 0); } } } - public unsafe partial class ASTContext : IDisposable + public unsafe partial class ClassTemplate : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 24)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 256)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TranslationUnit___N_std_N___1_S_allocator__S0_ TranslationUnits; + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(64)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(112)] + internal byte isIncomplete; + + [FieldOffset(113)] + internal byte isDependent; + + [FieldOffset(114)] + internal byte isImplicit; + + [FieldOffset(115)] + internal byte isInvalid; + + [FieldOffset(120)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(128)] + internal uint definitionOrder; + + [FieldOffset(136)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(192)] + internal global::System.IntPtr comment; + + [FieldOffset(200)] + internal global::System.IntPtr TemplatedDecl; + + [FieldOffset(208)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Parameters; + + [FieldOffset(232)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_ClassTemplateSpecialization___N_std_N___1_S_allocator__S0_ Specializations; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContextC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplateC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContextC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplateC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContextD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplateD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext18FindOrCreateModuleENSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE")] - internal static extern global::System.IntPtr FindOrCreateModule(global::System.IntPtr __instance, global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C File); + EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate18getSpecializationsEj")] + internal static extern global::System.IntPtr GetSpecializations(global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext19getTranslationUnitsEj")] - internal static extern global::System.IntPtr GetTranslationUnits(global::System.IntPtr __instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate18addSpecializationsERPNS1_27ClassTemplateSpecializationE")] + internal static extern void AddSpecializations(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext19addTranslationUnitsERPNS1_15TranslationUnitE")] - internal static extern void AddTranslationUnits(global::System.IntPtr __instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate20clearSpecializationsEv")] + internal static extern void ClearSpecializations(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext21clearTranslationUnitsEv")] - internal static extern void ClearTranslationUnits(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate18FindSpecializationERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE")] + internal static extern global::System.IntPtr FindSpecialization(global::System.IntPtr __instance, global::System.IntPtr usr); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext24getTranslationUnitsCountEv")] - internal static extern uint GetTranslationUnitsCount(global::System.IntPtr __instance); - } - - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; + EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate25FindPartialSpecializationERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE")] + internal static extern global::System.IntPtr FindPartialSpecialization(global::System.IntPtr __instance, global::System.IntPtr usr); - protected bool __ownsNativeInstance; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate23getSpecializationsCountEv")] + internal static extern uint GetSpecializationsCount(global::System.IntPtr __instance); + } - internal static global::CppSharp.Parser.AST.ASTContext __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.ClassTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ASTContext(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.ClassTemplate(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.ASTContext __CreateInstance(global::CppSharp.Parser.AST.ASTContext.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.ClassTemplate __CreateInstance(global::CppSharp.Parser.AST.ClassTemplate.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ASTContext(native, skipVTables); + return new global::CppSharp.Parser.AST.ClassTemplate(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ASTContext.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplate.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); - global::CppSharp.Parser.AST.ASTContext.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal)); + global::CppSharp.Parser.AST.ClassTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private ASTContext(global::CppSharp.Parser.AST.ASTContext.__Internal native, bool skipVTables = false) + private ClassTemplate(global::CppSharp.Parser.AST.ClassTemplate.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected ASTContext(void* native, bool skipVTables = false) + protected ClassTemplate(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public ASTContext() + public ClassTemplate() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public ASTContext(global::CppSharp.Parser.AST.ASTContext _0) + public ClassTemplate(global::CppSharp.Parser.AST.ClassTemplate _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -14246,16 +14512,11 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.ASTContext __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -14264,213 +14525,283 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TranslationUnit FindOrCreateModule(string File) - { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, File); - var __arg0 = *(global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C*) __basicString0.__Instance; - var __ret = __Internal.FindOrCreateModule((__Instance + __PointerAdjustment), __arg0); - __basicString0.Dispose(false); - global::CppSharp.Parser.AST.TranslationUnit __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.TranslationUnit) global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.TranslationUnit.__CreateInstance(__ret); - return __result0; - } - - public global::CppSharp.Parser.AST.TranslationUnit GetTranslationUnits(uint i) + public global::CppSharp.Parser.AST.ClassTemplateSpecialization GetSpecializations(uint i) { - var __ret = __Internal.GetTranslationUnits((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.TranslationUnit __result0; + var __ret = __Internal.GetSpecializations((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.ClassTemplateSpecialization __result0; if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.TranslationUnit) global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.TranslationUnit.__CreateInstance(__ret); + else if (global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.ClassTemplateSpecialization) global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.ClassTemplateSpecialization.__CreateInstance(__ret); return __result0; } - public void AddTranslationUnits(global::CppSharp.Parser.AST.TranslationUnit s) + public void AddSpecializations(global::CppSharp.Parser.AST.ClassTemplateSpecialization s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddTranslationUnits((__Instance + __PointerAdjustment), __arg0); + __Internal.AddSpecializations((__Instance + __PointerAdjustment), __arg0); } - public void ClearTranslationUnits() + public void ClearSpecializations() { - __Internal.ClearTranslationUnits((__Instance + __PointerAdjustment)); + __Internal.ClearSpecializations((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.ClassTemplateSpecialization FindSpecialization(string usr) + { + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, usr); + var __arg0 = __basicString0.__Instance; + var __ret = __Internal.FindSpecialization((__Instance + __PointerAdjustment), __arg0); + __basicString0.Dispose(false); + global::CppSharp.Parser.AST.ClassTemplateSpecialization __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.ClassTemplateSpecialization) global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.ClassTemplateSpecialization.__CreateInstance(__ret); + return __result0; + } + + public global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization FindPartialSpecialization(string usr) + { + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, usr); + var __arg0 = __basicString0.__Instance; + var __ret = __Internal.FindPartialSpecialization((__Instance + __PointerAdjustment), __arg0); + __basicString0.Dispose(false); + global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization) global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__CreateInstance(__ret); + return __result0; } - public uint TranslationUnitsCount + public uint SpecializationsCount { get { - var __ret = __Internal.GetTranslationUnitsCount((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetSpecializationsCount((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class Comment : IDisposable + public unsafe partial class ClassTemplateSpecialization : global::CppSharp.Parser.AST.Class, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 4)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 608)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST7CommentC2ENS1_11CommentKindE")] - internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.CommentKind kind); + [FieldOffset(4)] + internal int maxFieldAlignment; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST7CommentC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - } + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; - public global::System.IntPtr __Instance { get; protected set; } + [FieldOffset(16)] + internal global::System.IntPtr _namespace; - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; - protected bool __ownsNativeInstance; + [FieldOffset(28)] + internal int lineNumberStart; - internal static global::CppSharp.Parser.AST.Comment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Comment(native.ToPointer(), skipVTables); - } + [FieldOffset(32)] + internal int lineNumberEnd; - internal static global::CppSharp.Parser.AST.Comment __CreateInstance(global::CppSharp.Parser.AST.Comment.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Comment(native, skipVTables); - } + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - private static void* __CopyValue(global::CppSharp.Parser.AST.Comment.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); - *(global::CppSharp.Parser.AST.Comment.__Internal*) ret = native; - return ret.ToPointer(); - } + [FieldOffset(64)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - private Comment(global::CppSharp.Parser.AST.Comment.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; - protected Comment(void* native, bool skipVTables = false) - { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [FieldOffset(112)] + internal byte isIncomplete; - public Comment(global::CppSharp.Parser.AST.CommentKind kind) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), kind); - } + [FieldOffset(113)] + internal byte isDependent; - public Comment(global::CppSharp.Parser.AST.Comment _0) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.Comment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.Comment.__Internal*) _0.__Instance); - } + [FieldOffset(114)] + internal byte isImplicit; - public void Dispose() - { - Dispose(disposing: true); - } + [FieldOffset(115)] + internal byte isInvalid; - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Comment __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + [FieldOffset(120)] + internal global::System.IntPtr completeDeclaration; - public static implicit operator global::CppSharp.Parser.AST.Comment(global::CppSharp.Parser.AST.CommentKind kind) - { - return new global::CppSharp.Parser.AST.Comment(kind); - } + [FieldOffset(128)] + internal uint definitionOrder; - public global::CppSharp.Parser.AST.CommentKind Kind - { - get - { - return ((global::CppSharp.Parser.AST.Comment.__Internal*) __Instance)->kind; - } + [FieldOffset(136)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; - set - { - ((global::CppSharp.Parser.AST.Comment.__Internal*)__Instance)->kind = value; - } - } - } + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; - public unsafe partial class BlockContentComment : global::CppSharp.Parser.AST.Comment, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 4)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + [FieldOffset(184)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(192)] + internal global::System.IntPtr comment; + + [FieldOffset(200)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; + + [FieldOffset(224)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; + + [FieldOffset(248)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; + + [FieldOffset(272)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; + + [FieldOffset(296)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; + + [FieldOffset(320)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; + + [FieldOffset(344)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; + + [FieldOffset(368)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; + + [FieldOffset(392)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; + + [FieldOffset(416)] + internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; + + [FieldOffset(440)] + internal byte isAnonymous; + + [FieldOffset(448)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BaseClassSpecifier___N_std_N___1_S_allocator__S0_ Bases; + + [FieldOffset(472)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Field___N_std_N___1_S_allocator__S0_ Fields; + + [FieldOffset(496)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_N___1_S_allocator__S0_ Methods; + + [FieldOffset(520)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_AccessSpecifierDecl___N_std_N___1_S_allocator__S0_ Specifiers; + + [FieldOffset(544)] + internal byte isPOD; + + [FieldOffset(545)] + internal byte isAbstract; + + [FieldOffset(546)] + internal byte isUnion; + + [FieldOffset(547)] + internal byte isDynamic; + + [FieldOffset(548)] + internal byte isPolymorphic; + + [FieldOffset(549)] + internal byte hasNonTrivialDefaultConstructor; + + [FieldOffset(550)] + internal byte hasNonTrivialCopyConstructor; + + [FieldOffset(551)] + internal byte hasNonTrivialDestructor; + + [FieldOffset(552)] + internal byte isExternCContext; + + [FieldOffset(553)] + internal byte isInjected; + + [FieldOffset(560)] + internal global::System.IntPtr layout; + + [FieldOffset(568)] + internal global::System.IntPtr templatedDecl; + + [FieldOffset(576)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ Arguments; + + [FieldOffset(600)] + internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19BlockContentCommentC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecializationC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19BlockContentCommentC2ENS1_11CommentKindE")] - internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.CommentKind Kind); + EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecializationC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecializationD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecialization12getArgumentsEj")] + internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecialization12addArgumentsERNS1_16TemplateArgumentE")] + internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecialization14clearArgumentsEv")] + internal static extern void ClearArguments(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19BlockContentCommentC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecialization17getArgumentsCountEv")] + internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.BlockContentComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.ClassTemplateSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BlockContentComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.ClassTemplateSpecialization(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.BlockContentComment __CreateInstance(global::CppSharp.Parser.AST.BlockContentComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.ClassTemplateSpecialization __CreateInstance(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BlockContentComment(native, skipVTables); + return new global::CppSharp.Parser.AST.ClassTemplateSpecialization(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.BlockContentComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); - *(global::CppSharp.Parser.AST.BlockContentComment.__Internal*) ret = native; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); + global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private BlockContentComment(global::CppSharp.Parser.AST.BlockContentComment.__Internal native, bool skipVTables = false) + private ClassTemplateSpecialization(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected BlockContentComment(void* native, bool skipVTables = false) + protected ClassTemplateSpecialization(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -14479,111 +14810,294 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public BlockContentComment() + public ClassTemplateSpecialization() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public BlockContentComment(global::CppSharp.Parser.AST.CommentKind Kind) + public ClassTemplateSpecialization(global::CppSharp.Parser.AST.ClassTemplateSpecialization _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), Kind); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public BlockContentComment(global::CppSharp.Parser.AST.BlockContentComment _0) - : this((void*) null) + public override void Dispose(bool disposing) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.BlockContentComment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BlockContentComment.__Internal*) _0.__Instance); + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) + { + var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); + __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); + } + + public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearArguments() + { + __Internal.ClearArguments((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.ClassTemplate TemplatedDecl + { + get + { + global::CppSharp.Parser.AST.ClassTemplate __result0; + if (((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ClassTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl)) + __result0 = (global::CppSharp.Parser.AST.ClassTemplate) global::CppSharp.Parser.AST.ClassTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl]; + else __result0 = global::CppSharp.Parser.AST.ClassTemplate.__CreateInstance(((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*)__Instance)->templatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind + { + get + { + return ((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->specializationKind; + } + + set + { + ((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*)__Instance)->specializationKind = value; + } + } + + public uint ArgumentsCount + { + get + { + var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); + return __ret; + } } + } + + public unsafe partial class ClassTemplatePartialSpecialization : global::CppSharp.Parser.AST.ClassTemplateSpecialization, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 608)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(64)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(112)] + internal byte isIncomplete; + + [FieldOffset(113)] + internal byte isDependent; + + [FieldOffset(114)] + internal byte isImplicit; + + [FieldOffset(115)] + internal byte isInvalid; + + [FieldOffset(120)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(128)] + internal uint definitionOrder; + + [FieldOffset(136)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(192)] + internal global::System.IntPtr comment; + + [FieldOffset(200)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; + + [FieldOffset(224)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; + + [FieldOffset(248)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; + + [FieldOffset(272)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; + + [FieldOffset(296)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; + + [FieldOffset(320)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; + + [FieldOffset(344)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; + + [FieldOffset(368)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; + + [FieldOffset(392)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; + + [FieldOffset(416)] + internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; + + [FieldOffset(440)] + internal byte isAnonymous; + + [FieldOffset(448)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BaseClassSpecifier___N_std_N___1_S_allocator__S0_ Bases; + + [FieldOffset(472)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Field___N_std_N___1_S_allocator__S0_ Fields; + + [FieldOffset(496)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_N___1_S_allocator__S0_ Methods; + + [FieldOffset(520)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_AccessSpecifierDecl___N_std_N___1_S_allocator__S0_ Specifiers; + + [FieldOffset(544)] + internal byte isPOD; + + [FieldOffset(545)] + internal byte isAbstract; + + [FieldOffset(546)] + internal byte isUnion; + + [FieldOffset(547)] + internal byte isDynamic; + + [FieldOffset(548)] + internal byte isPolymorphic; + + [FieldOffset(549)] + internal byte hasNonTrivialDefaultConstructor; + + [FieldOffset(550)] + internal byte hasNonTrivialCopyConstructor; + + [FieldOffset(551)] + internal byte hasNonTrivialDestructor; + + [FieldOffset(552)] + internal byte isExternCContext; + + [FieldOffset(553)] + internal byte isInjected; + + [FieldOffset(560)] + internal global::System.IntPtr layout; - public static implicit operator global::CppSharp.Parser.AST.BlockContentComment(global::CppSharp.Parser.AST.CommentKind Kind) - { - return new global::CppSharp.Parser.AST.BlockContentComment(Kind); - } - } + [FieldOffset(568)] + internal global::System.IntPtr templatedDecl; - public unsafe partial class FullComment : global::CppSharp.Parser.AST.Comment, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 32)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + [FieldOffset(576)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ Arguments; - [FieldOffset(8)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BlockContentComment___N_std_N___1_S_allocator__S0_ Blocks; + [FieldOffset(600)] + internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11FullCommentC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST34ClassTemplatePartialSpecializationC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11FullCommentC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST34ClassTemplatePartialSpecializationC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11FullCommentD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST34ClassTemplatePartialSpecializationD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11FullComment9getBlocksEj")] - internal static extern global::System.IntPtr GetBlocks(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11FullComment9addBlocksERPNS1_19BlockContentCommentE")] - internal static extern void AddBlocks(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11FullComment11clearBlocksEv")] - internal static extern void ClearBlocks(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11FullComment14getBlocksCountEv")] - internal static extern uint GetBlocksCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.FullComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FullComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.FullComment __CreateInstance(global::CppSharp.Parser.AST.FullComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization __CreateInstance(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FullComment(native, skipVTables); + return new global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.FullComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); - global::CppSharp.Parser.AST.FullComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); + global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private FullComment(global::CppSharp.Parser.AST.FullComment.__Internal native, bool skipVTables = false) + private ClassTemplatePartialSpecialization(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected FullComment(void* native, bool skipVTables = false) + protected ClassTemplatePartialSpecialization(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -14592,19 +15106,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public FullComment() + public ClassTemplatePartialSpecialization() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public FullComment(global::CppSharp.Parser.AST.FullComment _0) + public ClassTemplatePartialSpecialization(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -14617,7 +15131,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Comment __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -14625,222 +15139,148 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - - public global::CppSharp.Parser.AST.BlockContentComment GetBlocks(uint i) - { - var __ret = __Internal.GetBlocks((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.BlockContentComment __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.BlockContentComment.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.BlockContentComment) global::CppSharp.Parser.AST.BlockContentComment.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.BlockContentComment.__CreateInstance(__ret); - return __result0; - } - - public void AddBlocks(global::CppSharp.Parser.AST.BlockContentComment s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddBlocks((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearBlocks() - { - __Internal.ClearBlocks((__Instance + __PointerAdjustment)); - } - - public uint BlocksCount - { - get - { - var __ret = __Internal.GetBlocksCount((__Instance + __PointerAdjustment)); - return __ret; - } - } } - public unsafe partial class InlineContentComment : global::CppSharp.Parser.AST.Comment, IDisposable + public unsafe partial class FunctionTemplate : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 256)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal byte hasTrailingNewline; + internal int maxFieldAlignment; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20InlineContentCommentC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20InlineContentCommentC2ENS1_11CommentKindE")] - internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.CommentKind Kind); + [FieldOffset(16)] + internal global::System.IntPtr _namespace; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20InlineContentCommentC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - } + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; - internal static new global::CppSharp.Parser.AST.InlineContentComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.InlineContentComment(native.ToPointer(), skipVTables); - } + [FieldOffset(28)] + internal int lineNumberStart; - internal static global::CppSharp.Parser.AST.InlineContentComment __CreateInstance(global::CppSharp.Parser.AST.InlineContentComment.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.InlineContentComment(native, skipVTables); - } + [FieldOffset(32)] + internal int lineNumberEnd; - private static void* __CopyValue(global::CppSharp.Parser.AST.InlineContentComment.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal)); - *(global::CppSharp.Parser.AST.InlineContentComment.__Internal*) ret = native; - return ret.ToPointer(); - } + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - private InlineContentComment(global::CppSharp.Parser.AST.InlineContentComment.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [FieldOffset(64)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - protected InlineContentComment(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; - public InlineContentComment() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + [FieldOffset(112)] + internal byte isIncomplete; - public InlineContentComment(global::CppSharp.Parser.AST.CommentKind Kind) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), Kind); - } + [FieldOffset(113)] + internal byte isDependent; - public InlineContentComment(global::CppSharp.Parser.AST.InlineContentComment _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.InlineContentComment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.InlineContentComment.__Internal*) _0.__Instance); - } + [FieldOffset(114)] + internal byte isImplicit; - public static implicit operator global::CppSharp.Parser.AST.InlineContentComment(global::CppSharp.Parser.AST.CommentKind Kind) - { - return new global::CppSharp.Parser.AST.InlineContentComment(Kind); - } + [FieldOffset(115)] + internal byte isInvalid; - public bool HasTrailingNewline - { - get - { - return ((global::CppSharp.Parser.AST.InlineContentComment.__Internal*) __Instance)->hasTrailingNewline != 0; - } + [FieldOffset(120)] + internal global::System.IntPtr completeDeclaration; - set - { - ((global::CppSharp.Parser.AST.InlineContentComment.__Internal*)__Instance)->hasTrailingNewline = (byte) (value ? 1 : 0); - } - } - } + [FieldOffset(128)] + internal uint definitionOrder; - public unsafe partial class ParagraphComment : global::CppSharp.Parser.AST.BlockContentComment, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 32)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + [FieldOffset(136)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; - [FieldOffset(4)] - internal byte isWhitespace; + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; - [FieldOffset(8)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_InlineContentComment___N_std_N___1_S_allocator__S0_ Content; + [FieldOffset(184)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(192)] + internal global::System.IntPtr comment; + + [FieldOffset(200)] + internal global::System.IntPtr TemplatedDecl; + + [FieldOffset(208)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Parameters; + + [FieldOffset(232)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_FunctionTemplateSpecialization___N_std_N___1_S_allocator__S0_ Specializations; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16ParagraphCommentC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplateC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16ParagraphCommentC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplateC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16ParagraphCommentD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplateD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16ParagraphComment10getContentEj")] - internal static extern global::System.IntPtr GetContent(global::System.IntPtr __instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate18getSpecializationsEj")] + internal static extern global::System.IntPtr GetSpecializations(global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16ParagraphComment10addContentERPNS1_20InlineContentCommentE")] - internal static extern void AddContent(global::System.IntPtr __instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate18addSpecializationsERPNS1_30FunctionTemplateSpecializationE")] + internal static extern void AddSpecializations(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16ParagraphComment12clearContentEv")] - internal static extern void ClearContent(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate20clearSpecializationsEv")] + internal static extern void ClearSpecializations(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16ParagraphComment15getContentCountEv")] - internal static extern uint GetContentCount(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate18FindSpecializationERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE")] + internal static extern global::System.IntPtr FindSpecialization(global::System.IntPtr __instance, global::System.IntPtr usr); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate23getSpecializationsCountEv")] + internal static extern uint GetSpecializationsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.ParagraphComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.FunctionTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ParagraphComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.FunctionTemplate(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.ParagraphComment __CreateInstance(global::CppSharp.Parser.AST.ParagraphComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.FunctionTemplate __CreateInstance(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ParagraphComment(native, skipVTables); + return new global::CppSharp.Parser.AST.FunctionTemplate(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ParagraphComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParagraphComment.__Internal)); - global::CppSharp.Parser.AST.ParagraphComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); + global::CppSharp.Parser.AST.FunctionTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private ParagraphComment(global::CppSharp.Parser.AST.ParagraphComment.__Internal native, bool skipVTables = false) + private FunctionTemplate(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected ParagraphComment(void* native, bool skipVTables = false) + protected FunctionTemplate(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -14849,19 +15289,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public ParagraphComment() + public FunctionTemplate() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParagraphComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public ParagraphComment(global::CppSharp.Parser.AST.ParagraphComment _0) + public FunctionTemplate(global::CppSharp.Parser.AST.FunctionTemplate _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParagraphComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -14874,7 +15314,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Comment __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -14883,283 +15323,158 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.InlineContentComment GetContent(uint i) + public global::CppSharp.Parser.AST.FunctionTemplateSpecialization GetSpecializations(uint i) { - var __ret = __Internal.GetContent((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.InlineContentComment __result0; + var __ret = __Internal.GetSpecializations((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0; if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.InlineContentComment.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.InlineContentComment) global::CppSharp.Parser.AST.InlineContentComment.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.InlineContentComment.__CreateInstance(__ret); + else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(__ret); return __result0; } - public void AddContent(global::CppSharp.Parser.AST.InlineContentComment s) + public void AddSpecializations(global::CppSharp.Parser.AST.FunctionTemplateSpecialization s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddContent((__Instance + __PointerAdjustment), __arg0); + __Internal.AddSpecializations((__Instance + __PointerAdjustment), __arg0); } - public void ClearContent() + public void ClearSpecializations() { - __Internal.ClearContent((__Instance + __PointerAdjustment)); + __Internal.ClearSpecializations((__Instance + __PointerAdjustment)); } - public bool IsWhitespace + public global::CppSharp.Parser.AST.FunctionTemplateSpecialization FindSpecialization(string usr) { - get - { - return ((global::CppSharp.Parser.AST.ParagraphComment.__Internal*) __Instance)->isWhitespace != 0; - } - - set - { - ((global::CppSharp.Parser.AST.ParagraphComment.__Internal*)__Instance)->isWhitespace = (byte) (value ? 1 : 0); - } + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, usr); + var __arg0 = __basicString0.__Instance; + var __ret = __Internal.FindSpecialization((__Instance + __PointerAdjustment), __arg0); + __basicString0.Dispose(false); + global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(__ret); + return __result0; } - public uint ContentCount + public uint SpecializationsCount { get { - var __ret = __Internal.GetContentCount((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetSpecializationsCount((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class BlockCommandComment : global::CppSharp.Parser.AST.BlockContentComment, IDisposable + public unsafe partial class FunctionTemplateSpecialization : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 40)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 48)] + public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; - - [FieldOffset(4)] - internal uint commandId; + internal global::System.IntPtr _template; [FieldOffset(8)] - internal global::System.IntPtr paragraphComment; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ Arguments; - [FieldOffset(16)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_N___1_S_allocator__S0_ Arguments; + [FieldOffset(32)] + internal global::System.IntPtr specializedFunction; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandCommentC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + [FieldOffset(40)] + internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandCommentC2ENS1_11CommentKindE")] - internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.CommentKind Kind); + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandCommentC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandCommentD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandComment12getArgumentsEj")] + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization12getArgumentsEj")] internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandComment12addArgumentsERNS2_8ArgumentE")] - internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandComment14clearArgumentsEv")] - internal static extern void ClearArguments(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandComment17getArgumentsCountEv")] - internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); - } - - public unsafe partial class Argument : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 24)] - public partial struct __Internal - { - [FieldOffset(0)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C text; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandComment8ArgumentC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandComment8ArgumentC2ERKS3_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandComment8ArgumentD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); - } - - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.BlockCommandComment.Argument __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.BlockCommandComment.Argument(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.BlockCommandComment.Argument __CreateInstance(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.BlockCommandComment.Argument(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal)); - global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private Argument(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected Argument(void* native, bool skipVTables = false) - { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public Argument() - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } - - public Argument(global::CppSharp.Parser.AST.BlockCommandComment.Argument _0) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } - - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.BlockCommandComment.Argument __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public string Text - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal*) __Instance)->text)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization12addArgumentsERNS1_16TemplateArgumentE")] + internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal*)__Instance)->text), value); - } - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization14clearArgumentsEv")] + internal static extern void ClearArguments(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization17getArgumentsCountEv")] + internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.BlockCommandComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.FunctionTemplateSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BlockCommandComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.FunctionTemplateSpecialization(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.BlockCommandComment __CreateInstance(global::CppSharp.Parser.AST.BlockCommandComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.FunctionTemplateSpecialization __CreateInstance(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BlockCommandComment(native, skipVTables); + return new global::CppSharp.Parser.AST.FunctionTemplateSpecialization(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.BlockCommandComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__Internal)); - global::CppSharp.Parser.AST.BlockCommandComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); + global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private BlockCommandComment(global::CppSharp.Parser.AST.BlockCommandComment.__Internal native, bool skipVTables = false) + private FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected BlockCommandComment(void* native, bool skipVTables = false) - : base((void*) null) + protected FunctionTemplateSpecialization(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public BlockCommandComment() - : this((void*) null) + public FunctionTemplateSpecialization() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public BlockCommandComment(global::CppSharp.Parser.AST.CommentKind Kind) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), Kind); - } - - public BlockCommandComment(global::CppSharp.Parser.AST.BlockCommandComment _0) - : this((void*) null) + public FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -15168,11 +15483,16 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Comment __dummy; + global::CppSharp.Parser.AST.FunctionTemplateSpecialization __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -15181,14 +15501,14 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.BlockCommandComment.Argument GetArguments(uint i) + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) { - var __ret = new global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal(); + var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.BlockCommandComment.Argument.__CreateInstance(__ret); + return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); } - public void AddArguments(global::CppSharp.Parser.AST.BlockCommandComment.Argument s) + public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); @@ -15201,39 +15521,52 @@ namespace CppSharp __Internal.ClearArguments((__Instance + __PointerAdjustment)); } - public static implicit operator global::CppSharp.Parser.AST.BlockCommandComment(global::CppSharp.Parser.AST.CommentKind Kind) + public global::CppSharp.Parser.AST.FunctionTemplate Template { - return new global::CppSharp.Parser.AST.BlockCommandComment(Kind); + get + { + global::CppSharp.Parser.AST.FunctionTemplate __result0; + if (((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.FunctionTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template)) + __result0 = (global::CppSharp.Parser.AST.FunctionTemplate) global::CppSharp.Parser.AST.FunctionTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template]; + else __result0 = global::CppSharp.Parser.AST.FunctionTemplate.__CreateInstance(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*)__Instance)->_template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } } - public uint CommandId + public global::CppSharp.Parser.AST.Function SpecializedFunction { get { - return ((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*) __Instance)->commandId; + global::CppSharp.Parser.AST.Function __result0; + if (((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction)) + __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction]; + else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction); + return __result0; } set { - ((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*)__Instance)->commandId = value; + ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*)__Instance)->specializedFunction = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public global::CppSharp.Parser.AST.ParagraphComment ParagraphComment + public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind { get { - global::CppSharp.Parser.AST.ParagraphComment __result0; - if (((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*) __Instance)->paragraphComment == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.ParagraphComment.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*) __Instance)->paragraphComment)) - __result0 = (global::CppSharp.Parser.AST.ParagraphComment) global::CppSharp.Parser.AST.ParagraphComment.NativeToManagedMap[((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*) __Instance)->paragraphComment]; - else __result0 = global::CppSharp.Parser.AST.ParagraphComment.__CreateInstance(((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*) __Instance)->paragraphComment); - return __result0; + return ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializationKind; } set { - ((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*)__Instance)->paragraphComment = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*)__Instance)->specializationKind = value; } } @@ -15247,227 +15580,151 @@ namespace CppSharp } } - public unsafe partial class ParamCommandComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable + public unsafe partial class VarTemplate : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 256)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal uint commandId; + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::System.IntPtr paragraphComment; + internal global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(16)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_N___1_S_allocator__S0_ Arguments; - - [FieldOffset(40)] - internal global::CppSharp.Parser.AST.ParamCommandComment.PassDirection direction; - - [FieldOffset(44)] - internal uint paramIndex; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19ParamCommandCommentC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19ParamCommandCommentC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19ParamCommandCommentD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); - } + internal global::System.IntPtr _namespace; - public enum PassDirection : uint - { - In = 0, - Out = 1, - InOut = 2 - } + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; - internal static new global::CppSharp.Parser.AST.ParamCommandComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.ParamCommandComment(native.ToPointer(), skipVTables); - } + [FieldOffset(28)] + internal int lineNumberStart; - internal static global::CppSharp.Parser.AST.ParamCommandComment __CreateInstance(global::CppSharp.Parser.AST.ParamCommandComment.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.ParamCommandComment(native, skipVTables); - } + [FieldOffset(32)] + internal int lineNumberEnd; - private static void* __CopyValue(global::CppSharp.Parser.AST.ParamCommandComment.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParamCommandComment.__Internal)); - global::CppSharp.Parser.AST.ParamCommandComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - private ParamCommandComment(global::CppSharp.Parser.AST.ParamCommandComment.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [FieldOffset(64)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - protected ParamCommandComment(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; - public ParamCommandComment() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParamCommandComment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + [FieldOffset(112)] + internal byte isIncomplete; - public ParamCommandComment(global::CppSharp.Parser.AST.ParamCommandComment _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParamCommandComment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(113)] + internal byte isDependent; - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Comment __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + [FieldOffset(114)] + internal byte isImplicit; - public global::CppSharp.Parser.AST.ParamCommandComment.PassDirection Direction - { - get - { - return ((global::CppSharp.Parser.AST.ParamCommandComment.__Internal*) __Instance)->direction; - } + [FieldOffset(115)] + internal byte isInvalid; - set - { - ((global::CppSharp.Parser.AST.ParamCommandComment.__Internal*)__Instance)->direction = value; - } - } + [FieldOffset(120)] + internal global::System.IntPtr completeDeclaration; - public uint ParamIndex - { - get - { - return ((global::CppSharp.Parser.AST.ParamCommandComment.__Internal*) __Instance)->paramIndex; - } + [FieldOffset(128)] + internal uint definitionOrder; - set - { - ((global::CppSharp.Parser.AST.ParamCommandComment.__Internal*)__Instance)->paramIndex = value; - } - } - } + [FieldOffset(136)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; - public unsafe partial class TParamCommandComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 64)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; - [FieldOffset(4)] - internal uint commandId; + [FieldOffset(184)] + internal global::System.IntPtr originalPtr; - [FieldOffset(8)] - internal global::System.IntPtr paragraphComment; + [FieldOffset(192)] + internal global::System.IntPtr comment; - [FieldOffset(16)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_N___1_S_allocator__S0_ Arguments; + [FieldOffset(200)] + internal global::System.IntPtr TemplatedDecl; - [FieldOffset(40)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector__i___N_std_N___1_S_allocator__i Position; + [FieldOffset(208)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Parameters; + + [FieldOffset(232)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_VarTemplateSpecialization___N_std_N___1_S_allocator__S0_ Specializations; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20TParamCommandCommentC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplateC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20TParamCommandCommentC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplateC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20TParamCommandCommentD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplateD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20TParamCommandComment11getPositionEj")] - internal static extern uint GetPosition(global::System.IntPtr __instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate18getSpecializationsEj")] + internal static extern global::System.IntPtr GetSpecializations(global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20TParamCommandComment11addPositionERj")] - internal static extern void AddPosition(global::System.IntPtr __instance, uint* s); + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate18addSpecializationsERPNS1_25VarTemplateSpecializationE")] + internal static extern void AddSpecializations(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20TParamCommandComment13clearPositionEv")] - internal static extern void ClearPosition(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate20clearSpecializationsEv")] + internal static extern void ClearSpecializations(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20TParamCommandComment16getPositionCountEv")] - internal static extern uint GetPositionCount(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate18FindSpecializationERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE")] + internal static extern global::System.IntPtr FindSpecialization(global::System.IntPtr __instance, global::System.IntPtr usr); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate25FindPartialSpecializationERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE")] + internal static extern global::System.IntPtr FindPartialSpecialization(global::System.IntPtr __instance, global::System.IntPtr usr); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate23getSpecializationsCountEv")] + internal static extern uint GetSpecializationsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.TParamCommandComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.VarTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TParamCommandComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.VarTemplate(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TParamCommandComment __CreateInstance(global::CppSharp.Parser.AST.TParamCommandComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VarTemplate __CreateInstance(global::CppSharp.Parser.AST.VarTemplate.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TParamCommandComment(native, skipVTables); + return new global::CppSharp.Parser.AST.VarTemplate(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TParamCommandComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplate.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TParamCommandComment.__Internal)); - global::CppSharp.Parser.AST.TParamCommandComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); + global::CppSharp.Parser.AST.VarTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TParamCommandComment(global::CppSharp.Parser.AST.TParamCommandComment.__Internal native, bool skipVTables = false) + private VarTemplate(global::CppSharp.Parser.AST.VarTemplate.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TParamCommandComment(void* native, bool skipVTables = false) + protected VarTemplate(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -15476,19 +15733,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TParamCommandComment() + public VarTemplate() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TParamCommandComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TParamCommandComment(global::CppSharp.Parser.AST.TParamCommandComment _0) + public VarTemplate(global::CppSharp.Parser.AST.VarTemplate _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TParamCommandComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -15501,7 +15758,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Comment __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -15510,228 +15767,211 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public uint GetPosition(uint i) + public global::CppSharp.Parser.AST.VarTemplateSpecialization GetSpecializations(uint i) { - var __ret = __Internal.GetPosition((__Instance + __PointerAdjustment), i); - return __ret; + var __ret = __Internal.GetSpecializations((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.VarTemplateSpecialization __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.VarTemplateSpecialization) global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.VarTemplateSpecialization.__CreateInstance(__ret); + return __result0; } - public void AddPosition(ref uint s) + public void AddSpecializations(global::CppSharp.Parser.AST.VarTemplateSpecialization s) { - fixed (uint* __s0 = &s) - { - var __arg0 = __s0; - __Internal.AddPosition((__Instance + __PointerAdjustment), __arg0); - } + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddSpecializations((__Instance + __PointerAdjustment), __arg0); } - public void ClearPosition() + public void ClearSpecializations() { - __Internal.ClearPosition((__Instance + __PointerAdjustment)); + __Internal.ClearSpecializations((__Instance + __PointerAdjustment)); } - public uint PositionCount + public global::CppSharp.Parser.AST.VarTemplateSpecialization FindSpecialization(string usr) + { + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, usr); + var __arg0 = __basicString0.__Instance; + var __ret = __Internal.FindSpecialization((__Instance + __PointerAdjustment), __arg0); + __basicString0.Dispose(false); + global::CppSharp.Parser.AST.VarTemplateSpecialization __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.VarTemplateSpecialization) global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.VarTemplateSpecialization.__CreateInstance(__ret); + return __result0; + } + + public global::CppSharp.Parser.AST.VarTemplatePartialSpecialization FindPartialSpecialization(string usr) + { + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, usr); + var __arg0 = __basicString0.__Instance; + var __ret = __Internal.FindPartialSpecialization((__Instance + __PointerAdjustment), __arg0); + __basicString0.Dispose(false); + global::CppSharp.Parser.AST.VarTemplatePartialSpecialization __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.VarTemplatePartialSpecialization) global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__CreateInstance(__ret); + return __result0; + } + + public uint SpecializationsCount { get { - var __ret = __Internal.GetPositionCount((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetSpecializationsCount((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class VerbatimBlockLineComment : global::CppSharp.Parser.AST.Comment, IDisposable + public unsafe partial class VarTemplateSpecialization : global::CppSharp.Parser.AST.Variable, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 280)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C text; + internal global::CppSharp.Parser.AST.AccessSpecifier access; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST24VerbatimBlockLineCommentC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + [FieldOffset(16)] + internal global::System.IntPtr _namespace; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST24VerbatimBlockLineCommentC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST24VerbatimBlockLineCommentD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); - } + [FieldOffset(28)] + internal int lineNumberStart; - internal static new global::CppSharp.Parser.AST.VerbatimBlockLineComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.VerbatimBlockLineComment(native.ToPointer(), skipVTables); - } + [FieldOffset(32)] + internal int lineNumberEnd; - internal static global::CppSharp.Parser.AST.VerbatimBlockLineComment __CreateInstance(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.VerbatimBlockLineComment(native, skipVTables); - } + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - private static void* __CopyValue(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal)); - global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [FieldOffset(64)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - private VerbatimBlockLineComment(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; - protected VerbatimBlockLineComment(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [FieldOffset(112)] + internal byte isIncomplete; - public VerbatimBlockLineComment() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + [FieldOffset(113)] + internal byte isDependent; - public VerbatimBlockLineComment(global::CppSharp.Parser.AST.VerbatimBlockLineComment _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(114)] + internal byte isImplicit; + + [FieldOffset(115)] + internal byte isInvalid; + + [FieldOffset(120)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(128)] + internal uint definitionOrder; - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Comment __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + [FieldOffset(136)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; - public string Text - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal*) __Instance)->text)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal*)__Instance)->text), value); - } - } - } + [FieldOffset(184)] + internal global::System.IntPtr originalPtr; - public unsafe partial class VerbatimBlockComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 64)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + [FieldOffset(192)] + internal global::System.IntPtr comment; - [FieldOffset(4)] - internal uint commandId; + [FieldOffset(200)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C mangled; - [FieldOffset(8)] - internal global::System.IntPtr paragraphComment; + [FieldOffset(224)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [FieldOffset(16)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_N___1_S_allocator__S0_ Arguments; + [FieldOffset(240)] + internal global::System.IntPtr templatedDecl; - [FieldOffset(40)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_VerbatimBlockLineComment___N_std_N___1_S_allocator__S0_ Lines; + [FieldOffset(248)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ Arguments; + + [FieldOffset(272)] + internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20VerbatimBlockCommentC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecializationC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20VerbatimBlockCommentC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecializationC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20VerbatimBlockCommentD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecializationD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20VerbatimBlockComment8getLinesEj")] - internal static extern global::System.IntPtr GetLines(global::System.IntPtr __instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecialization12getArgumentsEj")] + internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20VerbatimBlockComment8addLinesERPNS1_24VerbatimBlockLineCommentE")] - internal static extern void AddLines(global::System.IntPtr __instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecialization12addArgumentsERNS1_16TemplateArgumentE")] + internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20VerbatimBlockComment10clearLinesEv")] - internal static extern void ClearLines(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecialization14clearArgumentsEv")] + internal static extern void ClearArguments(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20VerbatimBlockComment13getLinesCountEv")] - internal static extern uint GetLinesCount(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecialization17getArgumentsCountEv")] + internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.VerbatimBlockComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.VarTemplateSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VerbatimBlockComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.VarTemplateSpecialization(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.VerbatimBlockComment __CreateInstance(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VarTemplateSpecialization __CreateInstance(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VerbatimBlockComment(native, skipVTables); + return new global::CppSharp.Parser.AST.VarTemplateSpecialization(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal)); - global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); + global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private VerbatimBlockComment(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal native, bool skipVTables = false) + private VarTemplateSpecialization(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected VerbatimBlockComment(void* native, bool skipVTables = false) + protected VarTemplateSpecialization(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -15740,19 +15980,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public VerbatimBlockComment() + public VarTemplateSpecialization() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public VerbatimBlockComment(global::CppSharp.Parser.AST.VerbatimBlockComment _0) + public VarTemplateSpecialization(global::CppSharp.Parser.AST.VarTemplateSpecialization _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -15765,7 +16005,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Comment __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -15774,101 +16014,188 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.VerbatimBlockLineComment GetLines(uint i) + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) { - var __ret = __Internal.GetLines((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.VerbatimBlockLineComment __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.VerbatimBlockLineComment.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.VerbatimBlockLineComment) global::CppSharp.Parser.AST.VerbatimBlockLineComment.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.VerbatimBlockLineComment.__CreateInstance(__ret); - return __result0; + var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); + __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); } - public void AddLines(global::CppSharp.Parser.AST.VerbatimBlockLineComment s) + public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddLines((__Instance + __PointerAdjustment), __arg0); + __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); } - public void ClearLines() + public void ClearArguments() { - __Internal.ClearLines((__Instance + __PointerAdjustment)); + __Internal.ClearArguments((__Instance + __PointerAdjustment)); } - public uint LinesCount + public global::CppSharp.Parser.AST.VarTemplate TemplatedDecl { get { - var __ret = __Internal.GetLinesCount((__Instance + __PointerAdjustment)); + global::CppSharp.Parser.AST.VarTemplate __result0; + if (((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.VarTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl)) + __result0 = (global::CppSharp.Parser.AST.VarTemplate) global::CppSharp.Parser.AST.VarTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl]; + else __result0 = global::CppSharp.Parser.AST.VarTemplate.__CreateInstance(((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*)__Instance)->templatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind + { + get + { + return ((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->specializationKind; + } + + set + { + ((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*)__Instance)->specializationKind = value; + } + } + + public uint ArgumentsCount + { + get + { + var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class VerbatimLineComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable + public unsafe partial class VarTemplatePartialSpecialization : global::CppSharp.Parser.AST.VarTemplateSpecialization, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 64)] + [StructLayout(LayoutKind.Explicit, Size = 280)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal uint commandId; + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::System.IntPtr paragraphComment; + internal global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(16)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_N___1_S_allocator__S0_ Arguments; + internal global::System.IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C text; + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(64)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(112)] + internal byte isIncomplete; + + [FieldOffset(113)] + internal byte isDependent; + + [FieldOffset(114)] + internal byte isImplicit; + + [FieldOffset(115)] + internal byte isInvalid; + + [FieldOffset(120)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(128)] + internal uint definitionOrder; + + [FieldOffset(136)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(192)] + internal global::System.IntPtr comment; + + [FieldOffset(200)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C mangled; + + [FieldOffset(224)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(240)] + internal global::System.IntPtr templatedDecl; + + [FieldOffset(248)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ Arguments; + + [FieldOffset(272)] + internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19VerbatimLineCommentC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST32VarTemplatePartialSpecializationC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19VerbatimLineCommentC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST32VarTemplatePartialSpecializationC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19VerbatimLineCommentD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST32VarTemplatePartialSpecializationD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.VerbatimLineComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.VarTemplatePartialSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VerbatimLineComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.VarTemplatePartialSpecialization(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.VerbatimLineComment __CreateInstance(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VarTemplatePartialSpecialization __CreateInstance(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VerbatimLineComment(native, skipVTables); + return new global::CppSharp.Parser.AST.VarTemplatePartialSpecialization(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal)); - global::CppSharp.Parser.AST.VerbatimLineComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); + global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private VerbatimLineComment(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal native, bool skipVTables = false) + private VarTemplatePartialSpecialization(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected VerbatimLineComment(void* native, bool skipVTables = false) + protected VarTemplatePartialSpecialization(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -15877,19 +16204,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public VerbatimLineComment() + public VarTemplatePartialSpecialization() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public VerbatimLineComment(global::CppSharp.Parser.AST.VerbatimLineComment _0) + public VarTemplatePartialSpecialization(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -15902,7 +16229,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Comment __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -15910,230 +16237,150 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - - public string Text - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VerbatimLineComment.__Internal*) __Instance)->text)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VerbatimLineComment.__Internal*)__Instance)->text), value); - } - } } - public unsafe partial class InlineCommandComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable + public unsafe partial class Namespace : global::CppSharp.Parser.AST.DeclarationContext, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 448)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal byte hasTrailingNewline; + internal int maxFieldAlignment; [FieldOffset(8)] - internal uint commandId; - - [FieldOffset(12)] - internal global::CppSharp.Parser.AST.InlineCommandComment.RenderKind commentRenderKind; + internal global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(16)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_InlineCommandComment_S_Argument___N_std_N___1_S_allocator__S0_ Arguments; + internal global::System.IntPtr _namespace; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandCommentC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandCommentC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + [FieldOffset(28)] + internal int lineNumberStart; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandCommentD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); + [FieldOffset(32)] + internal int lineNumberEnd; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandComment12getArgumentsEj")] - internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandComment12addArgumentsERNS2_8ArgumentE")] - internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); + [FieldOffset(64)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandComment14clearArgumentsEv")] - internal static extern void ClearArguments(global::System.IntPtr __instance); + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandComment17getArgumentsCountEv")] - internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); - } + [FieldOffset(112)] + internal byte isIncomplete; - public enum RenderKind : uint - { - RenderNormal = 0, - RenderBold = 1, - RenderMonospaced = 2, - RenderEmphasized = 3 - } + [FieldOffset(113)] + internal byte isDependent; - public unsafe partial class Argument : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 24)] - public partial struct __Internal - { - [FieldOffset(0)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C text; + [FieldOffset(114)] + internal byte isImplicit; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandComment8ArgumentC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + [FieldOffset(115)] + internal byte isInvalid; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandComment8ArgumentC2ERKS3_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + [FieldOffset(120)] + internal global::System.IntPtr completeDeclaration; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandComment8ArgumentD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); - } + [FieldOffset(128)] + internal uint definitionOrder; - public global::System.IntPtr __Instance { get; protected set; } + [FieldOffset(136)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; - protected bool __ownsNativeInstance; + [FieldOffset(184)] + internal global::System.IntPtr originalPtr; - internal static global::CppSharp.Parser.AST.InlineCommandComment.Argument __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.InlineCommandComment.Argument(native.ToPointer(), skipVTables); - } + [FieldOffset(192)] + internal global::System.IntPtr comment; - internal static global::CppSharp.Parser.AST.InlineCommandComment.Argument __CreateInstance(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.InlineCommandComment.Argument(native, skipVTables); - } + [FieldOffset(200)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; - private static void* __CopyValue(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal)); - global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [FieldOffset(224)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; - private Argument(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [FieldOffset(248)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; - protected Argument(void* native, bool skipVTables = false) - { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [FieldOffset(272)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; - public Argument() - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + [FieldOffset(296)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; - public Argument(global::CppSharp.Parser.AST.InlineCommandComment.Argument _0) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(320)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; - public void Dispose() - { - Dispose(disposing: true); - } + [FieldOffset(344)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.InlineCommandComment.Argument __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + [FieldOffset(368)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; - public string Text - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal*) __Instance)->text)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + [FieldOffset(392)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal*)__Instance)->text), value); - } - } + [FieldOffset(416)] + internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; + + [FieldOffset(440)] + internal byte isAnonymous; + + [FieldOffset(441)] + internal byte isInline; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.InlineCommandComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Namespace __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.InlineCommandComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Namespace(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.InlineCommandComment __CreateInstance(global::CppSharp.Parser.AST.InlineCommandComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Namespace __CreateInstance(global::CppSharp.Parser.AST.Namespace.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.InlineCommandComment(native, skipVTables); + return new global::CppSharp.Parser.AST.Namespace(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.InlineCommandComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Namespace.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.__Internal)); - global::CppSharp.Parser.AST.InlineCommandComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); + global::CppSharp.Parser.AST.Namespace.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private InlineCommandComment(global::CppSharp.Parser.AST.InlineCommandComment.__Internal native, bool skipVTables = false) + private Namespace(global::CppSharp.Parser.AST.Namespace.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected InlineCommandComment(void* native, bool skipVTables = false) + protected Namespace(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -16142,19 +16389,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public InlineCommandComment() + public Namespace() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public InlineCommandComment(global::CppSharp.Parser.AST.InlineCommandComment _0) + public Namespace(global::CppSharp.Parser.AST.Namespace _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -16167,7 +16414,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Comment __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -16176,369 +16423,223 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.InlineCommandComment.Argument GetArguments(uint i) - { - var __ret = new global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal(); - __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.InlineCommandComment.Argument.__CreateInstance(__ret); - } - - public void AddArguments(global::CppSharp.Parser.AST.InlineCommandComment.Argument s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearArguments() - { - __Internal.ClearArguments((__Instance + __PointerAdjustment)); - } - - public uint CommandId - { - get - { - return ((global::CppSharp.Parser.AST.InlineCommandComment.__Internal*) __Instance)->commandId; - } - - set - { - ((global::CppSharp.Parser.AST.InlineCommandComment.__Internal*)__Instance)->commandId = value; - } - } - - public global::CppSharp.Parser.AST.InlineCommandComment.RenderKind CommentRenderKind + public bool IsInline { get { - return ((global::CppSharp.Parser.AST.InlineCommandComment.__Internal*) __Instance)->commentRenderKind; + return ((global::CppSharp.Parser.AST.Namespace.__Internal*) __Instance)->isInline != 0; } set { - ((global::CppSharp.Parser.AST.InlineCommandComment.__Internal*)__Instance)->commentRenderKind = value; - } - } - - public uint ArgumentsCount - { - get - { - var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.Namespace.__Internal*)__Instance)->isInline = (byte) (value ? 1 : 0); } } } - public unsafe partial class HTMLTagComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable + public unsafe partial class PreprocessedEntity : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 8)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 24)] + public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + internal global::CppSharp.Parser.AST.MacroLocation macroLocation; - [FieldOffset(4)] - internal byte hasTrailingNewline; + [FieldOffset(8)] + internal global::System.IntPtr originalPtr; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14HTMLTagCommentC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14HTMLTagCommentC2ENS1_11CommentKindE")] - internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.CommentKind Kind); + EntryPoint="_ZN8CppSharp9CppParser3AST18PreprocessedEntityC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14HTMLTagCommentC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST18PreprocessedEntityC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); } - internal static new global::CppSharp.Parser.AST.HTMLTagComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.PreprocessedEntity __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.HTMLTagComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.PreprocessedEntity(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.HTMLTagComment __CreateInstance(global::CppSharp.Parser.AST.HTMLTagComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.PreprocessedEntity __CreateInstance(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.HTMLTagComment(native, skipVTables); + return new global::CppSharp.Parser.AST.PreprocessedEntity(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.HTMLTagComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal)); - *(global::CppSharp.Parser.AST.HTMLTagComment.__Internal*) ret = native; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); + *(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) ret = native; return ret.ToPointer(); } - private HTMLTagComment(global::CppSharp.Parser.AST.HTMLTagComment.__Internal native, bool skipVTables = false) + private PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected HTMLTagComment(void* native, bool skipVTables = false) - : base((void*) null) + protected PreprocessedEntity(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public HTMLTagComment() - : this((void*) null) + public PreprocessedEntity() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public HTMLTagComment(global::CppSharp.Parser.AST.CommentKind Kind) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), Kind); - } - - public HTMLTagComment(global::CppSharp.Parser.AST.HTMLTagComment _0) - : this((void*) null) + public PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.HTMLTagComment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.HTMLTagComment.__Internal*) _0.__Instance); + *((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) _0.__Instance); } - public static implicit operator global::CppSharp.Parser.AST.HTMLTagComment(global::CppSharp.Parser.AST.CommentKind Kind) + public void Dispose() { - return new global::CppSharp.Parser.AST.HTMLTagComment(Kind); + Dispose(disposing: true); } - } - public unsafe partial class HTMLStartTagComment : global::CppSharp.Parser.AST.HTMLTagComment, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 56)] - public new partial struct __Internal + public virtual void Dispose(bool disposing) { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; - - [FieldOffset(4)] - internal byte hasTrailingNewline; - - [FieldOffset(8)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C tagName; - - [FieldOffset(32)] - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_HTMLStartTagComment_S_Attribute___N_std_N___1_S_allocator__S0_ Attributes; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagCommentC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagCommentC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagCommentD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagComment13getAttributesEj")] - internal static extern void GetAttributes(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagComment13addAttributesERNS2_9AttributeE")] - internal static extern void AddAttributes(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagComment15clearAttributesEv")] - internal static extern void ClearAttributes(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagComment18getAttributesCountEv")] - internal static extern uint GetAttributesCount(global::System.IntPtr __instance); + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.PreprocessedEntity __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } - public unsafe partial class Attribute : IDisposable + public global::CppSharp.Parser.AST.MacroLocation MacroLocation { - [StructLayout(LayoutKind.Explicit, Size = 48)] - public partial struct __Internal - { - [FieldOffset(0)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - - [FieldOffset(24)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C value; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagComment9AttributeC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagComment9AttributeC2ERKS3_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagComment9AttributeD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); - } - - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute __CreateInstance(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal native, bool skipVTables = false) + get { - return new global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute(native, skipVTables); + return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->macroLocation; } - private static void* __CopyValue(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal native) + set { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal)); - global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); + ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*)__Instance)->macroLocation = value; } + } - private Attribute(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + public global::System.IntPtr OriginalPtr + { + get { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->originalPtr; } - protected Attribute(void* native, bool skipVTables = false) + set { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); + ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*)__Instance)->originalPtr = (global::System.IntPtr) value; } + } - public Attribute() + public global::CppSharp.Parser.AST.DeclarationKind Kind + { + get { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->kind; } - public Attribute(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute _0) + set { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*)__Instance)->kind = value; } + } + } - public void Dispose() - { - Dispose(disposing: true); - } + public unsafe partial class MacroDefinition : global::CppSharp.Parser.AST.PreprocessedEntity, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 80)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.MacroLocation macroLocation; - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + [FieldOffset(8)] + internal global::System.IntPtr originalPtr; - public string Name - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal*) __Instance)->name)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal*)__Instance)->name), value); - } - } + [FieldOffset(24)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - public string Value - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal*) __Instance)->value)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + [FieldOffset(48)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C expression; - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal*)__Instance)->value), value); - } - } + [FieldOffset(72)] + internal int lineNumberStart; + + [FieldOffset(76)] + internal int lineNumberEnd; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15MacroDefinitionC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15MacroDefinitionC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15MacroDefinitionD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.HTMLStartTagComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.MacroDefinition __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.HTMLStartTagComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.MacroDefinition(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.HTMLStartTagComment __CreateInstance(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.MacroDefinition __CreateInstance(global::CppSharp.Parser.AST.MacroDefinition.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.HTMLStartTagComment(native, skipVTables); + return new global::CppSharp.Parser.AST.MacroDefinition(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.MacroDefinition.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal)); - global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); + global::CppSharp.Parser.AST.MacroDefinition.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private HTMLStartTagComment(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal native, bool skipVTables = false) + private MacroDefinition(global::CppSharp.Parser.AST.MacroDefinition.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected HTMLStartTagComment(void* native, bool skipVTables = false) + protected MacroDefinition(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -16547,19 +16648,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public HTMLStartTagComment() + public MacroDefinition() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public HTMLStartTagComment(global::CppSharp.Parser.AST.HTMLStartTagComment _0) + public MacroDefinition(global::CppSharp.Parser.AST.MacroDefinition _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -16572,7 +16673,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Comment __dummy; + global::CppSharp.Parser.AST.PreprocessedEntity __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -16581,31 +16682,27 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute GetAttributes(uint i) - { - var __ret = new global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal(); - __Internal.GetAttributes(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__CreateInstance(__ret); - } - - public void AddAttributes(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute s) + public string Name { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddAttributes((__Instance + __PointerAdjustment), __arg0); - } + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->name)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - public void ClearAttributes() - { - __Internal.ClearAttributes((__Instance + __PointerAdjustment)); + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->name), value); + } } - public string TagName + public string Expression { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal*) __Instance)->tagName)); + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->expression)); var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); __basicStringRet0.Dispose(false); return __stringRet0; @@ -16613,75 +16710,101 @@ namespace CppSharp set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal*)__Instance)->tagName), value); + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->expression), value); } } - public uint AttributesCount + public int LineNumberStart { get { - var __ret = __Internal.GetAttributesCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->lineNumberStart; + } + + set + { + ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->lineNumberStart = value; + } + } + + public int LineNumberEnd + { + get + { + return ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->lineNumberEnd; + } + + set + { + ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->lineNumberEnd = value; } } } - public unsafe partial class HTMLEndTagComment : global::CppSharp.Parser.AST.HTMLTagComment, IDisposable + public unsafe partial class MacroExpansion : global::CppSharp.Parser.AST.PreprocessedEntity, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 80)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; - - [FieldOffset(4)] - internal byte hasTrailingNewline; + internal global::CppSharp.Parser.AST.MacroLocation macroLocation; [FieldOffset(8)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C tagName; + internal global::System.IntPtr originalPtr; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(24)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(48)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C text; + + [FieldOffset(72)] + internal global::System.IntPtr definition; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17HTMLEndTagCommentC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST14MacroExpansionC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17HTMLEndTagCommentC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST14MacroExpansionC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17HTMLEndTagCommentD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST14MacroExpansionD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.HTMLEndTagComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.MacroExpansion __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.HTMLEndTagComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.MacroExpansion(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.HTMLEndTagComment __CreateInstance(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.MacroExpansion __CreateInstance(global::CppSharp.Parser.AST.MacroExpansion.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.HTMLEndTagComment(native, skipVTables); + return new global::CppSharp.Parser.AST.MacroExpansion(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.MacroExpansion.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); - global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); + global::CppSharp.Parser.AST.MacroExpansion.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private HTMLEndTagComment(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal native, bool skipVTables = false) + private MacroExpansion(global::CppSharp.Parser.AST.MacroExpansion.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected HTMLEndTagComment(void* native, bool skipVTables = false) + protected MacroExpansion(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -16690,19 +16813,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public HTMLEndTagComment() + public MacroExpansion() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public HTMLEndTagComment(global::CppSharp.Parser.AST.HTMLEndTagComment _0) + public MacroExpansion(global::CppSharp.Parser.AST.MacroExpansion _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -16715,7 +16838,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Comment __dummy; + global::CppSharp.Parser.AST.PreprocessedEntity __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -16724,11 +16847,11 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public string TagName + public string Name { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal*) __Instance)->tagName)); + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->name)); var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); __basicStringRet0.Dispose(false); return __stringRet0; @@ -16736,66 +16859,216 @@ namespace CppSharp set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal*)__Instance)->tagName), value); + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*)__Instance)->name), value); + } + } + + public string Text + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->text)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*)__Instance)->text), value); + } + } + + public global::CppSharp.Parser.AST.MacroDefinition Definition + { + get + { + global::CppSharp.Parser.AST.MacroDefinition __result0; + if (((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition)) + __result0 = (global::CppSharp.Parser.AST.MacroDefinition) global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap[((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition]; + else __result0 = global::CppSharp.Parser.AST.MacroDefinition.__CreateInstance(((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.MacroExpansion.__Internal*)__Instance)->definition = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class TextComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable + public unsafe partial class TranslationUnit : global::CppSharp.Parser.AST.Namespace, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 504)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal byte hasTrailingNewline; + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C text; + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(64)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(112)] + internal byte isIncomplete; + + [FieldOffset(113)] + internal byte isDependent; + + [FieldOffset(114)] + internal byte isImplicit; + + [FieldOffset(115)] + internal byte isInvalid; + + [FieldOffset(120)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(128)] + internal uint definitionOrder; + + [FieldOffset(136)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(192)] + internal global::System.IntPtr comment; + + [FieldOffset(200)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; + + [FieldOffset(224)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; + + [FieldOffset(248)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; + + [FieldOffset(272)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; + + [FieldOffset(296)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; + + [FieldOffset(320)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; + + [FieldOffset(344)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; + + [FieldOffset(368)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; + + [FieldOffset(392)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; + + [FieldOffset(416)] + internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; + + [FieldOffset(440)] + internal byte isAnonymous; + + [FieldOffset(441)] + internal byte isInline; + + [FieldOffset(448)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C fileName; + + [FieldOffset(472)] + internal byte isSystemHeader; + + [FieldOffset(480)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_MacroDefinition___N_std_N___1_S_allocator__S0_ Macros; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TextCommentC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnitC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TextCommentC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnitC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TextCommentD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnitD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnit9getMacrosEj")] + internal static extern global::System.IntPtr GetMacros(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnit9addMacrosERPNS1_15MacroDefinitionE")] + internal static extern void AddMacros(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnit11clearMacrosEv")] + internal static extern void ClearMacros(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnit14getMacrosCountEv")] + internal static extern uint GetMacrosCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.TextComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TranslationUnit __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TextComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TranslationUnit(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TextComment __CreateInstance(global::CppSharp.Parser.AST.TextComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TranslationUnit __CreateInstance(global::CppSharp.Parser.AST.TranslationUnit.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TextComment(native, skipVTables); + return new global::CppSharp.Parser.AST.TranslationUnit(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TextComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TranslationUnit.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); - global::CppSharp.Parser.AST.TextComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); + global::CppSharp.Parser.AST.TranslationUnit.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TextComment(global::CppSharp.Parser.AST.TextComment.__Internal native, bool skipVTables = false) + private TranslationUnit(global::CppSharp.Parser.AST.TranslationUnit.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TextComment(void* native, bool skipVTables = false) + protected TranslationUnit(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -16804,19 +17077,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TextComment() + public TranslationUnit() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TextComment(global::CppSharp.Parser.AST.TextComment _0) + public TranslationUnit(global::CppSharp.Parser.AST.TranslationUnit _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -16829,7 +17102,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Comment __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -16838,106 +17111,168 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public string Text + public global::CppSharp.Parser.AST.MacroDefinition GetMacros(uint i) + { + var __ret = __Internal.GetMacros((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.MacroDefinition __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.MacroDefinition) global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.MacroDefinition.__CreateInstance(__ret); + return __result0; + } + + public void AddMacros(global::CppSharp.Parser.AST.MacroDefinition s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddMacros((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearMacros() + { + __Internal.ClearMacros((__Instance + __PointerAdjustment)); + } + + public string FileName { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TextComment.__Internal*) __Instance)->text)); + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TranslationUnit.__Internal*) __Instance)->fileName)); var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); __basicStringRet0.Dispose(false); return __stringRet0; } - set + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TranslationUnit.__Internal*)__Instance)->fileName), value); + } + } + + public bool IsSystemHeader + { + get + { + return ((global::CppSharp.Parser.AST.TranslationUnit.__Internal*) __Instance)->isSystemHeader != 0; + } + + set + { + ((global::CppSharp.Parser.AST.TranslationUnit.__Internal*)__Instance)->isSystemHeader = (byte) (value ? 1 : 0); + } + } + + public uint MacrosCount + { + get { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TextComment.__Internal*)__Instance)->text), value); + var __ret = __Internal.GetMacrosCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class RawComment : IDisposable + public unsafe partial class ASTContext : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 64)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.RawCommentKind kind; - - [FieldOffset(8)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C text; - - [FieldOffset(32)] - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C briefText; - - [FieldOffset(56)] - internal global::System.IntPtr fullCommentBlock; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TranslationUnit___N_std_N___1_S_allocator__S0_ TranslationUnits; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10RawCommentC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContextC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10RawCommentC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContextC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10RawCommentD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContextD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext18FindOrCreateModuleENSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE")] + internal static extern global::System.IntPtr FindOrCreateModule(global::System.IntPtr __instance, global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C File); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext19getTranslationUnitsEj")] + internal static extern global::System.IntPtr GetTranslationUnits(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext19addTranslationUnitsERPNS1_15TranslationUnitE")] + internal static extern void AddTranslationUnits(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext21clearTranslationUnitsEv")] + internal static extern void ClearTranslationUnits(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext24getTranslationUnitsCountEv")] + internal static extern uint GetTranslationUnitsCount(global::System.IntPtr __instance); } public global::System.IntPtr __Instance { get; protected set; } protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); protected internal void*[] __OriginalVTables; protected bool __ownsNativeInstance; - internal static global::CppSharp.Parser.AST.RawComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.ASTContext __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.RawComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.ASTContext(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.RawComment __CreateInstance(global::CppSharp.Parser.AST.RawComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.ASTContext __CreateInstance(global::CppSharp.Parser.AST.ASTContext.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.RawComment(native, skipVTables); + return new global::CppSharp.Parser.AST.ASTContext(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.RawComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ASTContext.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); - global::CppSharp.Parser.AST.RawComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); + global::CppSharp.Parser.AST.ASTContext.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private RawComment(global::CppSharp.Parser.AST.RawComment.__Internal native, bool skipVTables = false) + private ASTContext(global::CppSharp.Parser.AST.ASTContext.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected RawComment(void* native, bool skipVTables = false) + protected ASTContext(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public RawComment() + public ASTContext() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public RawComment(global::CppSharp.Parser.AST.RawComment _0) + public ASTContext(global::CppSharp.Parser.AST.ASTContext _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -16955,7 +17290,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.RawComment __dummy; + global::CppSharp.Parser.AST.ASTContext __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -16964,66 +17299,51 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.RawCommentKind Kind + public global::CppSharp.Parser.AST.TranslationUnit FindOrCreateModule(string File) { - get - { - return ((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->kind; - } - - set - { - ((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->kind = value; - } + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, File); + var __arg0 = *(global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C*) __basicString0.__Instance; + var __ret = __Internal.FindOrCreateModule((__Instance + __PointerAdjustment), __arg0); + __basicString0.Dispose(false); + global::CppSharp.Parser.AST.TranslationUnit __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.TranslationUnit) global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.TranslationUnit.__CreateInstance(__ret); + return __result0; } - public string Text + public global::CppSharp.Parser.AST.TranslationUnit GetTranslationUnits(uint i) { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->text)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->text), value); - } + var __ret = __Internal.GetTranslationUnits((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.TranslationUnit __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.TranslationUnit) global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.TranslationUnit.__CreateInstance(__ret); + return __result0; } - public string BriefText + public void AddTranslationUnits(global::CppSharp.Parser.AST.TranslationUnit s) { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->briefText)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddTranslationUnits((__Instance + __PointerAdjustment), __arg0); + } - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->briefText), value); - } + public void ClearTranslationUnits() + { + __Internal.ClearTranslationUnits((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.FullComment FullCommentBlock + public uint TranslationUnitsCount { get { - global::CppSharp.Parser.AST.FullComment __result0; - if (((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.FullComment.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock)) - __result0 = (global::CppSharp.Parser.AST.FullComment) global::CppSharp.Parser.AST.FullComment.NativeToManagedMap[((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock]; - else __result0 = global::CppSharp.Parser.AST.FullComment.__CreateInstance(((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->fullCommentBlock = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + var __ret = __Internal.GetTranslationUnitsCount((__Instance + __PointerAdjustment)); + return __ret; } } } @@ -17031,99 +17351,6 @@ namespace CppSharp } } -namespace CppSharp -{ - namespace Parser - { - public unsafe partial struct SourceLocation - { - [StructLayout(LayoutKind.Explicit, Size = 4)] - public partial struct __Internal - { - [FieldOffset(0)] - internal uint ID; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser14SourceLocationC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser14SourceLocationC2Ej")] - internal static extern void ctor(global::System.IntPtr __instance, uint ID); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser14SourceLocationC2ERKS1_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - } - - private SourceLocation.__Internal __instance; - internal SourceLocation.__Internal __Instance { get { return __instance; } } - - internal static global::CppSharp.Parser.SourceLocation __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.SourceLocation(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.SourceLocation __CreateInstance(global::CppSharp.Parser.SourceLocation.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.SourceLocation(native, skipVTables); - } - - private SourceLocation(global::CppSharp.Parser.SourceLocation.__Internal native, bool skipVTables = false) - : this() - { - __instance = native; - } - - private SourceLocation(void* native, bool skipVTables = false) : this() - { - __instance = *(global::CppSharp.Parser.SourceLocation.__Internal*) native; - } - - public SourceLocation(uint ID) - : this() - { - fixed (__Internal* __instancePtr = &__instance) - { - __Internal.ctor(new global::System.IntPtr(__instancePtr), ID); - } - } - - public SourceLocation(global::CppSharp.Parser.SourceLocation _0) - : this() - { - var ____arg0 = _0.__Instance; - var __arg0 = new global::System.IntPtr(&____arg0); - fixed (__Internal* __instancePtr = &__instance) - { - __Internal.cctor(new global::System.IntPtr(__instancePtr), __arg0); - } - } - - public static implicit operator global::CppSharp.Parser.SourceLocation(uint ID) - { - return new global::CppSharp.Parser.SourceLocation(ID); - } - - public uint ID - { - get - { - return __instance.ID; - } - - set - { - __instance.ID = value; - } - } - } - } -} - namespace CppSharp { namespace Parser diff --git a/src/CppParser/Bindings/CSharp/x86_64-apple-darwin12.4.0/Std.cs b/src/CppParser/Bindings/CSharp/x86_64-apple-darwin12.4.0/Std.cs index 32e194fa..c50981bf 100644 --- a/src/CppParser/Bindings/CSharp/x86_64-apple-darwin12.4.0/Std.cs +++ b/src/CppParser/Bindings/CSharp/x86_64-apple-darwin12.4.0/Std.cs @@ -585,7 +585,7 @@ namespace Std } [StructLayout(LayoutKind.Explicit, Size = 24)] - public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expression___N_std_N___1_S_allocator__S0_ + public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_ExpressionObsolete___N_std_N___1_S_allocator__S0_ { [FieldOffset(0)] internal global::System.IntPtr __begin_; diff --git a/src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/CppSharp.CppParser.cs b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/CppSharp.CppParser.cs index 901932f0..ca655a18 100644 --- a/src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/CppSharp.CppParser.cs +++ b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/CppSharp.CppParser.cs @@ -17,79 +17,6 @@ namespace CppSharp { namespace AST { - public enum TypeKind - { - Tag = 0, - Array = 1, - Function = 2, - Pointer = 3, - MemberPointer = 4, - Typedef = 5, - Attributed = 6, - Decayed = 7, - TemplateSpecialization = 8, - DependentTemplateSpecialization = 9, - TemplateParameter = 10, - TemplateParameterSubstitution = 11, - InjectedClassName = 12, - DependentName = 13, - PackExpansion = 14, - Builtin = 15, - UnaryTransform = 16, - Vector = 17 - } - - public enum DeclarationKind - { - DeclarationContext = 0, - Typedef = 1, - TypeAlias = 2, - Parameter = 3, - Function = 4, - Method = 5, - Enumeration = 6, - EnumerationItem = 7, - Variable = 8, - Field = 9, - AccessSpecifier = 10, - Class = 11, - Template = 12, - TypeAliasTemplate = 13, - ClassTemplate = 14, - ClassTemplateSpecialization = 15, - ClassTemplatePartialSpecialization = 16, - FunctionTemplate = 17, - Namespace = 18, - PreprocessedEntity = 19, - MacroDefinition = 20, - MacroExpansion = 21, - TranslationUnit = 22, - Friend = 23, - TemplateTemplateParm = 24, - TemplateTypeParm = 25, - NonTypeTemplateParm = 26, - VarTemplate = 27, - VarTemplateSpecialization = 28, - VarTemplatePartialSpecialization = 29 - } - - public enum AccessSpecifier - { - Private = 0, - Protected = 1, - Public = 2 - } - - public enum MacroLocation - { - Unknown = 0, - ClassHead = 1, - ClassBody = 2, - FunctionHead = 3, - FunctionParameters = 4, - FunctionBody = 5 - } - public enum RawCommentKind { Invalid = 0, @@ -121,176 +48,6 @@ namespace CppSharp VerbatimBlockLineComment = 14 } - public enum FriendKind - { - None = 0, - Declared = 1, - Undeclared = 2 - } - - public enum CXXOperatorKind - { - None = 0, - New = 1, - Delete = 2, - ArrayNew = 3, - ArrayDelete = 4, - Plus = 5, - Minus = 6, - Star = 7, - Slash = 8, - Percent = 9, - Caret = 10, - Amp = 11, - Pipe = 12, - Tilde = 13, - Exclaim = 14, - Equal = 15, - Less = 16, - Greater = 17, - PlusEqual = 18, - MinusEqual = 19, - StarEqual = 20, - SlashEqual = 21, - PercentEqual = 22, - CaretEqual = 23, - AmpEqual = 24, - PipeEqual = 25, - LessLess = 26, - GreaterGreater = 27, - LessLessEqual = 28, - GreaterGreaterEqual = 29, - EqualEqual = 30, - ExclaimEqual = 31, - LessEqual = 32, - GreaterEqual = 33, - Spaceship = 34, - AmpAmp = 35, - PipePipe = 36, - PlusPlus = 37, - MinusMinus = 38, - Comma = 39, - ArrowStar = 40, - Arrow = 41, - Call = 42, - Subscript = 43, - Conditional = 44, - Coawait = 45 - } - - public enum CallingConvention - { - Default = 0, - C = 1, - StdCall = 2, - ThisCall = 3, - FastCall = 4, - Unknown = 5 - } - - public enum StatementClass - { - Any = 0, - BinaryOperator = 1, - CallExprClass = 2, - DeclRefExprClass = 3, - CXXConstructExprClass = 4, - CXXOperatorCallExpr = 5, - ImplicitCastExpr = 6, - ExplicitCastExpr = 7 - } - - public enum TemplateSpecializationKind - { - Undeclared = 0, - ImplicitInstantiation = 1, - ExplicitSpecialization = 2, - ExplicitInstantiationDeclaration = 3, - ExplicitInstantiationDefinition = 4 - } - - public enum CXXMethodKind - { - Normal = 0, - Constructor = 1, - Destructor = 2, - Conversion = 3, - Operator = 4, - UsingDirective = 5 - } - - public enum RefQualifierKind - { - None = 0, - LValue = 1, - RValue = 2 - } - - public enum CppAbi - { - Itanium = 0, - Microsoft = 1, - ARM = 2, - iOS = 3, - iOS64 = 4 - } - - public enum VTableComponentKind - { - VCallOffset = 0, - VBaseOffset = 1, - OffsetToTop = 2, - RTTI = 3, - FunctionPointer = 4, - CompleteDtorPointer = 5, - DeletingDtorPointer = 6, - UnusedFunctionPointer = 7 - } - - public enum PrimitiveType - { - Null = 0, - Void = 1, - Bool = 2, - WideChar = 3, - Char = 4, - SChar = 5, - UChar = 6, - Char16 = 7, - Char32 = 8, - Short = 9, - UShort = 10, - Int = 11, - UInt = 12, - Long = 13, - ULong = 14, - LongLong = 15, - ULongLong = 16, - Int128 = 17, - UInt128 = 18, - Half = 19, - Float = 20, - Double = 21, - LongDouble = 22, - Float128 = 23, - IntPtr = 24 - } - - public enum ExceptionSpecType - { - None = 0, - DynamicNone = 1, - Dynamic = 2, - MSAny = 3, - BasicNoexcept = 4, - DependentNoexcept = 5, - NoexceptFalse = 6, - NoexceptTrue = 7, - Unevaluated = 8, - Uninstantiated = 9, - Unparsed = 10 - } - public enum ArchType { UnknownArch = 0, @@ -298,78 +55,129 @@ namespace CppSharp X86_64 = 2 } - public unsafe partial class Type : IDisposable + public unsafe partial class NativeLibrary : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 88)] public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C fileName; - [FieldOffset(4)] - internal byte isDependent; + [FieldOffset(32)] + internal global::CppSharp.Parser.AST.ArchType archType; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST4TypeC2ENS1_8TypeKindE")] - internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.TypeKind kind); + [FieldOffset(40)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C___N_std_S_allocator__S0_ Symbols; + + [FieldOffset(64)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C___N_std_S_allocator__S0_ Dependencies; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST4TypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibraryC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibraryC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibraryD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary10getSymbolsEj")] + internal static extern global::System.IntPtr GetSymbols(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary10addSymbolsEPKc")] + internal static extern void AddSymbols(global::System.IntPtr __instance, [MarshalAs(UnmanagedType.LPStr)] string s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary12clearSymbolsEv")] + internal static extern void ClearSymbols(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary15getDependenciesEj")] + internal static extern global::System.IntPtr GetDependencies(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary15addDependenciesEPKc")] + internal static extern void AddDependencies(global::System.IntPtr __instance, [MarshalAs(UnmanagedType.LPStr)] string s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary17clearDependenciesEv")] + internal static extern void ClearDependencies(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary15getSymbolsCountEv")] + internal static extern uint GetSymbolsCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary20getDependenciesCountEv")] + internal static extern uint GetDependenciesCount(global::System.IntPtr __instance); } public global::System.IntPtr __Instance { get; protected set; } protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); protected internal void*[] __OriginalVTables; protected bool __ownsNativeInstance; - internal static global::CppSharp.Parser.AST.Type __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.NativeLibrary __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Type(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.NativeLibrary(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Type __CreateInstance(global::CppSharp.Parser.AST.Type.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.NativeLibrary __CreateInstance(global::CppSharp.Parser.AST.NativeLibrary.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Type(native, skipVTables); + return new global::CppSharp.Parser.AST.NativeLibrary(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Type.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.NativeLibrary.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Type.__Internal)); - global::CppSharp.Parser.AST.Type.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); + global::CppSharp.Parser.AST.NativeLibrary.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Type(global::CppSharp.Parser.AST.Type.__Internal native, bool skipVTables = false) + private NativeLibrary(global::CppSharp.Parser.AST.NativeLibrary.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Type(void* native, bool skipVTables = false) + protected NativeLibrary(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public Type(global::CppSharp.Parser.AST.TypeKind kind) + public NativeLibrary() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Type.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), kind); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public Type(global::CppSharp.Parser.AST.Type _0) + public NativeLibrary(global::CppSharp.Parser.AST.NativeLibrary _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Type.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -387,117 +195,167 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Type __dummy; + global::CppSharp.Parser.AST.NativeLibrary __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - public static implicit operator global::CppSharp.Parser.AST.Type(global::CppSharp.Parser.AST.TypeKind kind) + public string GetSymbols(uint i) { - return new global::CppSharp.Parser.AST.Type(kind); + var __ret = __Internal.GetSymbols((__Instance + __PointerAdjustment), i); + return Marshal.PtrToStringAnsi(__ret); } - public global::CppSharp.Parser.AST.TypeKind Kind + public void AddSymbols(string s) + { + __Internal.AddSymbols((__Instance + __PointerAdjustment), s); + } + + public void ClearSymbols() + { + __Internal.ClearSymbols((__Instance + __PointerAdjustment)); + } + + public string GetDependencies(uint i) + { + var __ret = __Internal.GetDependencies((__Instance + __PointerAdjustment), i); + return Marshal.PtrToStringAnsi(__ret); + } + + public void AddDependencies(string s) + { + __Internal.AddDependencies((__Instance + __PointerAdjustment), s); + } + + public void ClearDependencies() + { + __Internal.ClearDependencies((__Instance + __PointerAdjustment)); + } + + public string FileName { get { - return ((global::CppSharp.Parser.AST.Type.__Internal*) __Instance)->kind; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.NativeLibrary.__Internal*) __Instance)->fileName)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.Type.__Internal*)__Instance)->kind = value; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.NativeLibrary.__Internal*)__Instance)->fileName), value); } } - public bool IsDependent + public global::CppSharp.Parser.AST.ArchType ArchType { get { - return ((global::CppSharp.Parser.AST.Type.__Internal*) __Instance)->isDependent != 0; + return ((global::CppSharp.Parser.AST.NativeLibrary.__Internal*) __Instance)->archType; } set { - ((global::CppSharp.Parser.AST.Type.__Internal*)__Instance)->isDependent = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.NativeLibrary.__Internal*)__Instance)->archType = value; + } + } + + public uint SymbolsCount + { + get + { + var __ret = __Internal.GetSymbolsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public uint DependenciesCount + { + get + { + var __ret = __Internal.GetDependenciesCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class TypeQualifiers : IDisposable + public unsafe partial class Comment : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 3)] + [StructLayout(LayoutKind.Explicit, Size = 4)] public partial struct __Internal { [FieldOffset(0)] - internal byte isConst; - - [FieldOffset(1)] - internal byte isVolatile; + internal global::CppSharp.Parser.AST.CommentKind kind; - [FieldOffset(2)] - internal byte isRestrict; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST7CommentC2ENS1_11CommentKindE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.CommentKind kind); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14TypeQualifiersC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST7CommentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); } public global::System.IntPtr __Instance { get; protected set; } protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); protected internal void*[] __OriginalVTables; protected bool __ownsNativeInstance; - internal static global::CppSharp.Parser.AST.TypeQualifiers __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Comment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypeQualifiers(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Comment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TypeQualifiers __CreateInstance(global::CppSharp.Parser.AST.TypeQualifiers.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Comment __CreateInstance(global::CppSharp.Parser.AST.Comment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypeQualifiers(native, skipVTables); + return new global::CppSharp.Parser.AST.Comment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypeQualifiers.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Comment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeQualifiers.__Internal)); - *(global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) ret = native; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); + *(global::CppSharp.Parser.AST.Comment.__Internal*) ret = native; return ret.ToPointer(); } - private TypeQualifiers(global::CppSharp.Parser.AST.TypeQualifiers.__Internal native, bool skipVTables = false) + private Comment(global::CppSharp.Parser.AST.Comment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TypeQualifiers(void* native, bool skipVTables = false) + protected Comment(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public TypeQualifiers(global::CppSharp.Parser.AST.TypeQualifiers _0) + public Comment(global::CppSharp.Parser.AST.CommentKind kind) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeQualifiers.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) _0.__Instance); + __Internal.ctor((__Instance + __PointerAdjustment), kind); } - public TypeQualifiers() + public Comment(global::CppSharp.Parser.AST.Comment _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeQualifiers.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.Comment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.Comment.__Internal*) _0.__Instance); } public void Dispose() @@ -509,228 +367,194 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.TypeQualifiers __dummy; + global::CppSharp.Parser.AST.Comment __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - public bool IsConst - { - get - { - return ((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) __Instance)->isConst != 0; - } - - set - { - ((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*)__Instance)->isConst = (byte) (value ? 1 : 0); - } - } - - public bool IsVolatile + public static implicit operator global::CppSharp.Parser.AST.Comment(global::CppSharp.Parser.AST.CommentKind kind) { - get - { - return ((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) __Instance)->isVolatile != 0; - } - - set - { - ((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*)__Instance)->isVolatile = (byte) (value ? 1 : 0); - } + return new global::CppSharp.Parser.AST.Comment(kind); } - public bool IsRestrict + public global::CppSharp.Parser.AST.CommentKind Kind { get { - return ((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) __Instance)->isRestrict != 0; + return ((global::CppSharp.Parser.AST.Comment.__Internal*) __Instance)->kind; } set { - ((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*)__Instance)->isRestrict = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Comment.__Internal*)__Instance)->kind = value; } } } - public unsafe partial class QualifiedType : IDisposable + public unsafe partial class BlockContentComment : global::CppSharp.Parser.AST.Comment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 16)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 4)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::System.IntPtr type; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.TypeQualifiers.__Internal qualifiers; + internal global::CppSharp.Parser.AST.CommentKind kind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13QualifiedTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockContentCommentC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13QualifiedTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockContentCommentC2ENS1_11CommentKindE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.CommentKind Kind); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockContentCommentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); } - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.QualifiedType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.BlockContentComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.QualifiedType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.BlockContentComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.QualifiedType __CreateInstance(global::CppSharp.Parser.AST.QualifiedType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.BlockContentComment __CreateInstance(global::CppSharp.Parser.AST.BlockContentComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.QualifiedType(native, skipVTables); + return new global::CppSharp.Parser.AST.BlockContentComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.QualifiedType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.BlockContentComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.QualifiedType.__Internal)); - *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) ret = native; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); + *(global::CppSharp.Parser.AST.BlockContentComment.__Internal*) ret = native; return ret.ToPointer(); } - private QualifiedType(global::CppSharp.Parser.AST.QualifiedType.__Internal native, bool skipVTables = false) + private BlockContentComment(global::CppSharp.Parser.AST.BlockContentComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected QualifiedType(void* native, bool skipVTables = false) + protected BlockContentComment(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public QualifiedType() + public BlockContentComment() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.QualifiedType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public QualifiedType(global::CppSharp.Parser.AST.QualifiedType _0) + public BlockContentComment(global::CppSharp.Parser.AST.CommentKind Kind) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.QualifiedType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.QualifiedType.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.QualifiedType.__Internal*) _0.__Instance); - } - - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.QualifiedType __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + __Internal.ctor((__Instance + __PointerAdjustment), Kind); } - public global::CppSharp.Parser.AST.Type Type + public BlockContentComment(global::CppSharp.Parser.AST.BlockContentComment _0) + : this((void*) null) { - get - { - global::CppSharp.Parser.AST.Type __result0; - if (((global::CppSharp.Parser.AST.QualifiedType.__Internal*) __Instance)->type == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.QualifiedType.__Internal*) __Instance)->type)) - __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((global::CppSharp.Parser.AST.QualifiedType.__Internal*) __Instance)->type]; - else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((global::CppSharp.Parser.AST.QualifiedType.__Internal*) __Instance)->type); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.QualifiedType.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.BlockContentComment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BlockContentComment.__Internal*) _0.__Instance); } - public global::CppSharp.Parser.AST.TypeQualifiers Qualifiers + public static implicit operator global::CppSharp.Parser.AST.BlockContentComment(global::CppSharp.Parser.AST.CommentKind Kind) { - get - { - return global::CppSharp.Parser.AST.TypeQualifiers.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.QualifiedType.__Internal*) __Instance)->qualifiers)); - } - - set - { - ((global::CppSharp.Parser.AST.QualifiedType.__Internal*)__Instance)->qualifiers = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.TypeQualifiers.__Internal() : *(global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) value.__Instance; - } + return new global::CppSharp.Parser.AST.BlockContentComment(Kind); } } - public unsafe partial class TagType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class FullComment : global::CppSharp.Parser.AST.Comment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 16)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - internal byte isDependent; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(8)] - internal global::System.IntPtr declaration; + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BlockContentComment___N_std_S_allocator__S0_ Blocks; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST7TagTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11FullCommentC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST7TagTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST11FullCommentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11FullCommentD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11FullComment9getBlocksEj")] + internal static extern global::System.IntPtr GetBlocks(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11FullComment9addBlocksERPNS1_19BlockContentCommentE")] + internal static extern void AddBlocks(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11FullComment11clearBlocksEv")] + internal static extern void ClearBlocks(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11FullComment14getBlocksCountEv")] + internal static extern uint GetBlocksCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.TagType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.FullComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TagType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.FullComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TagType __CreateInstance(global::CppSharp.Parser.AST.TagType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.FullComment __CreateInstance(global::CppSharp.Parser.AST.FullComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TagType(native, skipVTables); + return new global::CppSharp.Parser.AST.FullComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TagType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.FullComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); - global::CppSharp.Parser.AST.TagType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); + global::CppSharp.Parser.AST.FullComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TagType(global::CppSharp.Parser.AST.TagType.__Internal native, bool skipVTables = false) + private FullComment(global::CppSharp.Parser.AST.FullComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TagType(void* native, bool skipVTables = false) + protected FullComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -739,19 +563,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TagType() + public FullComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TagType(global::CppSharp.Parser.AST.TagType _0) + public FullComment(global::CppSharp.Parser.AST.FullComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -760,92 +584,105 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.Declaration Declaration + public override void Dispose(bool disposing) { - get - { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration); - return __result0; - } + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Comment __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } - set + public global::CppSharp.Parser.AST.BlockContentComment GetBlocks(uint i) + { + var __ret = __Internal.GetBlocks((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.BlockContentComment __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.BlockContentComment.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.BlockContentComment) global::CppSharp.Parser.AST.BlockContentComment.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.BlockContentComment.__CreateInstance(__ret); + return __result0; + } + + public void AddBlocks(global::CppSharp.Parser.AST.BlockContentComment s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddBlocks((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearBlocks() + { + __Internal.ClearBlocks((__Instance + __PointerAdjustment)); + } + + public uint BlocksCount + { + get { - ((global::CppSharp.Parser.AST.TagType.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + var __ret = __Internal.GetBlocksCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class ArrayType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class InlineContentComment : global::CppSharp.Parser.AST.Comment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(4)] - internal byte isDependent; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - - [FieldOffset(24)] - internal global::CppSharp.Parser.AST.ArrayType.ArraySize sizeType; - - [FieldOffset(32)] - internal long size; - - [FieldOffset(40)] - internal long elementSize; + internal byte hasTrailingNewline; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9ArrayTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST20InlineContentCommentC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9ArrayTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST20InlineContentCommentC2ENS1_11CommentKindE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.CommentKind Kind); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20InlineContentCommentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); } - public enum ArraySize + internal static new global::CppSharp.Parser.AST.InlineContentComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - Constant = 0, - Variable = 1, - Dependent = 2, - Incomplete = 3 + return new global::CppSharp.Parser.AST.InlineContentComment(native.ToPointer(), skipVTables); } - internal static new global::CppSharp.Parser.AST.ArrayType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.InlineContentComment __CreateInstance(global::CppSharp.Parser.AST.InlineContentComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ArrayType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.InlineContentComment(native, skipVTables); } - internal static global::CppSharp.Parser.AST.ArrayType __CreateInstance(global::CppSharp.Parser.AST.ArrayType.__Internal native, bool skipVTables = false) + private static void* __CopyValue(global::CppSharp.Parser.AST.InlineContentComment.__Internal native) { - return new global::CppSharp.Parser.AST.ArrayType(native, skipVTables); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal)); + *(global::CppSharp.Parser.AST.InlineContentComment.__Internal*) ret = native; + return ret.ToPointer(); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ArrayType.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); - global::CppSharp.Parser.AST.ArrayType.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private ArrayType(global::CppSharp.Parser.AST.ArrayType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + private InlineContentComment(global::CppSharp.Parser.AST.InlineContentComment.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected ArrayType(void* native, bool skipVTables = false) + protected InlineContentComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -854,164 +691,127 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public ArrayType() + public InlineContentComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public ArrayType(global::CppSharp.Parser.AST.ArrayType _0) + public InlineContentComment(global::CppSharp.Parser.AST.CommentKind Kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } - - public global::CppSharp.Parser.AST.QualifiedType QualifiedType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->qualifiedType)); - } - - set - { - ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } + __Internal.ctor((__Instance + __PointerAdjustment), Kind); } - public global::CppSharp.Parser.AST.ArrayType.ArraySize SizeType + public InlineContentComment(global::CppSharp.Parser.AST.InlineContentComment _0) + : this((void*) null) { - get - { - return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->sizeType; - } - - set - { - ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->sizeType = value; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.InlineContentComment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.InlineContentComment.__Internal*) _0.__Instance); } - public long Size + public static implicit operator global::CppSharp.Parser.AST.InlineContentComment(global::CppSharp.Parser.AST.CommentKind Kind) { - get - { - return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->size; - } - - set - { - ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->size = value; - } + return new global::CppSharp.Parser.AST.InlineContentComment(Kind); } - public long ElementSize + public bool HasTrailingNewline { get { - return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->elementSize; + return ((global::CppSharp.Parser.AST.InlineContentComment.__Internal*) __Instance)->hasTrailingNewline != 0; } set { - ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->elementSize = value; + ((global::CppSharp.Parser.AST.InlineContentComment.__Internal*)__Instance)->hasTrailingNewline = (byte) (value ? 1 : 0); } } } - public unsafe partial class FunctionType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class ParagraphComment : global::CppSharp.Parser.AST.BlockContentComment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 56)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(4)] - internal byte isDependent; + internal byte isWhitespace; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; - - [FieldOffset(24)] - internal global::CppSharp.Parser.AST.CallingConvention callingConvention; - - [FieldOffset(28)] - internal global::CppSharp.Parser.AST.ExceptionSpecType exceptionSpecType; - - [FieldOffset(32)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_S_allocator__S0_ Parameters; + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_InlineContentComment___N_std_S_allocator__S0_ Content; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST16ParagraphCommentC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST16ParagraphCommentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionTypeD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST16ParagraphCommentD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType13getParametersEj")] - internal static extern global::System.IntPtr GetParameters(global::System.IntPtr __instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST16ParagraphComment10getContentEj")] + internal static extern global::System.IntPtr GetContent(global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType13addParametersERPNS1_9ParameterE")] - internal static extern void AddParameters(global::System.IntPtr __instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST16ParagraphComment10addContentERPNS1_20InlineContentCommentE")] + internal static extern void AddContent(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType15clearParametersEv")] - internal static extern void ClearParameters(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST16ParagraphComment12clearContentEv")] + internal static extern void ClearContent(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType18getParametersCountEv")] - internal static extern uint GetParametersCount(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST16ParagraphComment15getContentCountEv")] + internal static extern uint GetContentCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.FunctionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.ParagraphComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FunctionType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.ParagraphComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.FunctionType __CreateInstance(global::CppSharp.Parser.AST.FunctionType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.ParagraphComment __CreateInstance(global::CppSharp.Parser.AST.ParagraphComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FunctionType(native, skipVTables); + return new global::CppSharp.Parser.AST.ParagraphComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ParagraphComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); - global::CppSharp.Parser.AST.FunctionType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParagraphComment.__Internal)); + global::CppSharp.Parser.AST.ParagraphComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private FunctionType(global::CppSharp.Parser.AST.FunctionType.__Internal native, bool skipVTables = false) + private ParagraphComment(global::CppSharp.Parser.AST.ParagraphComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected FunctionType(void* native, bool skipVTables = false) + protected ParagraphComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -1020,19 +820,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public FunctionType() + public ParagraphComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParagraphComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public FunctionType(global::CppSharp.Parser.AST.FunctionType _0) + public ParagraphComment(global::CppSharp.Parser.AST.ParagraphComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParagraphComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -1045,7 +845,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Type __dummy; + global::CppSharp.Parser.AST.Comment __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -1054,246 +854,253 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.Parameter GetParameters(uint i) + public global::CppSharp.Parser.AST.InlineContentComment GetContent(uint i) { - var __ret = __Internal.GetParameters((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Parameter __result0; + var __ret = __Internal.GetContent((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.InlineContentComment __result0; if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Parameter.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Parameter) global::CppSharp.Parser.AST.Parameter.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Parameter.__CreateInstance(__ret); + else if (global::CppSharp.Parser.AST.InlineContentComment.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.InlineContentComment) global::CppSharp.Parser.AST.InlineContentComment.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.InlineContentComment.__CreateInstance(__ret); return __result0; } - public void AddParameters(global::CppSharp.Parser.AST.Parameter s) + public void AddContent(global::CppSharp.Parser.AST.InlineContentComment s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddParameters((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearParameters() - { - __Internal.ClearParameters((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.QualifiedType ReturnType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->returnType)); - } - - set - { - ((global::CppSharp.Parser.AST.FunctionType.__Internal*)__Instance)->returnType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } + __Internal.AddContent((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.CallingConvention CallingConvention + public void ClearContent() { - get - { - return ((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->callingConvention; - } - - set - { - ((global::CppSharp.Parser.AST.FunctionType.__Internal*)__Instance)->callingConvention = value; - } + __Internal.ClearContent((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.ExceptionSpecType ExceptionSpecType + public bool IsWhitespace { get { - return ((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->exceptionSpecType; + return ((global::CppSharp.Parser.AST.ParagraphComment.__Internal*) __Instance)->isWhitespace != 0; } set { - ((global::CppSharp.Parser.AST.FunctionType.__Internal*)__Instance)->exceptionSpecType = value; + ((global::CppSharp.Parser.AST.ParagraphComment.__Internal*)__Instance)->isWhitespace = (byte) (value ? 1 : 0); } } - public uint ParametersCount + public uint ContentCount { get { - var __ret = __Internal.GetParametersCount((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetContentCount((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class PointerType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class BlockCommandComment : global::CppSharp.Parser.AST.BlockContentComment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(4)] - internal byte isDependent; + internal uint commandId; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedPointee; + internal global::System.IntPtr paragraphComment; - [FieldOffset(24)] - internal global::CppSharp.Parser.AST.PointerType.TypeModifier modifier; + [FieldOffset(16)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_S_allocator__S0_ Arguments; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11PointerTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandCommentC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11PointerTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandCommentC2ENS1_11CommentKindE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.CommentKind Kind); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandCommentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - } - public enum TypeModifier - { - Value = 0, - Pointer = 1, - LVReference = 2, - RVReference = 3 - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandCommentD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); - internal static new global::CppSharp.Parser.AST.PointerType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.PointerType(native.ToPointer(), skipVTables); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandComment12getArgumentsEj")] + internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); - internal static global::CppSharp.Parser.AST.PointerType __CreateInstance(global::CppSharp.Parser.AST.PointerType.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.PointerType(native, skipVTables); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandComment12addArgumentsERNS2_8ArgumentE")] + internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); - private static void* __CopyValue(global::CppSharp.Parser.AST.PointerType.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); - global::CppSharp.Parser.AST.PointerType.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandComment14clearArgumentsEv")] + internal static extern void ClearArguments(global::System.IntPtr __instance); - private PointerType(global::CppSharp.Parser.AST.PointerType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandComment17getArgumentsCountEv")] + internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); } - protected PointerType(void* native, bool skipVTables = false) - : base((void*) null) + public unsafe partial class Argument : IDisposable { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [StructLayout(LayoutKind.Explicit, Size = 32)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; - public PointerType() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandComment8ArgumentC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); - public PointerType(global::CppSharp.Parser.AST.PointerType _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandComment8ArgumentC2ERKS3_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - public global::CppSharp.Parser.AST.QualifiedType QualifiedPointee - { - get + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandComment8ArgumentD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.BlockCommandComment.Argument __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->qualifiedPointee)); + return new global::CppSharp.Parser.AST.BlockCommandComment.Argument(native.ToPointer(), skipVTables); } - set + internal static global::CppSharp.Parser.AST.BlockCommandComment.Argument __CreateInstance(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal native, bool skipVTables = false) { - ((global::CppSharp.Parser.AST.PointerType.__Internal*)__Instance)->qualifiedPointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + return new global::CppSharp.Parser.AST.BlockCommandComment.Argument(native, skipVTables); } - } - public global::CppSharp.Parser.AST.PointerType.TypeModifier Modifier - { - get + private static void* __CopyValue(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal native) { - return ((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->modifier; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal)); + global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - set + private Argument(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - ((global::CppSharp.Parser.AST.PointerType.__Internal*)__Instance)->modifier = value; + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; } - } - } - public unsafe partial class MemberPointerType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 24)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + protected Argument(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(4)] - internal byte isDependent; + public Argument() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; + public Argument(global::CppSharp.Parser.AST.BlockCommandComment.Argument _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17MemberPointerTypeC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + public void Dispose() + { + Dispose(disposing: true); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17MemberPointerTypeC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.BlockCommandComment.Argument __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public string Text + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal*) __Instance)->text)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal*)__Instance)->text), value); + } + } } - internal static new global::CppSharp.Parser.AST.MemberPointerType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.BlockCommandComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.MemberPointerType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.BlockCommandComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.MemberPointerType __CreateInstance(global::CppSharp.Parser.AST.MemberPointerType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.BlockCommandComment __CreateInstance(global::CppSharp.Parser.AST.BlockCommandComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.MemberPointerType(native, skipVTables); + return new global::CppSharp.Parser.AST.BlockCommandComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.MemberPointerType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.BlockCommandComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); - global::CppSharp.Parser.AST.MemberPointerType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__Internal)); + global::CppSharp.Parser.AST.BlockCommandComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType.__Internal native, bool skipVTables = false) + private BlockCommandComment(global::CppSharp.Parser.AST.BlockCommandComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected MemberPointerType(void* native, bool skipVTables = false) + protected BlockCommandComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -1302,19 +1109,28 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public MemberPointerType() + public BlockCommandComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType _0) + public BlockCommandComment(global::CppSharp.Parser.AST.CommentKind Kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), Kind); + } + + public BlockCommandComment(global::CppSharp.Parser.AST.BlockCommandComment _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -1323,171 +1139,156 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Pointee + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Comment __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.BlockCommandComment.Argument GetArguments(uint i) + { + var __ret = new global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal(); + __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.BlockCommandComment.Argument.__CreateInstance(__ret); + } + + public void AddArguments(global::CppSharp.Parser.AST.BlockCommandComment.Argument s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearArguments() + { + __Internal.ClearArguments((__Instance + __PointerAdjustment)); + } + + public static implicit operator global::CppSharp.Parser.AST.BlockCommandComment(global::CppSharp.Parser.AST.CommentKind Kind) + { + return new global::CppSharp.Parser.AST.BlockCommandComment(Kind); + } + + public uint CommandId { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MemberPointerType.__Internal*) __Instance)->pointee)); + return ((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*) __Instance)->commandId; } set { - ((global::CppSharp.Parser.AST.MemberPointerType.__Internal*)__Instance)->pointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*)__Instance)->commandId = value; } } - } - public unsafe partial class TypedefType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 16)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - internal byte isDependent; - - [FieldOffset(8)] - internal global::System.IntPtr declaration; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefTypeC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefTypeC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - } - - internal static new global::CppSharp.Parser.AST.TypedefType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.TypedefType(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.TypedefType __CreateInstance(global::CppSharp.Parser.AST.TypedefType.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.TypedefType(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefType.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); - global::CppSharp.Parser.AST.TypedefType.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private TypedefType(global::CppSharp.Parser.AST.TypedefType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected TypedefType(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public TypedefType() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } - - public TypedefType(global::CppSharp.Parser.AST.TypedefType _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } - - public global::CppSharp.Parser.AST.TypedefNameDecl Declaration + public global::CppSharp.Parser.AST.ParagraphComment ParagraphComment { get { - global::CppSharp.Parser.AST.TypedefNameDecl __result0; - if (((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TypedefNameDecl.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration)) - __result0 = (global::CppSharp.Parser.AST.TypedefNameDecl) global::CppSharp.Parser.AST.TypedefNameDecl.NativeToManagedMap[((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration]; - else __result0 = global::CppSharp.Parser.AST.TypedefNameDecl.__CreateInstance(((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration); + global::CppSharp.Parser.AST.ParagraphComment __result0; + if (((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*) __Instance)->paragraphComment == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ParagraphComment.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*) __Instance)->paragraphComment)) + __result0 = (global::CppSharp.Parser.AST.ParagraphComment) global::CppSharp.Parser.AST.ParagraphComment.NativeToManagedMap[((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*) __Instance)->paragraphComment]; + else __result0 = global::CppSharp.Parser.AST.ParagraphComment.__CreateInstance(((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*) __Instance)->paragraphComment); return __result0; } set { - ((global::CppSharp.Parser.AST.TypedefType.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*)__Instance)->paragraphComment = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public uint ArgumentsCount + { + get + { + var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class AttributedType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class ParamCommandComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 48)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(4)] - internal byte isDependent; + internal uint commandId; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal modified; + internal global::System.IntPtr paragraphComment; - [FieldOffset(24)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal equivalent; + [FieldOffset(16)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_S_allocator__S0_ Arguments; + + [FieldOffset(40)] + internal global::CppSharp.Parser.AST.ParamCommandComment.PassDirection direction; + + [FieldOffset(44)] + internal uint paramIndex; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14AttributedTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST19ParamCommandCommentC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14AttributedTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST19ParamCommandCommentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19ParamCommandCommentD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.AttributedType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public enum PassDirection : uint { - return new global::CppSharp.Parser.AST.AttributedType(native.ToPointer(), skipVTables); + In = 0, + Out = 1, + InOut = 2 } - internal static global::CppSharp.Parser.AST.AttributedType __CreateInstance(global::CppSharp.Parser.AST.AttributedType.__Internal native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.ParamCommandComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.AttributedType(native, skipVTables); + return new global::CppSharp.Parser.AST.ParamCommandComment(native.ToPointer(), skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.AttributedType.__Internal native) + internal static global::CppSharp.Parser.AST.ParamCommandComment __CreateInstance(global::CppSharp.Parser.AST.ParamCommandComment.__Internal native, bool skipVTables = false) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); - global::CppSharp.Parser.AST.AttributedType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return new global::CppSharp.Parser.AST.ParamCommandComment(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ParamCommandComment.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParamCommandComment.__Internal)); + global::CppSharp.Parser.AST.ParamCommandComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private AttributedType(global::CppSharp.Parser.AST.AttributedType.__Internal native, bool skipVTables = false) + private ParamCommandComment(global::CppSharp.Parser.AST.ParamCommandComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected AttributedType(void* native, bool skipVTables = false) + protected ParamCommandComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -1496,19 +1297,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public AttributedType() + public ParamCommandComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParamCommandComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public AttributedType(global::CppSharp.Parser.AST.AttributedType _0) + public ParamCommandComment(global::CppSharp.Parser.AST.ParamCommandComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParamCommandComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -1517,89 +1318,127 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Modified + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Comment __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.ParamCommandComment.PassDirection Direction { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.AttributedType.__Internal*) __Instance)->modified)); + return ((global::CppSharp.Parser.AST.ParamCommandComment.__Internal*) __Instance)->direction; } set { - ((global::CppSharp.Parser.AST.AttributedType.__Internal*)__Instance)->modified = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.ParamCommandComment.__Internal*)__Instance)->direction = value; } } - public global::CppSharp.Parser.AST.QualifiedType Equivalent + public uint ParamIndex { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.AttributedType.__Internal*) __Instance)->equivalent)); + return ((global::CppSharp.Parser.AST.ParamCommandComment.__Internal*) __Instance)->paramIndex; } set { - ((global::CppSharp.Parser.AST.AttributedType.__Internal*)__Instance)->equivalent = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.ParamCommandComment.__Internal*)__Instance)->paramIndex = value; } } } - public unsafe partial class DecayedType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class TParamCommandComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 56)] + [StructLayout(LayoutKind.Explicit, Size = 64)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(4)] - internal byte isDependent; + internal uint commandId; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal decayed; + internal global::System.IntPtr paragraphComment; - [FieldOffset(24)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal original; + [FieldOffset(16)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_S_allocator__S0_ Arguments; [FieldOffset(40)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; + internal global::Std.Vector.__Internalc__N_std_S_vector__i___N_std_S_allocator__i Position; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11DecayedTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST20TParamCommandCommentC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11DecayedTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST20TParamCommandCommentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20TParamCommandCommentD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20TParamCommandComment11getPositionEj")] + internal static extern uint GetPosition(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20TParamCommandComment11addPositionERj")] + internal static extern void AddPosition(global::System.IntPtr __instance, uint* s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20TParamCommandComment13clearPositionEv")] + internal static extern void ClearPosition(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20TParamCommandComment16getPositionCountEv")] + internal static extern uint GetPositionCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.DecayedType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TParamCommandComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.DecayedType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TParamCommandComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.DecayedType __CreateInstance(global::CppSharp.Parser.AST.DecayedType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TParamCommandComment __CreateInstance(global::CppSharp.Parser.AST.TParamCommandComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.DecayedType(native, skipVTables); + return new global::CppSharp.Parser.AST.TParamCommandComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.DecayedType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TParamCommandComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); - global::CppSharp.Parser.AST.DecayedType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TParamCommandComment.__Internal)); + global::CppSharp.Parser.AST.TParamCommandComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private DecayedType(global::CppSharp.Parser.AST.DecayedType.__Internal native, bool skipVTables = false) + private TParamCommandComment(global::CppSharp.Parser.AST.TParamCommandComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected DecayedType(void* native, bool skipVTables = false) + protected TParamCommandComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -1608,19 +1447,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public DecayedType() + public TParamCommandComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TParamCommandComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public DecayedType(global::CppSharp.Parser.AST.DecayedType _0) + public TParamCommandComment(global::CppSharp.Parser.AST.TParamCommandComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TParamCommandComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -1629,296 +1468,241 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Decayed + public override void Dispose(bool disposing) { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->decayed)); - } - - set - { - ((global::CppSharp.Parser.AST.DecayedType.__Internal*)__Instance)->decayed = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Comment __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.QualifiedType Original + public uint GetPosition(uint i) { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->original)); - } + var __ret = __Internal.GetPosition((__Instance + __PointerAdjustment), i); + return __ret; + } - set + public void AddPosition(ref uint s) + { + fixed (uint* __s0 = &s) { - ((global::CppSharp.Parser.AST.DecayedType.__Internal*)__Instance)->original = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + var __arg0 = __s0; + __Internal.AddPosition((__Instance + __PointerAdjustment), __arg0); } } - public global::CppSharp.Parser.AST.QualifiedType Pointee + public void ClearPosition() { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->pointee)); - } + __Internal.ClearPosition((__Instance + __PointerAdjustment)); + } - set + public uint PositionCount + { + get { - ((global::CppSharp.Parser.AST.DecayedType.__Internal*)__Instance)->pointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + var __ret = __Internal.GetPositionCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class TemplateArgument : IDisposable + public unsafe partial class VerbatimBlockLineComment : global::CppSharp.Parser.AST.Comment, IDisposable { [StructLayout(LayoutKind.Explicit, Size = 40)] - public partial struct __Internal + public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; - - [FieldOffset(24)] - internal global::System.IntPtr declaration; - - [FieldOffset(32)] - internal long integral; + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16TemplateArgumentC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST24VerbatimBlockLineCommentC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16TemplateArgumentC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST24VerbatimBlockLineCommentC2ERKS2_")] internal static extern void cctor(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 + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24VerbatimBlockLineCommentD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); } - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.TemplateArgument __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.VerbatimBlockLineComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateArgument(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.VerbatimBlockLineComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TemplateArgument __CreateInstance(global::CppSharp.Parser.AST.TemplateArgument.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VerbatimBlockLineComment __CreateInstance(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateArgument(native, skipVTables); + return new global::CppSharp.Parser.AST.VerbatimBlockLineComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateArgument.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); - *(global::CppSharp.Parser.AST.TemplateArgument.__Internal*) ret = native; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal)); + global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument.__Internal native, bool skipVTables = false) + private VerbatimBlockLineComment(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TemplateArgument(void* native, bool skipVTables = false) + protected VerbatimBlockLineComment(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public TemplateArgument() + public VerbatimBlockLineComment() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument _0) + public VerbatimBlockLineComment(global::CppSharp.Parser.AST.VerbatimBlockLineComment _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) _0.__Instance); - } - - public void Dispose() - { - Dispose(disposing: true); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.TemplateArgument __dummy; + global::CppSharp.Parser.AST.Comment __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind Kind - { - get - { - return ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->kind; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->kind = value; - } - } - - public global::CppSharp.Parser.AST.QualifiedType Type - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->type)); - } - - set - { - ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } - - public global::CppSharp.Parser.AST.Declaration Declaration - { - get - { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - - public long Integral + public string Text { get { - return ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->integral; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal*) __Instance)->text)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->integral = value; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal*)__Instance)->text), value); } } } - public unsafe partial class TemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class VerbatimBlockComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 56)] + [StructLayout(LayoutKind.Explicit, Size = 64)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(4)] - internal byte isDependent; + internal uint commandId; [FieldOffset(8)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; + internal global::System.IntPtr paragraphComment; - [FieldOffset(32)] - internal global::System.IntPtr _template; + [FieldOffset(16)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_S_allocator__S0_ Arguments; [FieldOffset(40)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_VerbatimBlockLineComment___N_std_S_allocator__S0_ Lines; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST20VerbatimBlockCommentC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST20VerbatimBlockCommentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST20VerbatimBlockCommentD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType12getArgumentsEj")] - internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST20VerbatimBlockComment8getLinesEj")] + internal static extern global::System.IntPtr GetLines(global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType12addArgumentsERNS1_16TemplateArgumentE")] - internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST20VerbatimBlockComment8addLinesERPNS1_24VerbatimBlockLineCommentE")] + internal static extern void AddLines(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType14clearArgumentsEv")] - internal static extern void ClearArguments(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST20VerbatimBlockComment10clearLinesEv")] + internal static extern void ClearLines(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType17getArgumentsCountEv")] - internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST20VerbatimBlockComment13getLinesCountEv")] + internal static extern uint GetLinesCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.TemplateSpecializationType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.VerbatimBlockComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateSpecializationType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.VerbatimBlockComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TemplateSpecializationType __CreateInstance(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VerbatimBlockComment __CreateInstance(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateSpecializationType(native, skipVTables); + return new global::CppSharp.Parser.AST.VerbatimBlockComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); - global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal)); + global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native, bool skipVTables = false) + private VerbatimBlockComment(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TemplateSpecializationType(void* native, bool skipVTables = false) + protected VerbatimBlockComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -1927,19 +1711,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TemplateSpecializationType() + public VerbatimBlockComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType _0) + public VerbatimBlockComment(global::CppSharp.Parser.AST.VerbatimBlockComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -1952,7 +1736,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Type __dummy; + global::CppSharp.Parser.AST.Comment __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -1961,145 +1745,101 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) + public global::CppSharp.Parser.AST.VerbatimBlockLineComment GetLines(uint i) { - var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); - __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); - } - - public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + var __ret = __Internal.GetLines((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.VerbatimBlockLineComment __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.VerbatimBlockLineComment.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.VerbatimBlockLineComment) global::CppSharp.Parser.AST.VerbatimBlockLineComment.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.VerbatimBlockLineComment.__CreateInstance(__ret); + return __result0; + } + + public void AddLines(global::CppSharp.Parser.AST.VerbatimBlockLineComment s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearArguments() - { - __Internal.ClearArguments((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.Template Template - { - get - { - global::CppSharp.Parser.AST.Template __result0; - if (((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Template.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template)) - __result0 = (global::CppSharp.Parser.AST.Template) global::CppSharp.Parser.AST.Template.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template]; - else __result0 = global::CppSharp.Parser.AST.Template.__CreateInstance(((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*)__Instance)->_template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + __Internal.AddLines((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Desugared + public void ClearLines() { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->desugared)); - } - - set - { - ((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*)__Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } + __Internal.ClearLines((__Instance + __PointerAdjustment)); } - public uint ArgumentsCount + public uint LinesCount { get { - var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetLinesCount((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class DependentTemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class VerbatimLineComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 72)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(4)] - internal byte isDependent; + internal uint commandId; [FieldOffset(8)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; + internal global::System.IntPtr paragraphComment; - [FieldOffset(32)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; + [FieldOffset(16)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_S_allocator__S0_ Arguments; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST19VerbatimLineCommentC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST19VerbatimLineCommentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationTypeD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST19VerbatimLineCommentD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType12getArgumentsEj")] - internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType12addArgumentsERNS1_16TemplateArgumentE")] - internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType14clearArgumentsEv")] - internal static extern void ClearArguments(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType17getArgumentsCountEv")] - internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.DependentTemplateSpecializationType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.VerbatimLineComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.DependentTemplateSpecializationType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.VerbatimLineComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.DependentTemplateSpecializationType __CreateInstance(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VerbatimLineComment __CreateInstance(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.DependentTemplateSpecializationType(native, skipVTables); + return new global::CppSharp.Parser.AST.VerbatimLineComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); - global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal)); + global::CppSharp.Parser.AST.VerbatimLineComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native, bool skipVTables = false) + private VerbatimLineComment(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected DependentTemplateSpecializationType(void* native, bool skipVTables = false) + protected VerbatimLineComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2108,19 +1848,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public DependentTemplateSpecializationType() + public VerbatimLineComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType _0) + public VerbatimLineComment(global::CppSharp.Parser.AST.VerbatimLineComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -2133,7 +1873,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Type __dummy; + global::CppSharp.Parser.AST.Comment __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -2142,266 +1882,229 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) - { - var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); - __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); - } - - public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearArguments() - { - __Internal.ClearArguments((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.QualifiedType Desugared + public string Text { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal*) __Instance)->desugared)); + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VerbatimLineComment.__Internal*) __Instance)->text)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal*)__Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } - - public uint ArgumentsCount - { - get - { - var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); - return __ret; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VerbatimLineComment.__Internal*)__Instance)->text), value); } } } - public unsafe partial class TemplateParameterType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class InlineCommandComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(4)] - internal byte isDependent; + internal byte hasTrailingNewline; [FieldOffset(8)] - internal global::System.IntPtr parameter; - - [FieldOffset(16)] - internal uint depth; + internal uint commandId; - [FieldOffset(20)] - internal uint index; + [FieldOffset(12)] + internal global::CppSharp.Parser.AST.InlineCommandComment.RenderKind commentRenderKind; - [FieldOffset(24)] - internal byte isParameterPack; + [FieldOffset(16)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_InlineCommandComment_S_Argument___N_std_S_allocator__S0_ Arguments; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandCommentC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandCommentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandCommentD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); - } - internal static new global::CppSharp.Parser.AST.TemplateParameterType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.TemplateParameterType(native.ToPointer(), skipVTables); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandComment12getArgumentsEj")] + internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); - internal static global::CppSharp.Parser.AST.TemplateParameterType __CreateInstance(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.TemplateParameterType(native, skipVTables); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandComment12addArgumentsERNS2_8ArgumentE")] + internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); - global::CppSharp.Parser.AST.TemplateParameterType.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandComment14clearArgumentsEv")] + internal static extern void ClearArguments(global::System.IntPtr __instance); - private TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandComment17getArgumentsCountEv")] + internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); } - protected TemplateParameterType(void* native, bool skipVTables = false) - : base((void*) null) + public enum RenderKind : uint { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); + RenderNormal = 0, + RenderBold = 1, + RenderMonospaced = 2, + RenderEmphasized = 3 } - public TemplateParameterType() - : this((void*) null) + public unsafe partial class Argument : IDisposable { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + [StructLayout(LayoutKind.Explicit, Size = 32)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; - public TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandComment8ArgumentC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Type __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandComment8ArgumentC2ERKS3_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - public global::CppSharp.Parser.AST.TypeTemplateParameter Parameter - { - get - { - global::CppSharp.Parser.AST.TypeTemplateParameter __result0; - if (((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TypeTemplateParameter.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter)) - __result0 = (global::CppSharp.Parser.AST.TypeTemplateParameter) global::CppSharp.Parser.AST.TypeTemplateParameter.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter]; - else __result0 = global::CppSharp.Parser.AST.TypeTemplateParameter.__CreateInstance(((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter); - return __result0; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandComment8ArgumentD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); } - set + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.InlineCommandComment.Argument __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->parameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + return new global::CppSharp.Parser.AST.InlineCommandComment.Argument(native.ToPointer(), skipVTables); } - } - public uint Depth - { - get + internal static global::CppSharp.Parser.AST.InlineCommandComment.Argument __CreateInstance(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal native, bool skipVTables = false) { - return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->depth; + return new global::CppSharp.Parser.AST.InlineCommandComment.Argument(native, skipVTables); } - set + private static void* __CopyValue(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal native) { - ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->depth = value; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal)); + global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - } - public uint Index - { - get + private Argument(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->index; + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; } - set + protected Argument(void* native, bool skipVTables = false) { - ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->index = value; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - } - public bool IsParameterPack - { - get + public Argument() { - return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->isParameterPack != 0; + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); } - set + public Argument(global::CppSharp.Parser.AST.InlineCommandComment.Argument _0) { - ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->isParameterPack = (byte) (value ? 1 : 0); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - } - } - - public unsafe partial class TemplateParameterSubstitutionType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 32)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - internal byte isDependent; - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal replacement; + public void Dispose() + { + Dispose(disposing: true); + } - [FieldOffset(24)] - internal global::System.IntPtr replacedParameter; + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.InlineCommandComment.Argument __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST33TemplateParameterSubstitutionTypeC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + public string Text + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal*) __Instance)->text)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST33TemplateParameterSubstitutionTypeC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal*)__Instance)->text), value); + } + } } - internal static new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.InlineCommandComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.InlineCommandComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TemplateParameterSubstitutionType __CreateInstance(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.InlineCommandComment __CreateInstance(global::CppSharp.Parser.AST.InlineCommandComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType(native, skipVTables); + return new global::CppSharp.Parser.AST.InlineCommandComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.InlineCommandComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); - global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.__Internal)); + global::CppSharp.Parser.AST.InlineCommandComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native, bool skipVTables = false) + private InlineCommandComment(global::CppSharp.Parser.AST.InlineCommandComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TemplateParameterSubstitutionType(void* native, bool skipVTables = false) + protected InlineCommandComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2410,19 +2113,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TemplateParameterSubstitutionType() + public InlineCommandComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType _0) + public InlineCommandComment(global::CppSharp.Parser.AST.InlineCommandComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -2431,91 +2134,127 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Replacement + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Comment __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.InlineCommandComment.Argument GetArguments(uint i) + { + var __ret = new global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal(); + __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.InlineCommandComment.Argument.__CreateInstance(__ret); + } + + public void AddArguments(global::CppSharp.Parser.AST.InlineCommandComment.Argument s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearArguments() + { + __Internal.ClearArguments((__Instance + __PointerAdjustment)); + } + + public uint CommandId { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacement)); + return ((global::CppSharp.Parser.AST.InlineCommandComment.__Internal*) __Instance)->commandId; } set { - ((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*)__Instance)->replacement = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.InlineCommandComment.__Internal*)__Instance)->commandId = value; } } - public global::CppSharp.Parser.AST.TemplateParameterType ReplacedParameter + public global::CppSharp.Parser.AST.InlineCommandComment.RenderKind CommentRenderKind { get { - global::CppSharp.Parser.AST.TemplateParameterType __result0; - if (((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TemplateParameterType.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter)) - __result0 = (global::CppSharp.Parser.AST.TemplateParameterType) global::CppSharp.Parser.AST.TemplateParameterType.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter]; - else __result0 = global::CppSharp.Parser.AST.TemplateParameterType.__CreateInstance(((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter); - return __result0; + return ((global::CppSharp.Parser.AST.InlineCommandComment.__Internal*) __Instance)->commentRenderKind; } set { - ((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*)__Instance)->replacedParameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.InlineCommandComment.__Internal*)__Instance)->commentRenderKind = value; + } + } + + public uint ArgumentsCount + { + get + { + var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class InjectedClassNameType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class HTMLTagComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(4)] - internal byte isDependent; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal injectedSpecializationType; - - [FieldOffset(24)] - internal global::System.IntPtr _class; + internal byte hasTrailingNewline; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21InjectedClassNameTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST14HTMLTagCommentC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21InjectedClassNameTypeC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - } + EntryPoint="_ZN8CppSharp9CppParser3AST14HTMLTagCommentC2ENS1_11CommentKindE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.CommentKind Kind); - internal static new global::CppSharp.Parser.AST.InjectedClassNameType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14HTMLTagCommentC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.HTMLTagComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.InjectedClassNameType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.HTMLTagComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.InjectedClassNameType __CreateInstance(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.HTMLTagComment __CreateInstance(global::CppSharp.Parser.AST.HTMLTagComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.InjectedClassNameType(native, skipVTables); + return new global::CppSharp.Parser.AST.HTMLTagComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.HTMLTagComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); - global::CppSharp.Parser.AST.InjectedClassNameType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal)); + *(global::CppSharp.Parser.AST.HTMLTagComment.__Internal*) ret = native; return ret.ToPointer(); } - private InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native, bool skipVTables = false) + private HTMLTagComment(global::CppSharp.Parser.AST.HTMLTagComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected InjectedClassNameType(void* native, bool skipVTables = false) + protected HTMLTagComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2524,236 +2263,253 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public InjectedClassNameType() + public HTMLTagComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType _0) + public HTMLTagComment(global::CppSharp.Parser.AST.CommentKind Kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + __Internal.ctor((__Instance + __PointerAdjustment), Kind); } - public global::CppSharp.Parser.AST.QualifiedType InjectedSpecializationType + public HTMLTagComment(global::CppSharp.Parser.AST.HTMLTagComment _0) + : this((void*) null) { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->injectedSpecializationType)); - } - - set - { - ((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*)__Instance)->injectedSpecializationType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.HTMLTagComment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.HTMLTagComment.__Internal*) _0.__Instance); } - public global::CppSharp.Parser.AST.Class Class + public static implicit operator global::CppSharp.Parser.AST.HTMLTagComment(global::CppSharp.Parser.AST.CommentKind Kind) { - get - { - global::CppSharp.Parser.AST.Class __result0; - if (((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class)) - __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class]; - else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*)__Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + return new global::CppSharp.Parser.AST.HTMLTagComment(Kind); } } - public unsafe partial class DependentNameType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class HTMLStartTagComment : global::CppSharp.Parser.AST.HTMLTagComment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 56)] + [StructLayout(LayoutKind.Explicit, Size = 64)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(4)] - internal byte isDependent; + internal byte hasTrailingNewline; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifier; + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C tagName; - [FieldOffset(24)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C identifier; + [FieldOffset(40)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_HTMLStartTagComment_S_Attribute___N_std_S_allocator__S0_ Attributes; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17DependentNameTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagCommentC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17DependentNameTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagCommentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17DependentNameTypeD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagCommentD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); - } - internal static new global::CppSharp.Parser.AST.DependentNameType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.DependentNameType(native.ToPointer(), skipVTables); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagComment13getAttributesEj")] + internal static extern void GetAttributes(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); - internal static global::CppSharp.Parser.AST.DependentNameType __CreateInstance(global::CppSharp.Parser.AST.DependentNameType.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.DependentNameType(native, skipVTables); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagComment13addAttributesERNS2_9AttributeE")] + internal static extern void AddAttributes(global::System.IntPtr __instance, global::System.IntPtr s); - private static void* __CopyValue(global::CppSharp.Parser.AST.DependentNameType.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); - global::CppSharp.Parser.AST.DependentNameType.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagComment15clearAttributesEv")] + internal static extern void ClearAttributes(global::System.IntPtr __instance); - private DependentNameType(global::CppSharp.Parser.AST.DependentNameType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagComment18getAttributesCountEv")] + internal static extern uint GetAttributesCount(global::System.IntPtr __instance); } - protected DependentNameType(void* native, bool skipVTables = false) - : base((void*) null) + public unsafe partial class Attribute : IDisposable { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [StructLayout(LayoutKind.Explicit, Size = 64)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - public DependentNameType() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + [FieldOffset(32)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C value; - public DependentNameType(global::CppSharp.Parser.AST.DependentNameType _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagComment9AttributeC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Type __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagComment9AttributeC2ERKS3_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - public global::CppSharp.Parser.AST.QualifiedType Qualifier - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentNameType.__Internal*) __Instance)->qualifier)); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagComment9AttributeD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); } - set + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - ((global::CppSharp.Parser.AST.DependentNameType.__Internal*)__Instance)->qualifier = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + return new global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute(native.ToPointer(), skipVTables); } - } - public string Identifier - { - get + internal static global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute __CreateInstance(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal native, bool skipVTables = false) { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentNameType.__Internal*) __Instance)->identifier)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + return new global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute(native, skipVTables); } - set + private static void* __CopyValue(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal native) { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentNameType.__Internal*)__Instance)->identifier), value); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal)); + global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - } - } - public unsafe partial class PackExpansionType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 8)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + private Attribute(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(4)] - internal byte isDependent; + protected Attribute(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17PackExpansionTypeC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + public Attribute() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17PackExpansionTypeC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + public Attribute(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public string Name + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal*) __Instance)->name)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal*)__Instance)->name), value); + } + } + + public string Value + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal*) __Instance)->value)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal*)__Instance)->value), value); + } + } } - internal static new global::CppSharp.Parser.AST.PackExpansionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.HTMLStartTagComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.PackExpansionType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.HTMLStartTagComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.PackExpansionType __CreateInstance(global::CppSharp.Parser.AST.PackExpansionType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.HTMLStartTagComment __CreateInstance(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.PackExpansionType(native, skipVTables); + return new global::CppSharp.Parser.AST.HTMLStartTagComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.PackExpansionType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); - global::CppSharp.Parser.AST.PackExpansionType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal)); + global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private PackExpansionType(global::CppSharp.Parser.AST.PackExpansionType.__Internal native, bool skipVTables = false) + private HTMLStartTagComment(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected PackExpansionType(void* native, bool skipVTables = false) + protected HTMLStartTagComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2762,19 +2518,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public PackExpansionType() + public HTMLStartTagComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public PackExpansionType(global::CppSharp.Parser.AST.PackExpansionType _0) + public HTMLStartTagComment(global::CppSharp.Parser.AST.HTMLStartTagComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -2782,61 +2538,121 @@ namespace CppSharp var __arg0 = _0.__Instance; __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Comment __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute GetAttributes(uint i) + { + var __ret = new global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal(); + __Internal.GetAttributes(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__CreateInstance(__ret); + } + + public void AddAttributes(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddAttributes((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearAttributes() + { + __Internal.ClearAttributes((__Instance + __PointerAdjustment)); + } + + public string TagName + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal*) __Instance)->tagName)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal*)__Instance)->tagName), value); + } + } + + public uint AttributesCount + { + get + { + var __ret = __Internal.GetAttributesCount((__Instance + __PointerAdjustment)); + return __ret; + } + } } - public unsafe partial class UnaryTransformType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class HTMLEndTagComment : global::CppSharp.Parser.AST.HTMLTagComment, IDisposable { [StructLayout(LayoutKind.Explicit, Size = 40)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(4)] - internal byte isDependent; + internal byte hasTrailingNewline; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; - - [FieldOffset(24)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal baseType; + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C tagName; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18UnaryTransformTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST17HTMLEndTagCommentC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18UnaryTransformTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST17HTMLEndTagCommentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17HTMLEndTagCommentD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.UnaryTransformType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.HTMLEndTagComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.UnaryTransformType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.HTMLEndTagComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.UnaryTransformType __CreateInstance(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.HTMLEndTagComment __CreateInstance(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.UnaryTransformType(native, skipVTables); + return new global::CppSharp.Parser.AST.HTMLEndTagComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); - global::CppSharp.Parser.AST.UnaryTransformType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); + global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native, bool skipVTables = false) + private HTMLEndTagComment(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected UnaryTransformType(void* native, bool skipVTables = false) + protected HTMLEndTagComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2845,19 +2661,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public UnaryTransformType() + public HTMLEndTagComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType _0) + public HTMLEndTagComment(global::CppSharp.Parser.AST.HTMLEndTagComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -2866,86 +2682,91 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Desugared + public override void Dispose(bool disposing) { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*) __Instance)->desugared)); - } - - set - { - ((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*)__Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Comment __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.QualifiedType BaseType + public string TagName { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*) __Instance)->baseType)); + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal*) __Instance)->tagName)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*)__Instance)->baseType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal*)__Instance)->tagName), value); } } } - public unsafe partial class VectorType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class TextComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(4)] - internal byte isDependent; + internal byte hasTrailingNewline; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal elementType; - - [FieldOffset(24)] - internal uint numElements; + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10VectorTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11TextCommentC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10VectorTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST11TextCommentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11TextCommentD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.VectorType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TextComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VectorType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TextComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.VectorType __CreateInstance(global::CppSharp.Parser.AST.VectorType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TextComment __CreateInstance(global::CppSharp.Parser.AST.TextComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VectorType(native, skipVTables); + return new global::CppSharp.Parser.AST.TextComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.VectorType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TextComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); - global::CppSharp.Parser.AST.VectorType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); + global::CppSharp.Parser.AST.TextComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private VectorType(global::CppSharp.Parser.AST.VectorType.__Internal native, bool skipVTables = false) + private TextComment(global::CppSharp.Parser.AST.TextComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected VectorType(void* native, bool skipVTables = false) + protected TextComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2954,19 +2775,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public VectorType() + public TextComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public VectorType(global::CppSharp.Parser.AST.VectorType _0) + public TextComment(global::CppSharp.Parser.AST.TextComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -2975,204 +2796,125 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType ElementType + public override void Dispose(bool disposing) { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->elementType)); - } - - set - { - ((global::CppSharp.Parser.AST.VectorType.__Internal*)__Instance)->elementType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Comment __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } - public uint NumElements + public string Text { get { - return ((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->numElements; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TextComment.__Internal*) __Instance)->text)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.VectorType.__Internal*)__Instance)->numElements = value; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TextComment.__Internal*)__Instance)->text), value); } } } - public unsafe partial class BuiltinType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class RawComment : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 12)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 80)] + public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - internal byte isDependent; + internal global::CppSharp.Parser.AST.RawCommentKind kind; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.PrimitiveType type; + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C briefText; + + [FieldOffset(72)] + internal global::System.IntPtr fullCommentBlock; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11BuiltinTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST10RawCommentC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11BuiltinTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST10RawCommentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - } - - internal static new global::CppSharp.Parser.AST.BuiltinType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.BuiltinType(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.BuiltinType __CreateInstance(global::CppSharp.Parser.AST.BuiltinType.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.BuiltinType(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.BuiltinType.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); - global::CppSharp.Parser.AST.BuiltinType.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private BuiltinType(global::CppSharp.Parser.AST.BuiltinType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected BuiltinType(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public BuiltinType() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } - - public BuiltinType(global::CppSharp.Parser.AST.BuiltinType _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } - - public global::CppSharp.Parser.AST.PrimitiveType Type - { - get - { - return ((global::CppSharp.Parser.AST.BuiltinType.__Internal*) __Instance)->type; - } - - set - { - ((global::CppSharp.Parser.AST.BuiltinType.__Internal*)__Instance)->type = value; - } - } - } - - public unsafe partial class VTableComponent : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 16)] - public partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.VTableComponentKind kind; - - [FieldOffset(4)] - internal uint offset; - - [FieldOffset(8)] - internal global::System.IntPtr declaration; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15VTableComponentC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15VTableComponentC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST10RawCommentD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); } public global::System.IntPtr __Instance { get; protected set; } protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); protected internal void*[] __OriginalVTables; protected bool __ownsNativeInstance; - internal static global::CppSharp.Parser.AST.VTableComponent __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.RawComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VTableComponent(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.RawComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.VTableComponent __CreateInstance(global::CppSharp.Parser.AST.VTableComponent.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.RawComment __CreateInstance(global::CppSharp.Parser.AST.RawComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VTableComponent(native, skipVTables); + return new global::CppSharp.Parser.AST.RawComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.VTableComponent.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.RawComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); - *(global::CppSharp.Parser.AST.VTableComponent.__Internal*) ret = native; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); + global::CppSharp.Parser.AST.RawComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private VTableComponent(global::CppSharp.Parser.AST.VTableComponent.__Internal native, bool skipVTables = false) + private RawComment(global::CppSharp.Parser.AST.RawComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected VTableComponent(void* native, bool skipVTables = false) + protected RawComment(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public VTableComponent() + public RawComment() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public VTableComponent(global::CppSharp.Parser.AST.VTableComponent _0) + public RawComment(global::CppSharp.Parser.AST.RawComment _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.VTableComponent.__Internal*) _0.__Instance); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } public void Dispose() @@ -3184,290 +2926,449 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.VTableComponent __dummy; + global::CppSharp.Parser.AST.RawComment __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.VTableComponentKind Kind + public global::CppSharp.Parser.AST.RawCommentKind Kind { get { - return ((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->kind; + return ((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->kind; } set { - ((global::CppSharp.Parser.AST.VTableComponent.__Internal*)__Instance)->kind = value; + ((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->kind = value; } } - public uint Offset + public string Text { get { - return ((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->offset; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->text)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.VTableComponent.__Internal*)__Instance)->offset = value; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->text), value); } } - public global::CppSharp.Parser.AST.Declaration Declaration + public string BriefText { get { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration); - return __result0; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->briefText)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.VTableComponent.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->briefText), value); } } - } - public unsafe partial class VTableLayout : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 24)] - public partial struct __Internal + public global::CppSharp.Parser.AST.FullComment FullCommentBlock { - [FieldOffset(0)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_VTableComponent___N_std_S_allocator__S0_ Components; + get + { + global::CppSharp.Parser.AST.FullComment __result0; + if (((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.FullComment.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock)) + __result0 = (global::CppSharp.Parser.AST.FullComment) global::CppSharp.Parser.AST.FullComment.NativeToManagedMap[((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock]; + else __result0 = global::CppSharp.Parser.AST.FullComment.__CreateInstance(((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock); + return __result0; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayoutC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + set + { + ((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->fullCommentBlock = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + } + } +} - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayoutC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); +namespace CppSharp +{ + namespace Parser + { + public unsafe partial struct SourceLocation + { + [StructLayout(LayoutKind.Explicit, Size = 4)] + public partial struct __Internal + { + [FieldOffset(0)] + internal uint ID; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayoutD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser14SourceLocationC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout13getComponentsEj")] - internal static extern global::CppSharp.Parser.AST.VTableComponent.__Internal GetComponents(global::System.IntPtr __instance, uint i); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser14SourceLocationC2Ej")] + internal static extern void ctor(global::System.IntPtr __instance, uint ID); - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout13addComponentsERNS1_15VTableComponentE")] - internal static extern void AddComponents(global::System.IntPtr __instance, global::System.IntPtr s); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser14SourceLocationC2ERKS1_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout15clearComponentsEv")] - internal static extern void ClearComponents(global::System.IntPtr __instance); + private SourceLocation.__Internal __instance; + internal SourceLocation.__Internal __Instance { get { return __instance; } } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout18getComponentsCountEv")] - internal static extern uint GetComponentsCount(global::System.IntPtr __instance); - } + internal static global::CppSharp.Parser.SourceLocation __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.SourceLocation(native.ToPointer(), skipVTables); + } - public global::System.IntPtr __Instance { get; protected set; } + internal static global::CppSharp.Parser.SourceLocation __CreateInstance(global::CppSharp.Parser.SourceLocation.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.SourceLocation(native, skipVTables); + } - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; + private SourceLocation(global::CppSharp.Parser.SourceLocation.__Internal native, bool skipVTables = false) + : this() + { + __instance = native; + } - protected bool __ownsNativeInstance; + private SourceLocation(void* native, bool skipVTables = false) : this() + { + __instance = *(global::CppSharp.Parser.SourceLocation.__Internal*) native; + } - internal static global::CppSharp.Parser.AST.VTableLayout __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public SourceLocation(uint ID) + : this() + { + fixed (__Internal* __instancePtr = &__instance) { - return new global::CppSharp.Parser.AST.VTableLayout(native.ToPointer(), skipVTables); + __Internal.ctor(new global::System.IntPtr(__instancePtr), ID); } + } - internal static global::CppSharp.Parser.AST.VTableLayout __CreateInstance(global::CppSharp.Parser.AST.VTableLayout.__Internal native, bool skipVTables = false) + public SourceLocation(global::CppSharp.Parser.SourceLocation _0) + : this() + { + var ____arg0 = _0.__Instance; + var __arg0 = new global::System.IntPtr(&____arg0); + fixed (__Internal* __instancePtr = &__instance) { - return new global::CppSharp.Parser.AST.VTableLayout(native, skipVTables); + __Internal.cctor(new global::System.IntPtr(__instancePtr), __arg0); } + } - private static void* __CopyValue(global::CppSharp.Parser.AST.VTableLayout.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); - global::CppSharp.Parser.AST.VTableLayout.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + public static implicit operator global::CppSharp.Parser.SourceLocation(uint ID) + { + return new global::CppSharp.Parser.SourceLocation(ID); + } - private VTableLayout(global::CppSharp.Parser.AST.VTableLayout.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + public uint ID + { + get { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + return __instance.ID; } - protected VTableLayout(void* native, bool skipVTables = false) + set { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); + __instance.ID = value; } + } + } - public VTableLayout() - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + public unsafe partial class SourceRange : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 8)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; - public VTableLayout(global::CppSharp.Parser.AST.VTableLayout _0) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; - public void Dispose() - { - Dispose(disposing: true); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser11SourceRangeC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.VTableLayout __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser11SourceRangeC2ERKS1_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } - public global::CppSharp.Parser.AST.VTableComponent GetComponents(uint i) - { - var __ret = __Internal.GetComponents((__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.VTableComponent.__CreateInstance(__ret); - } + public global::System.IntPtr __Instance { get; protected set; } - public void AddComponents(global::CppSharp.Parser.AST.VTableComponent s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddComponents((__Instance + __PointerAdjustment), __arg0); - } + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; - public void ClearComponents() - { - __Internal.ClearComponents((__Instance + __PointerAdjustment)); - } + protected bool __ownsNativeInstance; - public uint ComponentsCount - { - get - { - var __ret = __Internal.GetComponentsCount((__Instance + __PointerAdjustment)); - return __ret; - } - } + internal static global::CppSharp.Parser.SourceRange __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.SourceRange(native.ToPointer(), skipVTables); } - public unsafe partial class VFTableInfo : IDisposable + internal static global::CppSharp.Parser.SourceRange __CreateInstance(global::CppSharp.Parser.SourceRange.__Internal native, bool skipVTables = false) { - [StructLayout(LayoutKind.Explicit, Size = 40)] - public partial struct __Internal - { - [FieldOffset(0)] - internal ulong VBTableIndex; + return new global::CppSharp.Parser.SourceRange(native, skipVTables); + } - [FieldOffset(8)] - internal uint VFPtrOffset; + private static void* __CopyValue(global::CppSharp.Parser.SourceRange.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.SourceRange.__Internal)); + *(global::CppSharp.Parser.SourceRange.__Internal*) ret = native; + return ret.ToPointer(); + } - [FieldOffset(12)] - internal uint VFPtrFullOffset; + private SourceRange(global::CppSharp.Parser.SourceRange.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(16)] - internal global::CppSharp.Parser.AST.VTableLayout.__Internal layout; + protected SourceRange(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VFTableInfoC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + public SourceRange() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.SourceRange.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VFTableInfoC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + public SourceRange(global::CppSharp.Parser.SourceRange _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.SourceRange.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.SourceRange.__Internal*) __Instance) = *((global::CppSharp.Parser.SourceRange.__Internal*) _0.__Instance); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VFTableInfoD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); - } + public void Dispose() + { + Dispose(disposing: true); + } - public global::System.IntPtr __Instance { get; protected set; } + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.SourceRange __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; + public global::CppSharp.Parser.SourceLocation BeginLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.SourceRange.__Internal*) __Instance)->beginLoc); + } - protected bool __ownsNativeInstance; + set + { + ((global::CppSharp.Parser.SourceRange.__Internal*)__Instance)->beginLoc = value.__Instance; + } + } - internal static global::CppSharp.Parser.AST.VFTableInfo __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::CppSharp.Parser.SourceLocation EndLoc + { + get { - return new global::CppSharp.Parser.AST.VFTableInfo(native.ToPointer(), skipVTables); + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.SourceRange.__Internal*) __Instance)->endLoc); } - internal static global::CppSharp.Parser.AST.VFTableInfo __CreateInstance(global::CppSharp.Parser.AST.VFTableInfo.__Internal native, bool skipVTables = false) + set { - return new global::CppSharp.Parser.AST.VFTableInfo(native, skipVTables); + ((global::CppSharp.Parser.SourceRange.__Internal*)__Instance)->endLoc = value.__Instance; } + } + } + } +} - private static void* __CopyValue(global::CppSharp.Parser.AST.VFTableInfo.__Internal native) +namespace CppSharp +{ + namespace Parser + { + namespace AST + { + public enum TypeKind + { + Tag = 0, + Array = 1, + Function = 2, + Pointer = 3, + MemberPointer = 4, + Typedef = 5, + Attributed = 6, + Decayed = 7, + TemplateSpecialization = 8, + DependentTemplateSpecialization = 9, + TemplateParameter = 10, + TemplateParameterSubstitution = 11, + InjectedClassName = 12, + DependentName = 13, + PackExpansion = 14, + Builtin = 15, + UnaryTransform = 16, + Vector = 17 + } + + public enum CallingConvention + { + Default = 0, + C = 1, + StdCall = 2, + ThisCall = 3, + FastCall = 4, + Unknown = 5 + } + + public enum PrimitiveType + { + Null = 0, + Void = 1, + Bool = 2, + WideChar = 3, + Char = 4, + SChar = 5, + UChar = 6, + Char16 = 7, + Char32 = 8, + Short = 9, + UShort = 10, + Int = 11, + UInt = 12, + Long = 13, + ULong = 14, + LongLong = 15, + ULongLong = 16, + Int128 = 17, + UInt128 = 18, + Half = 19, + Float = 20, + Double = 21, + LongDouble = 22, + Float128 = 23, + IntPtr = 24 + } + + public enum ExceptionSpecType + { + None = 0, + DynamicNone = 1, + Dynamic = 2, + MSAny = 3, + BasicNoexcept = 4, + DependentNoexcept = 5, + NoexceptFalse = 6, + NoexceptTrue = 7, + Unevaluated = 8, + Uninstantiated = 9, + Unparsed = 10 + } + + public unsafe partial class Type : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 8)] + public partial struct __Internal { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); - global::CppSharp.Parser.AST.VFTableInfo.__Internal.cctor(ret, new global::System.IntPtr(&native)); + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + internal byte isDependent; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST4TypeC2ENS1_8TypeKindE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.TypeKind kind); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST4TypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.Type __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Type(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.Type __CreateInstance(global::CppSharp.Parser.AST.Type.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Type(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.Type.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Type.__Internal)); + global::CppSharp.Parser.AST.Type.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private VFTableInfo(global::CppSharp.Parser.AST.VFTableInfo.__Internal native, bool skipVTables = false) + private Type(global::CppSharp.Parser.AST.Type.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected VFTableInfo(void* native, bool skipVTables = false) + protected Type(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public VFTableInfo() + public Type(global::CppSharp.Parser.AST.TypeKind kind) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Type.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + __Internal.ctor((__Instance + __PointerAdjustment), kind); } - public VFTableInfo(global::CppSharp.Parser.AST.VFTableInfo _0) + public Type(global::CppSharp.Parser.AST.Type _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Type.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -3485,157 +3386,117 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.VFTableInfo __dummy; + global::CppSharp.Parser.AST.Type __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - public ulong VBTableIndex - { - get - { - return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VBTableIndex; - } - - set - { - ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->VBTableIndex = value; - } - } - - public uint VFPtrOffset + public static implicit operator global::CppSharp.Parser.AST.Type(global::CppSharp.Parser.AST.TypeKind kind) { - get - { - return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VFPtrOffset; - } - - set - { - ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->VFPtrOffset = value; - } + return new global::CppSharp.Parser.AST.Type(kind); } - public uint VFPtrFullOffset + public global::CppSharp.Parser.AST.TypeKind Kind { get { - return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VFPtrFullOffset; + return ((global::CppSharp.Parser.AST.Type.__Internal*) __Instance)->kind; } set { - ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->VFPtrFullOffset = value; + ((global::CppSharp.Parser.AST.Type.__Internal*)__Instance)->kind = value; } } - public global::CppSharp.Parser.AST.VTableLayout Layout + public bool IsDependent { get { - return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->layout)); + return ((global::CppSharp.Parser.AST.Type.__Internal*) __Instance)->isDependent != 0; } set { - ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->layout = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.VTableLayout.__Internal() : *(global::CppSharp.Parser.AST.VTableLayout.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.Type.__Internal*)__Instance)->isDependent = (byte) (value ? 1 : 0); } } } - public unsafe partial class LayoutField : IDisposable + public unsafe partial class TypeQualifiers : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 64)] + [StructLayout(LayoutKind.Explicit, Size = 3)] public partial struct __Internal { [FieldOffset(0)] - internal uint offset; - - [FieldOffset(8)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(40)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - - [FieldOffset(56)] - internal global::System.IntPtr fieldPtr; + internal byte isConst; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutFieldC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + [FieldOffset(1)] + internal byte isVolatile; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutFieldC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr other); + [FieldOffset(2)] + internal byte isRestrict; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutFieldD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST14TypeQualifiersC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); } public global::System.IntPtr __Instance { get; protected set; } protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); protected internal void*[] __OriginalVTables; protected bool __ownsNativeInstance; - internal static global::CppSharp.Parser.AST.LayoutField __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TypeQualifiers __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.LayoutField(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TypeQualifiers(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.LayoutField __CreateInstance(global::CppSharp.Parser.AST.LayoutField.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TypeQualifiers __CreateInstance(global::CppSharp.Parser.AST.TypeQualifiers.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.LayoutField(native, skipVTables); + return new global::CppSharp.Parser.AST.TypeQualifiers(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.LayoutField.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypeQualifiers.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); - global::CppSharp.Parser.AST.LayoutField.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeQualifiers.__Internal)); + *(global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) ret = native; return ret.ToPointer(); } - private LayoutField(global::CppSharp.Parser.AST.LayoutField.__Internal native, bool skipVTables = false) + private TypeQualifiers(global::CppSharp.Parser.AST.TypeQualifiers.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected LayoutField(void* native, bool skipVTables = false) + protected TypeQualifiers(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public LayoutField() + public TypeQualifiers(global::CppSharp.Parser.AST.TypeQualifiers _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeQualifiers.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + *((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) _0.__Instance); } - public LayoutField(global::CppSharp.Parser.AST.LayoutField other) + public TypeQualifiers() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeQualifiers.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(other, null)) - throw new global::System.ArgumentNullException("other", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = other.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } public void Dispose() @@ -3647,154 +3508,128 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.LayoutField __dummy; + global::CppSharp.Parser.AST.TypeQualifiers __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - public uint Offset - { - get - { - return ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->offset; - } - - set - { - ((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->offset = value; - } - } - - public string Name + public bool IsConst { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->name)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + return ((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) __Instance)->isConst != 0; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->name), value); + ((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*)__Instance)->isConst = (byte) (value ? 1 : 0); } } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType + public bool IsVolatile { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->qualifiedType)); + return ((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) __Instance)->isVolatile != 0; } set { - ((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*)__Instance)->isVolatile = (byte) (value ? 1 : 0); } } - public global::System.IntPtr FieldPtr + public bool IsRestrict { get { - return ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->fieldPtr; + return ((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) __Instance)->isRestrict != 0; } set { - ((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->fieldPtr = (global::System.IntPtr) value; + ((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*)__Instance)->isRestrict = (byte) (value ? 1 : 0); } } } - public unsafe partial class LayoutBase : IDisposable + public unsafe partial class QualifiedType : IDisposable { [StructLayout(LayoutKind.Explicit, Size = 16)] public partial struct __Internal { [FieldOffset(0)] - internal uint offset; + internal global::System.IntPtr type; [FieldOffset(8)] - internal global::System.IntPtr _class; + internal global::CppSharp.Parser.AST.TypeQualifiers.__Internal qualifiers; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10LayoutBaseC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST13QualifiedTypeC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10LayoutBaseC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr other); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10LayoutBaseD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST13QualifiedTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); } public global::System.IntPtr __Instance { get; protected set; } protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); protected internal void*[] __OriginalVTables; protected bool __ownsNativeInstance; - internal static global::CppSharp.Parser.AST.LayoutBase __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.QualifiedType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.LayoutBase(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.QualifiedType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.LayoutBase __CreateInstance(global::CppSharp.Parser.AST.LayoutBase.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.QualifiedType __CreateInstance(global::CppSharp.Parser.AST.QualifiedType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.LayoutBase(native, skipVTables); + return new global::CppSharp.Parser.AST.QualifiedType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.LayoutBase.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.QualifiedType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); - global::CppSharp.Parser.AST.LayoutBase.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.QualifiedType.__Internal)); + *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) ret = native; return ret.ToPointer(); } - private LayoutBase(global::CppSharp.Parser.AST.LayoutBase.__Internal native, bool skipVTables = false) + private QualifiedType(global::CppSharp.Parser.AST.QualifiedType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected LayoutBase(void* native, bool skipVTables = false) + protected QualifiedType(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public LayoutBase() + public QualifiedType() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.QualifiedType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public LayoutBase(global::CppSharp.Parser.AST.LayoutBase other) + public QualifiedType(global::CppSharp.Parser.AST.QualifiedType _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.QualifiedType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(other, null)) - throw new global::System.ArgumentNullException("other", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = other.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + *((global::CppSharp.Parser.AST.QualifiedType.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.QualifiedType.__Internal*) _0.__Instance); } public void Dispose() @@ -3806,208 +3641,116 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.LayoutBase __dummy; + global::CppSharp.Parser.AST.QualifiedType __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - public uint Offset + public global::CppSharp.Parser.AST.Type Type { get { - return ((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->offset; + global::CppSharp.Parser.AST.Type __result0; + if (((global::CppSharp.Parser.AST.QualifiedType.__Internal*) __Instance)->type == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.QualifiedType.__Internal*) __Instance)->type)) + __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((global::CppSharp.Parser.AST.QualifiedType.__Internal*) __Instance)->type]; + else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((global::CppSharp.Parser.AST.QualifiedType.__Internal*) __Instance)->type); + return __result0; } set { - ((global::CppSharp.Parser.AST.LayoutBase.__Internal*)__Instance)->offset = value; + ((global::CppSharp.Parser.AST.QualifiedType.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public global::CppSharp.Parser.AST.Class Class + public global::CppSharp.Parser.AST.TypeQualifiers Qualifiers { get { - global::CppSharp.Parser.AST.Class __result0; - if (((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class)) - __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class]; - else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class); - return __result0; + return global::CppSharp.Parser.AST.TypeQualifiers.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.QualifiedType.__Internal*) __Instance)->qualifiers)); } set { - ((global::CppSharp.Parser.AST.LayoutBase.__Internal*)__Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.QualifiedType.__Internal*)__Instance)->qualifiers = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.TypeQualifiers.__Internal() : *(global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) value.__Instance; } } } - public unsafe partial class ClassLayout : IDisposable + public unsafe partial class TagType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 136)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 16)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CppAbi ABI; - - [FieldOffset(8)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_VFTableInfo___N_std_S_allocator__S0_ VFTables; - - [FieldOffset(32)] - internal global::CppSharp.Parser.AST.VTableLayout.__Internal layout; - - [FieldOffset(56)] - internal byte hasOwnVFPtr; - - [FieldOffset(64)] - internal long VBPtrOffset; - - [FieldOffset(72)] - internal int alignment; - - [FieldOffset(76)] - internal int size; - - [FieldOffset(80)] - internal int dataSize; + internal global::CppSharp.Parser.AST.TypeKind kind; - [FieldOffset(88)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_LayoutField___N_std_S_allocator__S0_ Fields; + [FieldOffset(4)] + internal byte isDependent; - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_LayoutBase___N_std_S_allocator__S0_ Bases; + [FieldOffset(8)] + internal global::System.IntPtr declaration; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayoutC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST7TagTypeC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayoutC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST7TagTypeC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayoutD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout11getVFTablesEj")] - internal static extern void GetVFTables(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout11addVFTablesERNS1_11VFTableInfoE")] - internal static extern void AddVFTables(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout13clearVFTablesEv")] - internal static extern void ClearVFTables(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout9getFieldsEj")] - internal static extern void GetFields(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout9addFieldsERNS1_11LayoutFieldE")] - internal static extern void AddFields(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout11clearFieldsEv")] - internal static extern void ClearFields(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout8getBasesEj")] - internal static extern void GetBases(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout8addBasesERNS1_10LayoutBaseE")] - internal static extern void AddBases(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout10clearBasesEv")] - internal static extern void ClearBases(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout16getVFTablesCountEv")] - internal static extern uint GetVFTablesCount(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout14getFieldsCountEv")] - internal static extern uint GetFieldsCount(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout13getBasesCountEv")] - internal static extern uint GetBasesCount(global::System.IntPtr __instance); } - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.ClassLayout __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TagType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ClassLayout(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TagType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.ClassLayout __CreateInstance(global::CppSharp.Parser.AST.ClassLayout.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TagType __CreateInstance(global::CppSharp.Parser.AST.TagType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ClassLayout(native, skipVTables); + return new global::CppSharp.Parser.AST.TagType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ClassLayout.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TagType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); - global::CppSharp.Parser.AST.ClassLayout.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); + global::CppSharp.Parser.AST.TagType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private ClassLayout(global::CppSharp.Parser.AST.ClassLayout.__Internal native, bool skipVTables = false) + private TagType(global::CppSharp.Parser.AST.TagType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected ClassLayout(void* native, bool skipVTables = false) + protected TagType(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public ClassLayout() + public TagType() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public ClassLayout(global::CppSharp.Parser.AST.ClassLayout _0) + public TagType(global::CppSharp.Parser.AST.TagType _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -4016,374 +3759,279 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public void Dispose() + public global::CppSharp.Parser.AST.Declaration Declaration { - Dispose(disposing: true); - } + get + { + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration); + return __result0; + } - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.ClassLayout __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + set + { + ((global::CppSharp.Parser.AST.TagType.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } } + } - public global::CppSharp.Parser.AST.VFTableInfo GetVFTables(uint i) + public unsafe partial class ArrayType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal { - var __ret = new global::CppSharp.Parser.AST.VFTableInfo.__Internal(); - __Internal.GetVFTables(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.VFTableInfo.__CreateInstance(__ret); - } + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; - public void AddVFTables(global::CppSharp.Parser.AST.VFTableInfo s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddVFTables((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(4)] + internal byte isDependent; - public void ClearVFTables() - { - __Internal.ClearVFTables((__Instance + __PointerAdjustment)); - } + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - public global::CppSharp.Parser.AST.LayoutField GetFields(uint i) - { - var __ret = new global::CppSharp.Parser.AST.LayoutField.__Internal(); - __Internal.GetFields(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.LayoutField.__CreateInstance(__ret); - } + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.ArrayType.ArraySize sizeType; - public void AddFields(global::CppSharp.Parser.AST.LayoutField s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddFields((__Instance + __PointerAdjustment), __arg0); + [FieldOffset(32)] + internal long size; + + [FieldOffset(40)] + internal long elementSize; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9ArrayTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9ArrayTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); } - public void ClearFields() + public enum ArraySize { - __Internal.ClearFields((__Instance + __PointerAdjustment)); + Constant = 0, + Variable = 1, + Dependent = 2, + Incomplete = 3 } - public global::CppSharp.Parser.AST.LayoutBase GetBases(uint i) + internal static new global::CppSharp.Parser.AST.ArrayType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - var __ret = new global::CppSharp.Parser.AST.LayoutBase.__Internal(); - __Internal.GetBases(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.LayoutBase.__CreateInstance(__ret); + return new global::CppSharp.Parser.AST.ArrayType(native.ToPointer(), skipVTables); } - public void AddBases(global::CppSharp.Parser.AST.LayoutBase s) + internal static global::CppSharp.Parser.AST.ArrayType __CreateInstance(global::CppSharp.Parser.AST.ArrayType.__Internal native, bool skipVTables = false) { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddBases((__Instance + __PointerAdjustment), __arg0); + return new global::CppSharp.Parser.AST.ArrayType(native, skipVTables); } - public void ClearBases() + private static void* __CopyValue(global::CppSharp.Parser.AST.ArrayType.__Internal native) { - __Internal.ClearBases((__Instance + __PointerAdjustment)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); + global::CppSharp.Parser.AST.ArrayType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - public global::CppSharp.Parser.AST.CppAbi ABI + private ArrayType(global::CppSharp.Parser.AST.ArrayType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - get - { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->ABI; - } - - set - { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->ABI = value; - } + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; } - public global::CppSharp.Parser.AST.VTableLayout Layout + protected ArrayType(void* native, bool skipVTables = false) + : base((void*) null) { - get - { - return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->layout)); - } - - set - { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->layout = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.VTableLayout.__Internal() : *(global::CppSharp.Parser.AST.VTableLayout.__Internal*) value.__Instance; - } + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - public bool HasOwnVFPtr + public ArrayType() + : this((void*) null) { - get - { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->hasOwnVFPtr != 0; - } - - set - { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->hasOwnVFPtr = (byte) (value ? 1 : 0); - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); } - public long VBPtrOffset + public ArrayType(global::CppSharp.Parser.AST.ArrayType _0) + : this((void*) null) { - get - { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->VBPtrOffset; - } - - set - { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->VBPtrOffset = value; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public int Alignment + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { get { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->alignment; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->qualifiedType)); } set { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->alignment = value; + ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public int Size + public global::CppSharp.Parser.AST.ArrayType.ArraySize SizeType { get { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->size; + return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->sizeType; } set { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->size = value; + ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->sizeType = value; } } - public int DataSize + public long Size { get { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->dataSize; + return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->size; } set { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->dataSize = value; - } - } - - public uint VFTablesCount - { - get - { - var __ret = __Internal.GetVFTablesCount((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->size = value; } } - public uint FieldsCount + public long ElementSize { get { - var __ret = __Internal.GetFieldsCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->elementSize; } - } - public uint BasesCount - { - get + set { - var __ret = __Internal.GetBasesCount((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->elementSize = value; } } } - public unsafe partial class Declaration : IDisposable + public unsafe partial class FunctionType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 224)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - internal int maxFieldAlignment; + internal byte isDependent; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + internal global::CppSharp.Parser.AST.CallingConvention callingConvention; [FieldOffset(28)] - internal int lineNumberStart; + internal global::CppSharp.Parser.AST.ExceptionSpecType exceptionSpecType; [FieldOffset(32)] - internal int lineNumberEnd; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_S_allocator__S0_ Parameters; - [FieldOffset(72)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - - [FieldOffset(104)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - - [FieldOffset(136)] - internal byte isIncomplete; - - [FieldOffset(137)] - internal byte isDependent; - - [FieldOffset(138)] - internal byte isImplicit; - - [FieldOffset(139)] - internal byte isInvalid; - - [FieldOffset(144)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(152)] - internal uint definitionOrder; - - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(184)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - - [FieldOffset(208)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(216)] - internal global::System.IntPtr comment; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11DeclarationC2ENS1_15DeclarationKindE")] - internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.DeclarationKind kind); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11DeclarationC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionTypeC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11DeclarationD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionTypeD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration23getPreprocessedEntitiesEj")] - internal static extern global::System.IntPtr GetPreprocessedEntities(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration23addPreprocessedEntitiesERPNS1_18PreprocessedEntityE")] - internal static extern void AddPreprocessedEntities(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration25clearPreprocessedEntitiesEv")] - internal static extern void ClearPreprocessedEntities(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration17getRedeclarationsEj")] - internal static extern global::System.IntPtr GetRedeclarations(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration17addRedeclarationsERPS2_")] - internal static extern void AddRedeclarations(global::System.IntPtr __instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType13getParametersEj")] + internal static extern global::System.IntPtr GetParameters(global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration19clearRedeclarationsEv")] - internal static extern void ClearRedeclarations(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType13addParametersERPNS1_9ParameterE")] + internal static extern void AddParameters(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration28getPreprocessedEntitiesCountEv")] - internal static extern uint GetPreprocessedEntitiesCount(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType15clearParametersEv")] + internal static extern void ClearParameters(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration22getRedeclarationsCountEv")] - internal static extern uint GetRedeclarationsCount(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType18getParametersCountEv")] + internal static extern uint GetParametersCount(global::System.IntPtr __instance); } - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.Declaration __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.FunctionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Declaration(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.FunctionType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Declaration __CreateInstance(global::CppSharp.Parser.AST.Declaration.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.FunctionType __CreateInstance(global::CppSharp.Parser.AST.FunctionType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Declaration(native, skipVTables); + return new global::CppSharp.Parser.AST.FunctionType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Declaration.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); - global::CppSharp.Parser.AST.Declaration.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); + global::CppSharp.Parser.AST.FunctionType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Declaration(global::CppSharp.Parser.AST.Declaration.__Internal native, bool skipVTables = false) + private FunctionType(global::CppSharp.Parser.AST.FunctionType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Declaration(void* native, bool skipVTables = false) + protected FunctionType(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public Declaration(global::CppSharp.Parser.AST.DeclarationKind kind) + public FunctionType() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), kind); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public Declaration(global::CppSharp.Parser.AST.Declaration _0) + public FunctionType(global::CppSharp.Parser.AST.FunctionType _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -4392,16 +4040,11 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.Type __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -4410,655 +4053,552 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.PreprocessedEntity GetPreprocessedEntities(uint i) - { - var __ret = __Internal.GetPreprocessedEntities((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.PreprocessedEntity __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.PreprocessedEntity.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.PreprocessedEntity) global::CppSharp.Parser.AST.PreprocessedEntity.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.PreprocessedEntity.__CreateInstance(__ret); - return __result0; - } - - public void AddPreprocessedEntities(global::CppSharp.Parser.AST.PreprocessedEntity s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddPreprocessedEntities((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearPreprocessedEntities() - { - __Internal.ClearPreprocessedEntities((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.Declaration GetRedeclarations(uint i) + public global::CppSharp.Parser.AST.Parameter GetParameters(uint i) { - var __ret = __Internal.GetRedeclarations((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Declaration __result0; + var __ret = __Internal.GetParameters((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Parameter __result0; if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(__ret); + else if (global::CppSharp.Parser.AST.Parameter.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Parameter) global::CppSharp.Parser.AST.Parameter.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Parameter.__CreateInstance(__ret); return __result0; } - public void AddRedeclarations(global::CppSharp.Parser.AST.Declaration s) + public void AddParameters(global::CppSharp.Parser.AST.Parameter s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddRedeclarations((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearRedeclarations() - { - __Internal.ClearRedeclarations((__Instance + __PointerAdjustment)); + __Internal.AddParameters((__Instance + __PointerAdjustment), __arg0); } - public static implicit operator global::CppSharp.Parser.AST.Declaration(global::CppSharp.Parser.AST.DeclarationKind kind) + public void ClearParameters() { - return new global::CppSharp.Parser.AST.Declaration(kind); + __Internal.ClearParameters((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.DeclarationKind Kind + public global::CppSharp.Parser.AST.QualifiedType ReturnType { get { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->kind; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->returnType)); } set { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->kind = value; + ((global::CppSharp.Parser.AST.FunctionType.__Internal*)__Instance)->returnType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public int MaxFieldAlignment + public global::CppSharp.Parser.AST.CallingConvention CallingConvention { get { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->maxFieldAlignment; + return ((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->callingConvention; } set { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->maxFieldAlignment = value; + ((global::CppSharp.Parser.AST.FunctionType.__Internal*)__Instance)->callingConvention = value; } } - public global::CppSharp.Parser.AST.AccessSpecifier Access + public global::CppSharp.Parser.AST.ExceptionSpecType ExceptionSpecType { get { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->access; + return ((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->exceptionSpecType; } set { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->access = value; + ((global::CppSharp.Parser.AST.FunctionType.__Internal*)__Instance)->exceptionSpecType = value; } } - public global::CppSharp.Parser.AST.DeclarationContext Namespace + public uint ParametersCount { get { - global::CppSharp.Parser.AST.DeclarationContext __result0; - if (((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.DeclarationContext.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace)) - __result0 = (global::CppSharp.Parser.AST.DeclarationContext) global::CppSharp.Parser.AST.DeclarationContext.NativeToManagedMap[((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace]; - else __result0 = global::CppSharp.Parser.AST.DeclarationContext.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->_namespace = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + var __ret = __Internal.GetParametersCount((__Instance + __PointerAdjustment)); + return __ret; } } + } - public global::CppSharp.Parser.SourceLocation Location + public unsafe partial class PointerType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal { - get - { - return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->location); - } + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->location = value.__Instance; - } - } + [FieldOffset(4)] + internal byte isDependent; - public int LineNumberStart - { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->lineNumberStart; - } + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedPointee; - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->lineNumberStart = value; - } + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.PointerType.TypeModifier modifier; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11PointerTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11PointerTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); } - public int LineNumberEnd + public enum TypeModifier { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->lineNumberEnd; - } - - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->lineNumberEnd = value; - } + Value = 0, + Pointer = 1, + LVReference = 2, + RVReference = 3 } - public string Name + internal static new global::CppSharp.Parser.AST.PointerType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->name)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->name), value); - } + return new global::CppSharp.Parser.AST.PointerType(native.ToPointer(), skipVTables); } - public string USR + internal static global::CppSharp.Parser.AST.PointerType __CreateInstance(global::CppSharp.Parser.AST.PointerType.__Internal native, bool skipVTables = false) { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->USR)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + return new global::CppSharp.Parser.AST.PointerType(native, skipVTables); + } - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->USR), value); - } + private static void* __CopyValue(global::CppSharp.Parser.AST.PointerType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); + global::CppSharp.Parser.AST.PointerType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - public string DebugText + private PointerType(global::CppSharp.Parser.AST.PointerType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->debugText)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->debugText), value); - } + protected PointerType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - public bool IsIncomplete + public PointerType() + : this((void*) null) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isIncomplete != 0; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isIncomplete = (byte) (value ? 1 : 0); - } + public PointerType(global::CppSharp.Parser.AST.PointerType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public bool IsDependent + public global::CppSharp.Parser.AST.QualifiedType QualifiedPointee { get { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isDependent != 0; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->qualifiedPointee)); } set { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isDependent = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.PointerType.__Internal*)__Instance)->qualifiedPointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public bool IsImplicit + public global::CppSharp.Parser.AST.PointerType.TypeModifier Modifier { get { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isImplicit != 0; + return ((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->modifier; } set { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isImplicit = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.PointerType.__Internal*)__Instance)->modifier = value; } } + } - public bool IsInvalid + public unsafe partial class MemberPointerType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public new partial struct __Internal { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isInvalid != 0; - } + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isInvalid = (byte) (value ? 1 : 0); - } + [FieldOffset(4)] + internal byte isDependent; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17MemberPointerTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17MemberPointerTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); } - public global::CppSharp.Parser.AST.Declaration CompleteDeclaration + internal static new global::CppSharp.Parser.AST.MemberPointerType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - get - { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->completeDeclaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + return new global::CppSharp.Parser.AST.MemberPointerType(native.ToPointer(), skipVTables); } - public uint DefinitionOrder + internal static global::CppSharp.Parser.AST.MemberPointerType __CreateInstance(global::CppSharp.Parser.AST.MemberPointerType.__Internal native, bool skipVTables = false) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->definitionOrder; - } + return new global::CppSharp.Parser.AST.MemberPointerType(native, skipVTables); + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->definitionOrder = value; - } + private static void* __CopyValue(global::CppSharp.Parser.AST.MemberPointerType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); + global::CppSharp.Parser.AST.MemberPointerType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - public global::System.IntPtr OriginalPtr + private MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->originalPtr; - } + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->originalPtr = (global::System.IntPtr) value; - } + protected MemberPointerType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - public global::CppSharp.Parser.AST.RawComment Comment + public MemberPointerType() + : this((void*) null) { - get - { - global::CppSharp.Parser.AST.RawComment __result0; - if (((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.RawComment.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment)) - __result0 = (global::CppSharp.Parser.AST.RawComment) global::CppSharp.Parser.AST.RawComment.NativeToManagedMap[((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment]; - else __result0 = global::CppSharp.Parser.AST.RawComment.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment); - return __result0; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->comment = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + public MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public uint PreprocessedEntitiesCount + public global::CppSharp.Parser.AST.QualifiedType Pointee { get { - var __ret = __Internal.GetPreprocessedEntitiesCount((__Instance + __PointerAdjustment)); - return __ret; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MemberPointerType.__Internal*) __Instance)->pointee)); } - } - public uint RedeclarationsCount - { - get + set { - var __ret = __Internal.GetRedeclarationsCount((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.MemberPointerType.__Internal*)__Instance)->pointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } } - public unsafe partial class DeclarationContext : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class TypedefType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 496)] + [StructLayout(LayoutKind.Explicit, Size = 16)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - internal int maxFieldAlignment; + internal byte isDependent; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; + internal global::System.IntPtr declaration; - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); - [FieldOffset(28)] - internal int lineNumberStart; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } - [FieldOffset(32)] - internal int lineNumberEnd; + internal static new global::CppSharp.Parser.AST.TypedefType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TypedefType(native.ToPointer(), skipVTables); + } - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + internal static global::CppSharp.Parser.AST.TypedefType __CreateInstance(global::CppSharp.Parser.AST.TypedefType.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TypedefType(native, skipVTables); + } - [FieldOffset(72)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); + global::CppSharp.Parser.AST.TypedefType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(104)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + private TypedefType(global::CppSharp.Parser.AST.TypedefType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(136)] - internal byte isIncomplete; + protected TypedefType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(137)] - internal byte isDependent; + public TypedefType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [FieldOffset(138)] - internal byte isImplicit; + public TypedefType(global::CppSharp.Parser.AST.TypedefType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(139)] - internal byte isInvalid; + public global::CppSharp.Parser.AST.TypedefNameDecl Declaration + { + get + { + global::CppSharp.Parser.AST.TypedefNameDecl __result0; + if (((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TypedefNameDecl.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration)) + __result0 = (global::CppSharp.Parser.AST.TypedefNameDecl) global::CppSharp.Parser.AST.TypedefNameDecl.NativeToManagedMap[((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration]; + else __result0 = global::CppSharp.Parser.AST.TypedefNameDecl.__CreateInstance(((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration); + return __result0; + } - [FieldOffset(144)] - internal global::System.IntPtr completeDeclaration; + set + { + ((global::CppSharp.Parser.AST.TypedefType.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } - [FieldOffset(152)] - internal uint definitionOrder; + public unsafe partial class AttributedType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + [FieldOffset(4)] + internal byte isDependent; - [FieldOffset(184)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal modified; - [FieldOffset(208)] - internal global::System.IntPtr originalPtr; + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal equivalent; - [FieldOffset(216)] - internal global::System.IntPtr comment; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14AttributedTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); - [FieldOffset(224)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14AttributedTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } - [FieldOffset(248)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; + internal static new global::CppSharp.Parser.AST.AttributedType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AttributedType(native.ToPointer(), skipVTables); + } - [FieldOffset(272)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; + internal static global::CppSharp.Parser.AST.AttributedType __CreateInstance(global::CppSharp.Parser.AST.AttributedType.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AttributedType(native, skipVTables); + } - [FieldOffset(296)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; + private static void* __CopyValue(global::CppSharp.Parser.AST.AttributedType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + global::CppSharp.Parser.AST.AttributedType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(320)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; + private AttributedType(global::CppSharp.Parser.AST.AttributedType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(344)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; + protected AttributedType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(368)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; + public AttributedType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [FieldOffset(392)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; + public AttributedType(global::CppSharp.Parser.AST.AttributedType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(416)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; + public global::CppSharp.Parser.AST.QualifiedType Modified + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.AttributedType.__Internal*) __Instance)->modified)); + } - [FieldOffset(440)] - internal global::Std.Map.__Internalc__N_std_S_map____N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + set + { + ((global::CppSharp.Parser.AST.AttributedType.__Internal*)__Instance)->modified = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } - [FieldOffset(488)] - internal byte isAnonymous; + public global::CppSharp.Parser.AST.QualifiedType Equivalent + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.AttributedType.__Internal*) __Instance)->equivalent)); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContextC2ENS1_15DeclarationKindE")] - internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.DeclarationKind kind); + set + { + ((global::CppSharp.Parser.AST.AttributedType.__Internal*)__Instance)->equivalent = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContextC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + public unsafe partial class DecayedType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContextD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); + [FieldOffset(4)] + internal byte isDependent; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext13getNamespacesEj")] - internal static extern global::System.IntPtr GetNamespaces(global::System.IntPtr __instance, uint i); + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal decayed; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext13addNamespacesERPNS1_9NamespaceE")] - internal static extern void AddNamespaces(global::System.IntPtr __instance, global::System.IntPtr s); + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal original; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext15clearNamespacesEv")] - internal static extern void ClearNamespaces(global::System.IntPtr __instance); + [FieldOffset(40)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext8getEnumsEj")] - internal static extern global::System.IntPtr GetEnums(global::System.IntPtr __instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST11DecayedTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext8addEnumsERPNS1_11EnumerationE")] - internal static extern void AddEnums(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10clearEnumsEv")] - internal static extern void ClearEnums(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12getFunctionsEj")] - internal static extern global::System.IntPtr GetFunctions(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12addFunctionsERPNS1_8FunctionE")] - internal static extern void AddFunctions(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14clearFunctionsEv")] - internal static extern void ClearFunctions(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10getClassesEj")] - internal static extern global::System.IntPtr GetClasses(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10addClassesERPNS1_5ClassE")] - internal static extern void AddClasses(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12clearClassesEv")] - internal static extern void ClearClasses(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12getTemplatesEj")] - internal static extern global::System.IntPtr GetTemplates(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12addTemplatesERPNS1_8TemplateE")] - internal static extern void AddTemplates(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14clearTemplatesEv")] - internal static extern void ClearTemplates(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext11getTypedefsEj")] - internal static extern global::System.IntPtr GetTypedefs(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext11addTypedefsERPNS1_11TypedefDeclE")] - internal static extern void AddTypedefs(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext13clearTypedefsEv")] - internal static extern void ClearTypedefs(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14getTypeAliasesEj")] - internal static extern global::System.IntPtr GetTypeAliases(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14addTypeAliasesERPNS1_9TypeAliasE")] - internal static extern void AddTypeAliases(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext16clearTypeAliasesEv")] - internal static extern void ClearTypeAliases(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12getVariablesEj")] - internal static extern global::System.IntPtr GetVariables(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12addVariablesERPNS1_8VariableE")] - internal static extern void AddVariables(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14clearVariablesEv")] - internal static extern void ClearVariables(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10getFriendsEj")] - internal static extern global::System.IntPtr GetFriends(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10addFriendsERPNS1_6FriendE")] - internal static extern void AddFriends(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12clearFriendsEv")] - internal static extern void ClearFriends(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext18getNamespacesCountEv")] - internal static extern uint GetNamespacesCount(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext13getEnumsCountEv")] - internal static extern uint GetEnumsCount(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext17getFunctionsCountEv")] - internal static extern uint GetFunctionsCount(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext15getClassesCountEv")] - internal static extern uint GetClassesCount(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext17getTemplatesCountEv")] - internal static extern uint GetTemplatesCount(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext16getTypedefsCountEv")] - internal static extern uint GetTypedefsCount(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext19getTypeAliasesCountEv")] - internal static extern uint GetTypeAliasesCount(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext17getVariablesCountEv")] - internal static extern uint GetVariablesCount(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext15getFriendsCountEv")] - internal static extern uint GetFriendsCount(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11DecayedTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); } - internal static new global::CppSharp.Parser.AST.DeclarationContext __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.DecayedType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.DeclarationContext(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.DecayedType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.DeclarationContext __CreateInstance(global::CppSharp.Parser.AST.DeclarationContext.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.DecayedType __CreateInstance(global::CppSharp.Parser.AST.DecayedType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.DeclarationContext(native, skipVTables); + return new global::CppSharp.Parser.AST.DecayedType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.DeclarationContext.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.DecayedType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); - global::CppSharp.Parser.AST.DeclarationContext.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); + global::CppSharp.Parser.AST.DecayedType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private DeclarationContext(global::CppSharp.Parser.AST.DeclarationContext.__Internal native, bool skipVTables = false) + private DecayedType(global::CppSharp.Parser.AST.DecayedType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected DeclarationContext(void* native, bool skipVTables = false) + protected DecayedType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -5067,19 +4607,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public DeclarationContext(global::CppSharp.Parser.AST.DeclarationKind kind) + public DecayedType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), kind); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public DeclarationContext(global::CppSharp.Parser.AST.DeclarationContext _0) + public DecayedType(global::CppSharp.Parser.AST.DecayedType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -5088,444 +4628,296 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public global::CppSharp.Parser.AST.QualifiedType Decayed { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->decayed)); + } - public global::CppSharp.Parser.AST.Namespace GetNamespaces(uint i) - { - var __ret = __Internal.GetNamespaces((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Namespace __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Namespace.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Namespace) global::CppSharp.Parser.AST.Namespace.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Namespace.__CreateInstance(__ret); - return __result0; + set + { + ((global::CppSharp.Parser.AST.DecayedType.__Internal*)__Instance)->decayed = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } - public void AddNamespaces(global::CppSharp.Parser.AST.Namespace s) + public global::CppSharp.Parser.AST.QualifiedType Original { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddNamespaces((__Instance + __PointerAdjustment), __arg0); - } + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->original)); + } - public void ClearNamespaces() - { - __Internal.ClearNamespaces((__Instance + __PointerAdjustment)); + set + { + ((global::CppSharp.Parser.AST.DecayedType.__Internal*)__Instance)->original = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } - public global::CppSharp.Parser.AST.Enumeration GetEnums(uint i) + public global::CppSharp.Parser.AST.QualifiedType Pointee { - var __ret = __Internal.GetEnums((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Enumeration __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Enumeration.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Enumeration) global::CppSharp.Parser.AST.Enumeration.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Enumeration.__CreateInstance(__ret); - return __result0; + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->pointee)); + } + + set + { + ((global::CppSharp.Parser.AST.DecayedType.__Internal*)__Instance)->pointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } + } - public void AddEnums(global::CppSharp.Parser.AST.Enumeration s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddEnums((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearEnums() - { - __Internal.ClearEnums((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.Function GetFunctions(uint i) - { - var __ret = __Internal.GetFunctions((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Function __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(__ret); - return __result0; - } - - public void AddFunctions(global::CppSharp.Parser.AST.Function s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddFunctions((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearFunctions() - { - __Internal.ClearFunctions((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.Class GetClasses(uint i) + public unsafe partial class TemplateArgument : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public partial struct __Internal { - var __ret = __Internal.GetClasses((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Class __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(__ret); - return __result0; - } + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind kind; - public void AddClasses(global::CppSharp.Parser.AST.Class s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddClasses((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; - public void ClearClasses() - { - __Internal.ClearClasses((__Instance + __PointerAdjustment)); - } + [FieldOffset(24)] + internal global::System.IntPtr declaration; - public global::CppSharp.Parser.AST.Template GetTemplates(uint i) - { - var __ret = __Internal.GetTemplates((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Template __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Template.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Template) global::CppSharp.Parser.AST.Template.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Template.__CreateInstance(__ret); - return __result0; - } + [FieldOffset(32)] + internal long integral; - public void AddTemplates(global::CppSharp.Parser.AST.Template s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddTemplates((__Instance + __PointerAdjustment), __arg0); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16TemplateArgumentC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); - public void ClearTemplates() - { - __Internal.ClearTemplates((__Instance + __PointerAdjustment)); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16TemplateArgumentC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); } - public global::CppSharp.Parser.AST.TypedefDecl GetTypedefs(uint i) + public enum ArgumentKind { - var __ret = __Internal.GetTypedefs((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.TypedefDecl __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TypedefDecl.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.TypedefDecl) global::CppSharp.Parser.AST.TypedefDecl.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.TypedefDecl.__CreateInstance(__ret); - return __result0; + Type = 0, + Declaration = 1, + NullPtr = 2, + Integral = 3, + Template = 4, + TemplateExpansion = 5, + Expression = 6, + Pack = 7 } - public void AddTypedefs(global::CppSharp.Parser.AST.TypedefDecl s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddTypedefs((__Instance + __PointerAdjustment), __arg0); - } + public global::System.IntPtr __Instance { get; protected set; } - public void ClearTypedefs() - { - __Internal.ClearTypedefs((__Instance + __PointerAdjustment)); - } + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; - public global::CppSharp.Parser.AST.TypeAlias GetTypeAliases(uint i) - { - var __ret = __Internal.GetTypeAliases((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.TypeAlias __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TypeAlias.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.TypeAlias) global::CppSharp.Parser.AST.TypeAlias.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.TypeAlias.__CreateInstance(__ret); - return __result0; - } + protected bool __ownsNativeInstance; - public void AddTypeAliases(global::CppSharp.Parser.AST.TypeAlias s) + internal static global::CppSharp.Parser.AST.TemplateArgument __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddTypeAliases((__Instance + __PointerAdjustment), __arg0); + return new global::CppSharp.Parser.AST.TemplateArgument(native.ToPointer(), skipVTables); } - public void ClearTypeAliases() + internal static global::CppSharp.Parser.AST.TemplateArgument __CreateInstance(global::CppSharp.Parser.AST.TemplateArgument.__Internal native, bool skipVTables = false) { - __Internal.ClearTypeAliases((__Instance + __PointerAdjustment)); + return new global::CppSharp.Parser.AST.TemplateArgument(native, skipVTables); } - public global::CppSharp.Parser.AST.Variable GetVariables(uint i) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateArgument.__Internal native) { - var __ret = __Internal.GetVariables((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Variable __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Variable.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Variable) global::CppSharp.Parser.AST.Variable.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Variable.__CreateInstance(__ret); - return __result0; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + *(global::CppSharp.Parser.AST.TemplateArgument.__Internal*) ret = native; + return ret.ToPointer(); } - public void AddVariables(global::CppSharp.Parser.AST.Variable s) + private TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddVariables((__Instance + __PointerAdjustment), __arg0); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; } - public void ClearVariables() + protected TemplateArgument(void* native, bool skipVTables = false) { - __Internal.ClearVariables((__Instance + __PointerAdjustment)); + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - public global::CppSharp.Parser.AST.Friend GetFriends(uint i) + public TemplateArgument() { - var __ret = __Internal.GetFriends((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Friend __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Friend.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Friend) global::CppSharp.Parser.AST.Friend.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Friend.__CreateInstance(__ret); - return __result0; + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); } - public void AddFriends(global::CppSharp.Parser.AST.Friend s) + public TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument _0) { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddFriends((__Instance + __PointerAdjustment), __arg0); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) _0.__Instance); } - public void ClearFriends() + public void Dispose() { - __Internal.ClearFriends((__Instance + __PointerAdjustment)); + Dispose(disposing: true); } - public static implicit operator global::CppSharp.Parser.AST.DeclarationContext(global::CppSharp.Parser.AST.DeclarationKind kind) + public virtual void Dispose(bool disposing) { - return new global::CppSharp.Parser.AST.DeclarationContext(kind); + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.TemplateArgument __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } - public bool IsAnonymous + public global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind Kind { get { - return ((global::CppSharp.Parser.AST.DeclarationContext.__Internal*) __Instance)->isAnonymous != 0; + return ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->kind; } set { - ((global::CppSharp.Parser.AST.DeclarationContext.__Internal*)__Instance)->isAnonymous = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->kind = value; } } - public uint NamespacesCount + public global::CppSharp.Parser.AST.QualifiedType Type { get { - var __ret = __Internal.GetNamespacesCount((__Instance + __PointerAdjustment)); - return __ret; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->type)); } - } - public uint EnumsCount - { - get + set { - var __ret = __Internal.GetEnumsCount((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public uint FunctionsCount + public global::CppSharp.Parser.AST.Declaration Declaration { get { - var __ret = __Internal.GetFunctionsCount((__Instance + __PointerAdjustment)); - return __ret; + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration); + return __result0; } - } - public uint ClassesCount - { - get + set { - var __ret = __Internal.GetClassesCount((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public uint TemplatesCount + public long Integral { get { - var __ret = __Internal.GetTemplatesCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->integral; } - } - public uint TypedefsCount - { - get - { - var __ret = __Internal.GetTypedefsCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint TypeAliasesCount - { - get - { - var __ret = __Internal.GetTypeAliasesCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint VariablesCount - { - get - { - var __ret = __Internal.GetVariablesCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint FriendsCount - { - get + set { - var __ret = __Internal.GetFriendsCount((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->integral = value; } } } - public unsafe partial class TypedefNameDecl : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class TemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 240)] + [StructLayout(LayoutKind.Explicit, Size = 56)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - internal int maxFieldAlignment; + internal byte isDependent; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; [FieldOffset(32)] - internal int lineNumberEnd; + internal global::System.IntPtr _template; [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(72)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - - [FieldOffset(104)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - - [FieldOffset(136)] - internal byte isIncomplete; - - [FieldOffset(137)] - internal byte isDependent; - - [FieldOffset(138)] - internal byte isImplicit; - - [FieldOffset(139)] - internal byte isInvalid; - - [FieldOffset(144)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(152)] - internal uint definitionOrder; - - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; - [FieldOffset(184)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); - [FieldOffset(208)] - internal global::System.IntPtr originalPtr; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - [FieldOffset(216)] - internal global::System.IntPtr comment; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); - [FieldOffset(224)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType12getArgumentsEj")] + internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TypedefNameDeclC2ENS1_15DeclarationKindE")] - internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.DeclarationKind kind); + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType12addArgumentsERNS1_16TemplateArgumentE")] + internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TypedefNameDeclC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType14clearArgumentsEv")] + internal static extern void ClearArguments(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TypedefNameDeclD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType17getArgumentsCountEv")] + internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.TypedefNameDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TemplateSpecializationType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypedefNameDecl(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TemplateSpecializationType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TypedefNameDecl __CreateInstance(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TemplateSpecializationType __CreateInstance(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypedefNameDecl(native, skipVTables); + return new global::CppSharp.Parser.AST.TemplateSpecializationType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); - global::CppSharp.Parser.AST.TypedefNameDecl.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); + global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native, bool skipVTables = false) + private TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TypedefNameDecl(void* native, bool skipVTables = false) + protected TemplateSpecializationType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -5534,19 +4926,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) + public TemplateSpecializationType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), kind); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl _0) + public TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -5559,7 +4951,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.Type __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -5568,134 +4960,145 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public static implicit operator global::CppSharp.Parser.AST.TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) { - return new global::CppSharp.Parser.AST.TypedefNameDecl(kind); + var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); + __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType + public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearArguments() + { + __Internal.ClearArguments((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Template Template { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TypedefNameDecl.__Internal*) __Instance)->qualifiedType)); + global::CppSharp.Parser.AST.Template __result0; + if (((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Template.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template)) + __result0 = (global::CppSharp.Parser.AST.Template) global::CppSharp.Parser.AST.Template.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template]; + else __result0 = global::CppSharp.Parser.AST.Template.__CreateInstance(((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template); + return __result0; } set { - ((global::CppSharp.Parser.AST.TypedefNameDecl.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*)__Instance)->_template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType Desugared + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->desugared)); + } + + set + { + ((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*)__Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public uint ArgumentsCount + { + get + { + var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class TypedefDecl : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable + public unsafe partial class DependentTemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 240)] + [StructLayout(LayoutKind.Explicit, Size = 48)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - internal int maxFieldAlignment; + internal byte isDependent; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; [FieldOffset(32)] - internal int lineNumberEnd; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; - [FieldOffset(72)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); - [FieldOffset(104)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - [FieldOffset(136)] - internal byte isIncomplete; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationTypeD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); - [FieldOffset(137)] - internal byte isDependent; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType12getArgumentsEj")] + internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); - [FieldOffset(138)] - internal byte isImplicit; - - [FieldOffset(139)] - internal byte isInvalid; - - [FieldOffset(144)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(152)] - internal uint definitionOrder; - - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(184)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - - [FieldOffset(208)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(216)] - internal global::System.IntPtr comment; - - [FieldOffset(224)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefDeclC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType12addArgumentsERNS1_16TemplateArgumentE")] + internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefDeclC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType14clearArgumentsEv")] + internal static extern void ClearArguments(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefDeclD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType17getArgumentsCountEv")] + internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.TypedefDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.DependentTemplateSpecializationType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypedefDecl(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.DependentTemplateSpecializationType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TypedefDecl __CreateInstance(global::CppSharp.Parser.AST.TypedefDecl.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.DependentTemplateSpecializationType __CreateInstance(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypedefDecl(native, skipVTables); + return new global::CppSharp.Parser.AST.DependentTemplateSpecializationType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefDecl.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); - global::CppSharp.Parser.AST.TypedefDecl.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); + global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl.__Internal native, bool skipVTables = false) + private DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TypedefDecl(void* native, bool skipVTables = false) + protected DependentTemplateSpecializationType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -5704,19 +5107,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TypedefDecl() + public DependentTemplateSpecializationType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl _0) + public DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -5729,7 +5132,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.Type __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -5737,120 +5140,114 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - } - public unsafe partial class TypeAlias : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 248)] - public new partial struct __Internal + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); + __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); + } - [FieldOffset(28)] - internal int lineNumberStart; + public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(32)] - internal int lineNumberEnd; + public void ClearArguments() + { + __Internal.ClearArguments((__Instance + __PointerAdjustment)); + } - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + public global::CppSharp.Parser.AST.QualifiedType Desugared + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal*) __Instance)->desugared)); + } - [FieldOffset(72)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + set + { + ((global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal*)__Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } - [FieldOffset(104)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + public uint ArgumentsCount + { + get + { + var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } - [FieldOffset(136)] - internal byte isIncomplete; + public unsafe partial class TemplateParameterType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; - [FieldOffset(137)] + [FieldOffset(4)] internal byte isDependent; - [FieldOffset(138)] - internal byte isImplicit; - - [FieldOffset(139)] - internal byte isInvalid; - - [FieldOffset(144)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(152)] - internal uint definitionOrder; - - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(184)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - - [FieldOffset(208)] - internal global::System.IntPtr originalPtr; + [FieldOffset(8)] + internal global::System.IntPtr parameter; - [FieldOffset(216)] - internal global::System.IntPtr comment; + [FieldOffset(16)] + internal uint depth; - [FieldOffset(224)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + [FieldOffset(20)] + internal uint index; - [FieldOffset(240)] - internal global::System.IntPtr describedAliasTemplate; + [FieldOffset(24)] + internal byte isParameterPack; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9TypeAliasC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9TypeAliasC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9TypeAliasD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.TypeAlias __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TemplateParameterType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypeAlias(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TemplateParameterType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TypeAlias __CreateInstance(global::CppSharp.Parser.AST.TypeAlias.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TemplateParameterType __CreateInstance(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypeAlias(native, skipVTables); + return new global::CppSharp.Parser.AST.TemplateParameterType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypeAlias.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); - global::CppSharp.Parser.AST.TypeAlias.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); + global::CppSharp.Parser.AST.TemplateParameterType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TypeAlias(global::CppSharp.Parser.AST.TypeAlias.__Internal native, bool skipVTables = false) + private TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TypeAlias(void* native, bool skipVTables = false) + protected TemplateParameterType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -5859,19 +5256,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TypeAlias() + public TemplateParameterType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TypeAlias(global::CppSharp.Parser.AST.TypeAlias _0) + public TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -5884,7 +5281,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.Type __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -5893,134 +5290,117 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TypeAliasTemplate DescribedAliasTemplate + public global::CppSharp.Parser.AST.TypeTemplateParameter Parameter { get { - global::CppSharp.Parser.AST.TypeAliasTemplate __result0; - if (((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TypeAliasTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate)) - __result0 = (global::CppSharp.Parser.AST.TypeAliasTemplate) global::CppSharp.Parser.AST.TypeAliasTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate]; - else __result0 = global::CppSharp.Parser.AST.TypeAliasTemplate.__CreateInstance(((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate); + global::CppSharp.Parser.AST.TypeTemplateParameter __result0; + if (((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TypeTemplateParameter.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter)) + __result0 = (global::CppSharp.Parser.AST.TypeTemplateParameter) global::CppSharp.Parser.AST.TypeTemplateParameter.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter]; + else __result0 = global::CppSharp.Parser.AST.TypeTemplateParameter.__CreateInstance(((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter); return __result0; } set { - ((global::CppSharp.Parser.AST.TypeAlias.__Internal*)__Instance)->describedAliasTemplate = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->parameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - } - public unsafe partial class Friend : global::CppSharp.Parser.AST.Declaration, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 232)] - public new partial struct __Internal + public uint Depth { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + get + { + return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->depth; + } - [FieldOffset(4)] - internal int maxFieldAlignment; + set + { + ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->depth = value; + } + } - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + public uint Index + { + get + { + return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->index; + } - [FieldOffset(16)] - internal global::System.IntPtr _namespace; + set + { + ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->index = value; + } + } - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; - - [FieldOffset(32)] - internal int lineNumberEnd; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(72)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + public bool IsParameterPack + { + get + { + return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->isParameterPack != 0; + } - [FieldOffset(104)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + set + { + ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->isParameterPack = (byte) (value ? 1 : 0); + } + } + } - [FieldOffset(136)] - internal byte isIncomplete; + public unsafe partial class TemplateParameterSubstitutionType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; - [FieldOffset(137)] + [FieldOffset(4)] internal byte isDependent; - [FieldOffset(138)] - internal byte isImplicit; - - [FieldOffset(139)] - internal byte isInvalid; - - [FieldOffset(144)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(152)] - internal uint definitionOrder; - - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(184)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - - [FieldOffset(208)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(216)] - internal global::System.IntPtr comment; + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal replacement; - [FieldOffset(224)] - internal global::System.IntPtr declaration; + [FieldOffset(24)] + internal global::System.IntPtr replacedParameter; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6FriendC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST33TemplateParameterSubstitutionTypeC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6FriendC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST33TemplateParameterSubstitutionTypeC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6FriendD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.Friend __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Friend(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Friend __CreateInstance(global::CppSharp.Parser.AST.Friend.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TemplateParameterSubstitutionType __CreateInstance(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Friend(native, skipVTables); + return new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Friend.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); - global::CppSharp.Parser.AST.Friend.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); + global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Friend(global::CppSharp.Parser.AST.Friend.__Internal native, bool skipVTables = false) + private TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Friend(void* native, bool skipVTables = false) + protected TemplateParameterSubstitutionType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -6029,19 +5409,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Friend() + public TemplateParameterSubstitutionType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public Friend(global::CppSharp.Parser.AST.Friend _0) + public TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -6050,123 +5430,112 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public global::CppSharp.Parser.AST.QualifiedType Replacement { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacement)); + } + + set + { + ((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*)__Instance)->replacement = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } - public global::CppSharp.Parser.AST.Declaration Declaration + public global::CppSharp.Parser.AST.TemplateParameterType ReplacedParameter { get { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration); + global::CppSharp.Parser.AST.TemplateParameterType __result0; + if (((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TemplateParameterType.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter)) + __result0 = (global::CppSharp.Parser.AST.TemplateParameterType) global::CppSharp.Parser.AST.TemplateParameterType.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter]; + else __result0 = global::CppSharp.Parser.AST.TemplateParameterType.__CreateInstance(((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter); return __result0; } set { - ((global::CppSharp.Parser.AST.Friend.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*)__Instance)->replacedParameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class Statement : IDisposable + public unsafe partial class InjectedClassNameType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 48)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.StatementClass _class; + internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + internal byte isDependent; [FieldOffset(8)] - internal global::System.IntPtr decl; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal injectedSpecializationType; - [FieldOffset(16)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; + [FieldOffset(24)] + internal global::System.IntPtr _class; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9StatementC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_14StatementClassEPNS1_11DeclarationE")] - internal static extern void ctor(global::System.IntPtr __instance, global::System.IntPtr str, global::CppSharp.Parser.AST.StatementClass Class, global::System.IntPtr decl); + EntryPoint="_ZN8CppSharp9CppParser3AST21InjectedClassNameTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9StatementC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST21InjectedClassNameTypeC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9StatementD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); } - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.Statement __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.InjectedClassNameType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Statement(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.InjectedClassNameType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Statement __CreateInstance(global::CppSharp.Parser.AST.Statement.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.InjectedClassNameType __CreateInstance(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Statement(native, skipVTables); + return new global::CppSharp.Parser.AST.InjectedClassNameType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Statement.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Statement.__Internal)); - global::CppSharp.Parser.AST.Statement.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); + global::CppSharp.Parser.AST.InjectedClassNameType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Statement(global::CppSharp.Parser.AST.Statement.__Internal native, bool skipVTables = false) + private InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Statement(void* native, bool skipVTables = false) + protected InjectedClassNameType(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public Statement(string str, global::CppSharp.Parser.AST.StatementClass Class, global::CppSharp.Parser.AST.Declaration decl) + public InjectedClassNameType() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Statement.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, str); - var __arg0 = __basicString0.__Instance; - var __arg2 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; - __Internal.ctor((__Instance + __PointerAdjustment), __arg0, Class, __arg2); - __basicString0.Dispose(false); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public Statement(global::CppSharp.Parser.AST.Statement _0) + public InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Statement.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -6175,127 +5544,96 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Statement __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public global::CppSharp.Parser.AST.StatementClass Class + public global::CppSharp.Parser.AST.QualifiedType InjectedSpecializationType { get { - return ((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->_class; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->injectedSpecializationType)); } set { - ((global::CppSharp.Parser.AST.Statement.__Internal*)__Instance)->_class = value; + ((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*)__Instance)->injectedSpecializationType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public global::CppSharp.Parser.AST.Declaration Decl + public global::CppSharp.Parser.AST.Class Class { get { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl); + global::CppSharp.Parser.AST.Class __result0; + if (((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class)) + __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class]; + else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class); return __result0; } set { - ((global::CppSharp.Parser.AST.Statement.__Internal*)__Instance)->decl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - - public string String - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->@string)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Statement.__Internal*)__Instance)->@string), value); + ((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*)__Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class Expression : global::CppSharp.Parser.AST.Statement, IDisposable + public unsafe partial class DependentNameType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 56)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.StatementClass _class; + internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + internal byte isDependent; [FieldOffset(8)] - internal global::System.IntPtr decl; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifier; - [FieldOffset(16)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; + [FieldOffset(24)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C identifier; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ExpressionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_14StatementClassEPNS1_11DeclarationE")] - internal static extern void ctor(global::System.IntPtr __instance, global::System.IntPtr str, global::CppSharp.Parser.AST.StatementClass Class, global::System.IntPtr decl); + EntryPoint="_ZN8CppSharp9CppParser3AST17DependentNameTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ExpressionC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST17DependentNameTypeC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ExpressionD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST17DependentNameTypeD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.Expression __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.DependentNameType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Expression(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.DependentNameType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Expression __CreateInstance(global::CppSharp.Parser.AST.Expression.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.DependentNameType __CreateInstance(global::CppSharp.Parser.AST.DependentNameType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Expression(native, skipVTables); + return new global::CppSharp.Parser.AST.DependentNameType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Expression.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.DependentNameType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expression.__Internal)); - global::CppSharp.Parser.AST.Expression.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); + global::CppSharp.Parser.AST.DependentNameType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Expression(global::CppSharp.Parser.AST.Expression.__Internal native, bool skipVTables = false) + private DependentNameType(global::CppSharp.Parser.AST.DependentNameType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Expression(void* native, bool skipVTables = false) + protected DependentNameType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -6304,24 +5642,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Expression(string str, global::CppSharp.Parser.AST.StatementClass Class, global::CppSharp.Parser.AST.Declaration decl) + public DependentNameType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expression.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, str); - var __arg0 = __basicString0.__Instance; - var __arg2 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; - __Internal.ctor((__Instance + __PointerAdjustment), __arg0, Class, __arg2); - __basicString0.Dispose(false); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public Expression(global::CppSharp.Parser.AST.Expression _0) + public DependentNameType(global::CppSharp.Parser.AST.DependentNameType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expression.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -6334,7 +5667,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Statement __dummy; + global::CppSharp.Parser.AST.Type __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -6342,72 +5675,84 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - } - public unsafe partial class BinaryOperator : global::CppSharp.Parser.AST.Expression, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 96)] - public new partial struct __Internal + public global::CppSharp.Parser.AST.QualifiedType Qualifier { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.StatementClass _class; + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentNameType.__Internal*) __Instance)->qualifier)); + } - [FieldOffset(8)] - internal global::System.IntPtr decl; + set + { + ((global::CppSharp.Parser.AST.DependentNameType.__Internal*)__Instance)->qualifier = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } - [FieldOffset(16)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; + public string Identifier + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentNameType.__Internal*) __Instance)->identifier)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - [FieldOffset(48)] - internal global::System.IntPtr LHS; + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentNameType.__Internal*)__Instance)->identifier), value); + } + } + } - [FieldOffset(56)] - internal global::System.IntPtr RHS; + public unsafe partial class PackExpansionType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 8)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; - [FieldOffset(64)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C opcodeStr; + [FieldOffset(4)] + internal byte isDependent; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperatorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPNS1_10ExpressionESC_SA_")] - internal static extern void ctor(global::System.IntPtr __instance, global::System.IntPtr str, global::System.IntPtr lhs, global::System.IntPtr rhs, global::System.IntPtr opcodeStr); + EntryPoint="_ZN8CppSharp9CppParser3AST17PackExpansionTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperatorC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST17PackExpansionTypeC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperatorD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.BinaryOperator __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.PackExpansionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BinaryOperator(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.PackExpansionType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.BinaryOperator __CreateInstance(global::CppSharp.Parser.AST.BinaryOperator.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.PackExpansionType __CreateInstance(global::CppSharp.Parser.AST.PackExpansionType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BinaryOperator(native, skipVTables); + return new global::CppSharp.Parser.AST.PackExpansionType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.BinaryOperator.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.PackExpansionType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); - global::CppSharp.Parser.AST.BinaryOperator.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); + global::CppSharp.Parser.AST.PackExpansionType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private BinaryOperator(global::CppSharp.Parser.AST.BinaryOperator.__Internal native, bool skipVTables = false) + private PackExpansionType(global::CppSharp.Parser.AST.PackExpansionType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected BinaryOperator(void* native, bool skipVTables = false) + protected PackExpansionType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -6416,29 +5761,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public BinaryOperator(string str, global::CppSharp.Parser.AST.Expression lhs, global::CppSharp.Parser.AST.Expression rhs, string opcodeStr) + public PackExpansionType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, str); - var __arg0 = __basicString0.__Instance; - var __arg1 = ReferenceEquals(lhs, null) ? global::System.IntPtr.Zero : lhs.__Instance; - var __arg2 = ReferenceEquals(rhs, null) ? global::System.IntPtr.Zero : rhs.__Instance; - var __basicString3 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString3, opcodeStr); - var __arg3 = __basicString3.__Instance; - __Internal.ctor((__Instance + __PointerAdjustment), __arg0, __arg1, __arg2, __arg3); - __basicString0.Dispose(false); - __basicString3.Dispose(false); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public BinaryOperator(global::CppSharp.Parser.AST.BinaryOperator _0) + public PackExpansionType(global::CppSharp.Parser.AST.PackExpansionType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -6446,151 +5781,170 @@ namespace CppSharp var __arg0 = _0.__Instance; __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } + } - public override void Dispose(bool disposing) + public unsafe partial class UnaryTransformType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct __Internal { - if (__Instance == IntPtr.Zero) + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + internal byte isDependent; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal baseType; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18UnaryTransformTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18UnaryTransformTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.UnaryTransformType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.UnaryTransformType(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.UnaryTransformType __CreateInstance(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.UnaryTransformType(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); + global::CppSharp.Parser.AST.UnaryTransformType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected UnaryTransformType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) return; - global::CppSharp.Parser.AST.Statement __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + __Instance = new global::System.IntPtr(native); } - public global::CppSharp.Parser.AST.Expression LHS + public UnaryTransformType() + : this((void*) null) { - get - { - global::CppSharp.Parser.AST.Expression __result0; - if (((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS)) - __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS]; - else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS); - return __result0; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - set - { - ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->LHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + public UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.Expression RHS + public global::CppSharp.Parser.AST.QualifiedType Desugared { get { - global::CppSharp.Parser.AST.Expression __result0; - if (((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS)) - __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS]; - else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS); - return __result0; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*) __Instance)->desugared)); } set { - ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->RHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*)__Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public string OpcodeStr + public global::CppSharp.Parser.AST.QualifiedType BaseType { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->opcodeStr)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*) __Instance)->baseType)); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->opcodeStr), value); + ((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*)__Instance)->baseType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } } - public unsafe partial class CallExpr : global::CppSharp.Parser.AST.Expression, IDisposable + public unsafe partial class VectorType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 72)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.StatementClass _class; + internal global::CppSharp.Parser.AST.TypeKind kind; - [FieldOffset(8)] - internal global::System.IntPtr decl; + [FieldOffset(4)] + internal byte isDependent; - [FieldOffset(16)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal elementType; - [FieldOffset(48)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expression___N_std_S_allocator__S0_ Arguments; + [FieldOffset(24)] + internal uint numElements; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExprC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPNS1_11DeclarationE")] - internal static extern void ctor(global::System.IntPtr __instance, global::System.IntPtr str, global::System.IntPtr decl); + EntryPoint="_ZN8CppSharp9CppParser3AST10VectorTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExprC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST10VectorTypeC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExprD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr12getArgumentsEj")] - internal static extern global::System.IntPtr GetArguments(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr12addArgumentsERPNS1_10ExpressionE")] - internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr14clearArgumentsEv")] - internal static extern void ClearArguments(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr17getArgumentsCountEv")] - internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.CallExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.VectorType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.CallExpr(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.VectorType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.CallExpr __CreateInstance(global::CppSharp.Parser.AST.CallExpr.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VectorType __CreateInstance(global::CppSharp.Parser.AST.VectorType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.CallExpr(native, skipVTables); + return new global::CppSharp.Parser.AST.VectorType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.CallExpr.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VectorType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); - global::CppSharp.Parser.AST.CallExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); + global::CppSharp.Parser.AST.VectorType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private CallExpr(global::CppSharp.Parser.AST.CallExpr.__Internal native, bool skipVTables = false) + private VectorType(global::CppSharp.Parser.AST.VectorType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected CallExpr(void* native, bool skipVTables = false) + protected VectorType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -6599,24 +5953,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public CallExpr(string str, global::CppSharp.Parser.AST.Declaration decl) + public VectorType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, str); - var __arg0 = __basicString0.__Instance; - var __arg1 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; - __Internal.ctor((__Instance + __PointerAdjustment), __arg0, __arg1); - __basicString0.Dispose(false); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public CallExpr(global::CppSharp.Parser.AST.CallExpr _0) + public VectorType(global::CppSharp.Parser.AST.VectorType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -6625,131 +5974,83 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Statement __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public global::CppSharp.Parser.AST.Expression GetArguments(uint i) - { - var __ret = __Internal.GetArguments((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Expression __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(__ret); - return __result0; - } - - public void AddArguments(global::CppSharp.Parser.AST.Expression s) + public global::CppSharp.Parser.AST.QualifiedType ElementType { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); - } + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->elementType)); + } - public void ClearArguments() - { - __Internal.ClearArguments((__Instance + __PointerAdjustment)); + set + { + ((global::CppSharp.Parser.AST.VectorType.__Internal*)__Instance)->elementType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } - public uint ArgumentsCount + public uint NumElements { get { - var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->numElements; + } + + set + { + ((global::CppSharp.Parser.AST.VectorType.__Internal*)__Instance)->numElements = value; } } } - public unsafe partial class CXXConstructExpr : global::CppSharp.Parser.AST.Expression, IDisposable + public unsafe partial class BuiltinType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 72)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.StatementClass _class; - - [FieldOffset(8)] - internal global::System.IntPtr decl; + internal global::CppSharp.Parser.AST.TypeKind kind; - [FieldOffset(16)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; + [FieldOffset(4)] + internal byte isDependent; - [FieldOffset(48)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expression___N_std_S_allocator__S0_ Arguments; + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.PrimitiveType type; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExprC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPNS1_11DeclarationE")] - internal static extern void ctor(global::System.IntPtr __instance, global::System.IntPtr str, global::System.IntPtr decl); + EntryPoint="_ZN8CppSharp9CppParser3AST11BuiltinTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExprC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST11BuiltinTypeC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExprD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr12getArgumentsEj")] - internal static extern global::System.IntPtr GetArguments(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr12addArgumentsERPNS1_10ExpressionE")] - internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr14clearArgumentsEv")] - internal static extern void ClearArguments(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr17getArgumentsCountEv")] - internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.CXXConstructExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.BuiltinType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.CXXConstructExpr(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.BuiltinType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.CXXConstructExpr __CreateInstance(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.BuiltinType __CreateInstance(global::CppSharp.Parser.AST.BuiltinType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.CXXConstructExpr(native, skipVTables); + return new global::CppSharp.Parser.AST.BuiltinType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.BuiltinType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); - global::CppSharp.Parser.AST.CXXConstructExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); + global::CppSharp.Parser.AST.BuiltinType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private CXXConstructExpr(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native, bool skipVTables = false) + private BuiltinType(global::CppSharp.Parser.AST.BuiltinType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected CXXConstructExpr(void* native, bool skipVTables = false) + protected BuiltinType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -6758,24 +6059,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public CXXConstructExpr(string str, global::CppSharp.Parser.AST.Declaration decl) + public BuiltinType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, str); - var __arg0 = __basicString0.__Instance; - var __arg1 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; - __Internal.ctor((__Instance + __PointerAdjustment), __arg0, __arg1); - __basicString0.Dispose(false); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public CXXConstructExpr(global::CppSharp.Parser.AST.CXXConstructExpr _0) + public BuiltinType(global::CppSharp.Parser.AST.BuiltinType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -6784,291 +6080,247 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Statement __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public global::CppSharp.Parser.AST.Expression GetArguments(uint i) - { - var __ret = __Internal.GetArguments((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Expression __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(__ret); - return __result0; - } - - public void AddArguments(global::CppSharp.Parser.AST.Expression s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearArguments() - { - __Internal.ClearArguments((__Instance + __PointerAdjustment)); - } - - public uint ArgumentsCount + public global::CppSharp.Parser.AST.PrimitiveType Type { get { - var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.BuiltinType.__Internal*) __Instance)->type; + } + + set + { + ((global::CppSharp.Parser.AST.BuiltinType.__Internal*)__Instance)->type = value; } } } + } + } +} - public unsafe partial class Parameter : global::CppSharp.Parser.AST.Declaration, IDisposable +namespace CppSharp +{ + namespace Parser + { + namespace AST + { + public enum DeclarationKind { - [StructLayout(LayoutKind.Explicit, Size = 256)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; - - [FieldOffset(32)] - internal int lineNumberEnd; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(72)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - - [FieldOffset(104)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - - [FieldOffset(136)] - internal byte isIncomplete; - - [FieldOffset(137)] - internal byte isDependent; - - [FieldOffset(138)] - internal byte isImplicit; - - [FieldOffset(139)] - internal byte isInvalid; + DeclarationContext = 0, + Typedef = 1, + TypeAlias = 2, + Parameter = 3, + Function = 4, + Method = 5, + Enumeration = 6, + EnumerationItem = 7, + Variable = 8, + Field = 9, + AccessSpecifier = 10, + Class = 11, + Template = 12, + TypeAliasTemplate = 13, + ClassTemplate = 14, + ClassTemplateSpecialization = 15, + ClassTemplatePartialSpecialization = 16, + FunctionTemplate = 17, + Namespace = 18, + PreprocessedEntity = 19, + MacroDefinition = 20, + MacroExpansion = 21, + TranslationUnit = 22, + Friend = 23, + TemplateTemplateParm = 24, + TemplateTypeParm = 25, + NonTypeTemplateParm = 26, + VarTemplate = 27, + VarTemplateSpecialization = 28, + VarTemplatePartialSpecialization = 29 + } - [FieldOffset(144)] - internal global::System.IntPtr completeDeclaration; + public enum AccessSpecifier + { + Private = 0, + Protected = 1, + Public = 2 + } - [FieldOffset(152)] - internal uint definitionOrder; + public enum MacroLocation + { + Unknown = 0, + ClassHead = 1, + ClassBody = 2, + FunctionHead = 3, + FunctionParameters = 4, + FunctionBody = 5 + } - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + public enum FriendKind + { + None = 0, + Declared = 1, + Undeclared = 2 + } - [FieldOffset(184)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + public enum CXXOperatorKind + { + None = 0, + New = 1, + Delete = 2, + ArrayNew = 3, + ArrayDelete = 4, + Plus = 5, + Minus = 6, + Star = 7, + Slash = 8, + Percent = 9, + Caret = 10, + Amp = 11, + Pipe = 12, + Tilde = 13, + Exclaim = 14, + Equal = 15, + Less = 16, + Greater = 17, + PlusEqual = 18, + MinusEqual = 19, + StarEqual = 20, + SlashEqual = 21, + PercentEqual = 22, + CaretEqual = 23, + AmpEqual = 24, + PipeEqual = 25, + LessLess = 26, + GreaterGreater = 27, + LessLessEqual = 28, + GreaterGreaterEqual = 29, + EqualEqual = 30, + ExclaimEqual = 31, + LessEqual = 32, + GreaterEqual = 33, + Spaceship = 34, + AmpAmp = 35, + PipePipe = 36, + PlusPlus = 37, + MinusMinus = 38, + Comma = 39, + ArrowStar = 40, + Arrow = 41, + Call = 42, + Subscript = 43, + Conditional = 44, + Coawait = 45 + } - [FieldOffset(208)] - internal global::System.IntPtr originalPtr; + public enum StatementClassObsolete + { + Any = 0, + BinaryOperator = 1, + CallExprClass = 2, + DeclRefExprClass = 3, + CXXConstructExprClass = 4, + CXXOperatorCallExpr = 5, + ImplicitCastExpr = 6, + ExplicitCastExpr = 7 + } - [FieldOffset(216)] - internal global::System.IntPtr comment; + public enum TemplateSpecializationKind + { + Undeclared = 0, + ImplicitInstantiation = 1, + ExplicitSpecialization = 2, + ExplicitInstantiationDeclaration = 3, + ExplicitInstantiationDefinition = 4 + } - [FieldOffset(224)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + public enum CXXMethodKind + { + Normal = 0, + Constructor = 1, + Destructor = 2, + Conversion = 3, + Operator = 4, + UsingDirective = 5 + } - [FieldOffset(240)] - internal byte isIndirect; + public enum RefQualifierKind + { + None = 0, + LValue = 1, + RValue = 2 + } - [FieldOffset(241)] - internal byte hasDefaultValue; + public enum CppAbi + { + Itanium = 0, + Microsoft = 1, + ARM = 2, + iOS = 3, + iOS64 = 4 + } - [FieldOffset(244)] - internal uint index; + public enum VTableComponentKind + { + VCallOffset = 0, + VBaseOffset = 1, + OffsetToTop = 2, + RTTI = 3, + FunctionPointer = 4, + CompleteDtorPointer = 5, + DeletingDtorPointer = 6, + UnusedFunctionPointer = 7 + } - [FieldOffset(248)] - internal global::System.IntPtr defaultArgument; + public unsafe partial class Expr + { + [StructLayout(LayoutKind.Explicit, Size = 0)] + public partial struct __Internal + { + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9ParameterC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + public global::System.IntPtr __Instance { get; protected set; } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9ParameterC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9ParameterD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); - } + protected bool __ownsNativeInstance; - internal static new global::CppSharp.Parser.AST.Parameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Expr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Parameter(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Expr(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Parameter __CreateInstance(global::CppSharp.Parser.AST.Parameter.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Expr __CreateInstance(global::CppSharp.Parser.AST.Expr.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Parameter(native, skipVTables); + return new global::CppSharp.Parser.AST.Expr(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Parameter.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Expr.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); - global::CppSharp.Parser.AST.Parameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.__Internal)); + *(global::CppSharp.Parser.AST.Expr.__Internal*) ret = native; return ret.ToPointer(); } - private Parameter(global::CppSharp.Parser.AST.Parameter.__Internal native, bool skipVTables = false) + private Expr(global::CppSharp.Parser.AST.Expr.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Parameter(void* native, bool skipVTables = false) - : base((void*) null) + protected Expr(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - - public Parameter() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } - - public Parameter(global::CppSharp.Parser.AST.Parameter _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } - - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public global::CppSharp.Parser.AST.QualifiedType QualifiedType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->qualifiedType)); - } - - set - { - ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } - - public bool IsIndirect - { - get - { - return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->isIndirect != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->isIndirect = (byte) (value ? 1 : 0); - } - } - - public bool HasDefaultValue - { - get - { - return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->hasDefaultValue != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->hasDefaultValue = (byte) (value ? 1 : 0); - } - } - - public uint Index - { - get - { - return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->index; - } - - set - { - ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->index = value; - } - } - - public global::CppSharp.Parser.AST.Expression DefaultArgument - { - get - { - global::CppSharp.Parser.AST.Expression __result0; - if (((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument)) - __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument]; - else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->defaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } } - public unsafe partial class Function : global::CppSharp.Parser.AST.DeclarationContext, IDisposable + public unsafe partial class Declaration : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 688)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 224)] + public partial struct __Internal { [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; @@ -7130,178 +6382,112 @@ namespace CppSharp [FieldOffset(216)] internal global::System.IntPtr comment; - [FieldOffset(224)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; - - [FieldOffset(248)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; - - [FieldOffset(272)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; - - [FieldOffset(296)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; - - [FieldOffset(320)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; - - [FieldOffset(344)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; - - [FieldOffset(368)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; - - [FieldOffset(392)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; - - [FieldOffset(416)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; - - [FieldOffset(440)] - internal global::Std.Map.__Internalc__N_std_S_map____N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; - - [FieldOffset(488)] - internal byte isAnonymous; - - [FieldOffset(496)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; - - [FieldOffset(512)] - internal byte isReturnIndirect; - - [FieldOffset(513)] - internal byte hasThisReturn; - - [FieldOffset(514)] - internal byte isConstExpr; - - [FieldOffset(515)] - internal byte isVariadic; - - [FieldOffset(516)] - internal byte isInline; - - [FieldOffset(517)] - internal byte isPure; - - [FieldOffset(518)] - internal byte isDeleted; - - [FieldOffset(519)] - internal byte isDefaulted; - - [FieldOffset(520)] - internal global::CppSharp.Parser.AST.FriendKind friendKind; - - [FieldOffset(524)] - internal global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; - - [FieldOffset(528)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; - - [FieldOffset(560)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C signature; - - [FieldOffset(592)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C body; - - [FieldOffset(624)] - internal global::CppSharp.Parser.AST.CallingConvention callingConvention; - - [FieldOffset(632)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_S_allocator__S0_ Parameters; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11DeclarationC2ENS1_15DeclarationKindE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.DeclarationKind kind); - [FieldOffset(656)] - internal global::System.IntPtr specializationInfo; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11DeclarationC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - [FieldOffset(664)] - internal global::System.IntPtr instantiatedFrom; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11DeclarationD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); - [FieldOffset(672)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration23getPreprocessedEntitiesEj")] + internal static extern global::System.IntPtr GetPreprocessedEntities(global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8FunctionC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration23addPreprocessedEntitiesERPNS1_18PreprocessedEntityE")] + internal static extern void AddPreprocessedEntities(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8FunctionC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration25clearPreprocessedEntitiesEv")] + internal static extern void ClearPreprocessedEntities(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8FunctionD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration17getRedeclarationsEj")] + internal static extern global::System.IntPtr GetRedeclarations(global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Function13getParametersEj")] - internal static extern global::System.IntPtr GetParameters(global::System.IntPtr __instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration17addRedeclarationsERPS2_")] + internal static extern void AddRedeclarations(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Function13addParametersERPNS1_9ParameterE")] - internal static extern void AddParameters(global::System.IntPtr __instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration19clearRedeclarationsEv")] + internal static extern void ClearRedeclarations(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Function15clearParametersEv")] - internal static extern void ClearParameters(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration28getPreprocessedEntitiesCountEv")] + internal static extern uint GetPreprocessedEntitiesCount(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Function18getParametersCountEv")] - internal static extern uint GetParametersCount(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration22getRedeclarationsCountEv")] + internal static extern uint GetRedeclarationsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.Function __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.Declaration __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Function(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Declaration(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Function __CreateInstance(global::CppSharp.Parser.AST.Function.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Declaration __CreateInstance(global::CppSharp.Parser.AST.Declaration.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Function(native, skipVTables); + return new global::CppSharp.Parser.AST.Declaration(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Function.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Declaration.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); - global::CppSharp.Parser.AST.Function.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); + global::CppSharp.Parser.AST.Declaration.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Function(global::CppSharp.Parser.AST.Function.__Internal native, bool skipVTables = false) + private Declaration(global::CppSharp.Parser.AST.Declaration.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Function(void* native, bool skipVTables = false) - : base((void*) null) + protected Declaration(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public Function() - : this((void*) null) + public Declaration(global::CppSharp.Parser.AST.DeclarationKind kind) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + __Internal.ctor((__Instance + __PointerAdjustment), kind); } - public Function(global::CppSharp.Parser.AST.Function _0) - : this((void*) null) + public Declaration(global::CppSharp.Parser.AST.Declaration _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -7310,7 +6496,12 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; @@ -7323,296 +6514,339 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.Parameter GetParameters(uint i) + public global::CppSharp.Parser.AST.PreprocessedEntity GetPreprocessedEntities(uint i) { - var __ret = __Internal.GetParameters((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Parameter __result0; + var __ret = __Internal.GetPreprocessedEntities((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.PreprocessedEntity __result0; if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Parameter.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Parameter) global::CppSharp.Parser.AST.Parameter.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Parameter.__CreateInstance(__ret); + else if (global::CppSharp.Parser.AST.PreprocessedEntity.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.PreprocessedEntity) global::CppSharp.Parser.AST.PreprocessedEntity.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.PreprocessedEntity.__CreateInstance(__ret); return __result0; } - public void AddParameters(global::CppSharp.Parser.AST.Parameter s) + public void AddPreprocessedEntities(global::CppSharp.Parser.AST.PreprocessedEntity s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddParameters((__Instance + __PointerAdjustment), __arg0); + __Internal.AddPreprocessedEntities((__Instance + __PointerAdjustment), __arg0); } - public void ClearParameters() + public void ClearPreprocessedEntities() { - __Internal.ClearParameters((__Instance + __PointerAdjustment)); + __Internal.ClearPreprocessedEntities((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.QualifiedType ReturnType + public global::CppSharp.Parser.AST.Declaration GetRedeclarations(uint i) + { + var __ret = __Internal.GetRedeclarations((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Declaration __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(__ret); + return __result0; + } + + public void AddRedeclarations(global::CppSharp.Parser.AST.Declaration s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddRedeclarations((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearRedeclarations() + { + __Internal.ClearRedeclarations((__Instance + __PointerAdjustment)); + } + + public static implicit operator global::CppSharp.Parser.AST.Declaration(global::CppSharp.Parser.AST.DeclarationKind kind) + { + return new global::CppSharp.Parser.AST.Declaration(kind); + } + + public global::CppSharp.Parser.AST.DeclarationKind Kind { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->returnType)); + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->kind; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->returnType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->kind = value; } } - public bool IsReturnIndirect + public int MaxFieldAlignment { get { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isReturnIndirect != 0; + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->maxFieldAlignment; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isReturnIndirect = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->maxFieldAlignment = value; } } - public bool HasThisReturn + public global::CppSharp.Parser.AST.AccessSpecifier Access { get { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->hasThisReturn != 0; + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->access; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->hasThisReturn = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->access = value; } } - public bool IsConstExpr + public global::CppSharp.Parser.AST.DeclarationContext Namespace { get { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isConstExpr != 0; + global::CppSharp.Parser.AST.DeclarationContext __result0; + if (((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.DeclarationContext.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace)) + __result0 = (global::CppSharp.Parser.AST.DeclarationContext) global::CppSharp.Parser.AST.DeclarationContext.NativeToManagedMap[((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace]; + else __result0 = global::CppSharp.Parser.AST.DeclarationContext.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace); + return __result0; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isConstExpr = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->_namespace = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public bool IsVariadic + public global::CppSharp.Parser.SourceLocation Location { get { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isVariadic != 0; + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->location); } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isVariadic = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->location = value.__Instance; } } - public bool IsInline + public int LineNumberStart { get { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isInline != 0; + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->lineNumberStart; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isInline = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->lineNumberStart = value; } } - public bool IsPure + public int LineNumberEnd { get { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isPure != 0; + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->lineNumberEnd; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isPure = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->lineNumberEnd = value; } } - public bool IsDeleted + public string Name { get { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isDeleted != 0; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->name)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isDeleted = (byte) (value ? 1 : 0); + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->name), value); } } - public bool IsDefaulted + public string USR { get { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isDefaulted != 0; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->USR)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isDefaulted = (byte) (value ? 1 : 0); + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->USR), value); } } - public global::CppSharp.Parser.AST.FriendKind FriendKind + public string DebugText { get { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->friendKind; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->debugText)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->friendKind = value; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->debugText), value); } } - public global::CppSharp.Parser.AST.CXXOperatorKind OperatorKind + public bool IsIncomplete { get { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->operatorKind; + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isIncomplete != 0; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->operatorKind = value; + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isIncomplete = (byte) (value ? 1 : 0); } } - public string Mangled + public bool IsDependent { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->mangled)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isDependent != 0; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->mangled), value); + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isDependent = (byte) (value ? 1 : 0); } } - public string Signature + public bool IsImplicit { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->signature)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isImplicit != 0; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->signature), value); + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isImplicit = (byte) (value ? 1 : 0); } } - public string Body + public bool IsInvalid { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->body)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isInvalid != 0; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->body), value); + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isInvalid = (byte) (value ? 1 : 0); } } - public global::CppSharp.Parser.AST.CallingConvention CallingConvention + public global::CppSharp.Parser.AST.Declaration CompleteDeclaration { get { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->callingConvention; + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration); + return __result0; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->callingConvention = value; + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->completeDeclaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public global::CppSharp.Parser.AST.FunctionTemplateSpecialization SpecializationInfo + public uint DefinitionOrder { get { - global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0; - if (((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo)) - __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo]; - else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo); - return __result0; + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->definitionOrder; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->specializationInfo = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->definitionOrder = value; } } - public global::CppSharp.Parser.AST.Function InstantiatedFrom + public global::System.IntPtr OriginalPtr { get { - global::CppSharp.Parser.AST.Function __result0; - if (((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom)) - __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom]; - else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom); - return __result0; + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->originalPtr; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->instantiatedFrom = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->originalPtr = (global::System.IntPtr) value; } } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType + public global::CppSharp.Parser.AST.RawComment Comment { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->qualifiedType)); + global::CppSharp.Parser.AST.RawComment __result0; + if (((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.RawComment.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment)) + __result0 = (global::CppSharp.Parser.AST.RawComment) global::CppSharp.Parser.AST.RawComment.NativeToManagedMap[((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment]; + else __result0 = global::CppSharp.Parser.AST.RawComment.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment); + return __result0; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->comment = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public uint ParametersCount + public uint PreprocessedEntitiesCount { get { - var __ret = __Internal.GetParametersCount((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetPreprocessedEntitiesCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public uint RedeclarationsCount + { + get + { + var __ret = __Internal.GetRedeclarationsCount((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class Method : global::CppSharp.Parser.AST.Function, IDisposable + public unsafe partial class DeclarationContext : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 752)] + [StructLayout(LayoutKind.Explicit, Size = 496)] public new partial struct __Internal { [FieldOffset(0)] @@ -7708,157 +6942,227 @@ namespace CppSharp [FieldOffset(488)] internal byte isAnonymous; - [FieldOffset(496)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; - - [FieldOffset(512)] - internal byte isReturnIndirect; - - [FieldOffset(513)] - internal byte hasThisReturn; - - [FieldOffset(514)] - internal byte isConstExpr; - - [FieldOffset(515)] - internal byte isVariadic; - - [FieldOffset(516)] - internal byte isInline; - - [FieldOffset(517)] - internal byte isPure; - - [FieldOffset(518)] - internal byte isDeleted; - - [FieldOffset(519)] - internal byte isDefaulted; - - [FieldOffset(520)] - internal global::CppSharp.Parser.AST.FriendKind friendKind; - - [FieldOffset(524)] - internal global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; - - [FieldOffset(528)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; - - [FieldOffset(560)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C signature; - - [FieldOffset(592)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C body; - - [FieldOffset(624)] - internal global::CppSharp.Parser.AST.CallingConvention callingConvention; - - [FieldOffset(632)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_S_allocator__S0_ Parameters; - - [FieldOffset(656)] - internal global::System.IntPtr specializationInfo; - - [FieldOffset(664)] - internal global::System.IntPtr instantiatedFrom; - - [FieldOffset(672)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - - [FieldOffset(688)] - internal byte isVirtual; - - [FieldOffset(689)] - internal byte isStatic; - - [FieldOffset(690)] - internal byte isConst; - - [FieldOffset(691)] - internal byte isExplicit; - - [FieldOffset(692)] - internal global::CppSharp.Parser.AST.CXXMethodKind methodKind; - - [FieldOffset(696)] - internal byte isDefaultConstructor; - - [FieldOffset(697)] - internal byte isCopyConstructor; - - [FieldOffset(698)] - internal byte isMoveConstructor; - - [FieldOffset(704)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal conversionType; - - [FieldOffset(720)] - internal global::CppSharp.Parser.AST.RefQualifierKind refQualifier; - - [FieldOffset(728)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_S_allocator__S0_ OverriddenMethods; - [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6MethodC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContextC2ENS1_15DeclarationKindE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.DeclarationKind kind); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6MethodC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContextC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6MethodD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContextD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6Method20getOverriddenMethodsEj")] - internal static extern global::System.IntPtr GetOverriddenMethods(global::System.IntPtr __instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext13getNamespacesEj")] + internal static extern global::System.IntPtr GetNamespaces(global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6Method20addOverriddenMethodsERPS2_")] - internal static extern void AddOverriddenMethods(global::System.IntPtr __instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext13addNamespacesERPNS1_9NamespaceE")] + internal static extern void AddNamespaces(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6Method22clearOverriddenMethodsEv")] - internal static extern void ClearOverriddenMethods(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext15clearNamespacesEv")] + internal static extern void ClearNamespaces(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6Method25getOverriddenMethodsCountEv")] - internal static extern uint GetOverriddenMethodsCount(global::System.IntPtr __instance); - } - - internal static new global::CppSharp.Parser.AST.Method __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Method(native.ToPointer(), skipVTables); - } + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext8getEnumsEj")] + internal static extern global::System.IntPtr GetEnums(global::System.IntPtr __instance, uint i); - internal static global::CppSharp.Parser.AST.Method __CreateInstance(global::CppSharp.Parser.AST.Method.__Internal native, bool skipVTables = false) + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext8addEnumsERPNS1_11EnumerationE")] + internal static extern void AddEnums(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10clearEnumsEv")] + internal static extern void ClearEnums(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12getFunctionsEj")] + internal static extern global::System.IntPtr GetFunctions(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12addFunctionsERPNS1_8FunctionE")] + internal static extern void AddFunctions(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14clearFunctionsEv")] + internal static extern void ClearFunctions(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10getClassesEj")] + internal static extern global::System.IntPtr GetClasses(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10addClassesERPNS1_5ClassE")] + internal static extern void AddClasses(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12clearClassesEv")] + internal static extern void ClearClasses(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12getTemplatesEj")] + internal static extern global::System.IntPtr GetTemplates(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12addTemplatesERPNS1_8TemplateE")] + internal static extern void AddTemplates(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14clearTemplatesEv")] + internal static extern void ClearTemplates(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext11getTypedefsEj")] + internal static extern global::System.IntPtr GetTypedefs(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext11addTypedefsERPNS1_11TypedefDeclE")] + internal static extern void AddTypedefs(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext13clearTypedefsEv")] + internal static extern void ClearTypedefs(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14getTypeAliasesEj")] + internal static extern global::System.IntPtr GetTypeAliases(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14addTypeAliasesERPNS1_9TypeAliasE")] + internal static extern void AddTypeAliases(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext16clearTypeAliasesEv")] + internal static extern void ClearTypeAliases(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12getVariablesEj")] + internal static extern global::System.IntPtr GetVariables(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12addVariablesERPNS1_8VariableE")] + internal static extern void AddVariables(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14clearVariablesEv")] + internal static extern void ClearVariables(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10getFriendsEj")] + internal static extern global::System.IntPtr GetFriends(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10addFriendsERPNS1_6FriendE")] + internal static extern void AddFriends(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12clearFriendsEv")] + internal static extern void ClearFriends(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext18getNamespacesCountEv")] + internal static extern uint GetNamespacesCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext13getEnumsCountEv")] + internal static extern uint GetEnumsCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext17getFunctionsCountEv")] + internal static extern uint GetFunctionsCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext15getClassesCountEv")] + internal static extern uint GetClassesCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext17getTemplatesCountEv")] + internal static extern uint GetTemplatesCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext16getTypedefsCountEv")] + internal static extern uint GetTypedefsCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext19getTypeAliasesCountEv")] + internal static extern uint GetTypeAliasesCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext17getVariablesCountEv")] + internal static extern uint GetVariablesCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext15getFriendsCountEv")] + internal static extern uint GetFriendsCount(global::System.IntPtr __instance); + } + + internal static new global::CppSharp.Parser.AST.DeclarationContext __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Method(native, skipVTables); + return new global::CppSharp.Parser.AST.DeclarationContext(native.ToPointer(), skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Method.__Internal native) + internal static global::CppSharp.Parser.AST.DeclarationContext __CreateInstance(global::CppSharp.Parser.AST.DeclarationContext.__Internal native, bool skipVTables = false) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); - global::CppSharp.Parser.AST.Method.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return new global::CppSharp.Parser.AST.DeclarationContext(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.DeclarationContext.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); + global::CppSharp.Parser.AST.DeclarationContext.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Method(global::CppSharp.Parser.AST.Method.__Internal native, bool skipVTables = false) + private DeclarationContext(global::CppSharp.Parser.AST.DeclarationContext.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Method(void* native, bool skipVTables = false) + protected DeclarationContext(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -7867,19 +7171,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Method() + public DeclarationContext(global::CppSharp.Parser.AST.DeclarationKind kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + __Internal.ctor((__Instance + __PointerAdjustment), kind); } - public Method(global::CppSharp.Parser.AST.Method _0) + public DeclarationContext(global::CppSharp.Parser.AST.DeclarationContext _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -7901,173 +7205,325 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.Method GetOverriddenMethods(uint i) + public global::CppSharp.Parser.AST.Namespace GetNamespaces(uint i) { - var __ret = __Internal.GetOverriddenMethods((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Method __result0; + var __ret = __Internal.GetNamespaces((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Namespace __result0; if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Method.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Method) global::CppSharp.Parser.AST.Method.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Method.__CreateInstance(__ret); + else if (global::CppSharp.Parser.AST.Namespace.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Namespace) global::CppSharp.Parser.AST.Namespace.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Namespace.__CreateInstance(__ret); return __result0; } - public void AddOverriddenMethods(global::CppSharp.Parser.AST.Method s) + public void AddNamespaces(global::CppSharp.Parser.AST.Namespace s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddOverriddenMethods((__Instance + __PointerAdjustment), __arg0); + __Internal.AddNamespaces((__Instance + __PointerAdjustment), __arg0); } - public void ClearOverriddenMethods() + public void ClearNamespaces() { - __Internal.ClearOverriddenMethods((__Instance + __PointerAdjustment)); + __Internal.ClearNamespaces((__Instance + __PointerAdjustment)); } - public bool IsVirtual + public global::CppSharp.Parser.AST.Enumeration GetEnums(uint i) { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isVirtual != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isVirtual = (byte) (value ? 1 : 0); - } + var __ret = __Internal.GetEnums((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Enumeration __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Enumeration.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Enumeration) global::CppSharp.Parser.AST.Enumeration.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Enumeration.__CreateInstance(__ret); + return __result0; } - public bool IsStatic + public void AddEnums(global::CppSharp.Parser.AST.Enumeration s) { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isStatic != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isStatic = (byte) (value ? 1 : 0); - } + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddEnums((__Instance + __PointerAdjustment), __arg0); } - public bool IsConst + public void ClearEnums() { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isConst != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isConst = (byte) (value ? 1 : 0); - } + __Internal.ClearEnums((__Instance + __PointerAdjustment)); } - public bool IsExplicit + public global::CppSharp.Parser.AST.Function GetFunctions(uint i) { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isExplicit != 0; - } + var __ret = __Internal.GetFunctions((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Function __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(__ret); + return __result0; + } - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isExplicit = (byte) (value ? 1 : 0); - } + public void AddFunctions(global::CppSharp.Parser.AST.Function s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddFunctions((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.CXXMethodKind MethodKind + public void ClearFunctions() { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->methodKind; - } + __Internal.ClearFunctions((__Instance + __PointerAdjustment)); + } - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->methodKind = value; - } + public global::CppSharp.Parser.AST.Class GetClasses(uint i) + { + var __ret = __Internal.GetClasses((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Class __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(__ret); + return __result0; } - public bool IsDefaultConstructor + public void AddClasses(global::CppSharp.Parser.AST.Class s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddClasses((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearClasses() + { + __Internal.ClearClasses((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Template GetTemplates(uint i) + { + var __ret = __Internal.GetTemplates((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Template __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Template.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Template) global::CppSharp.Parser.AST.Template.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Template.__CreateInstance(__ret); + return __result0; + } + + public void AddTemplates(global::CppSharp.Parser.AST.Template s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddTemplates((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearTemplates() + { + __Internal.ClearTemplates((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.TypedefDecl GetTypedefs(uint i) + { + var __ret = __Internal.GetTypedefs((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.TypedefDecl __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TypedefDecl.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.TypedefDecl) global::CppSharp.Parser.AST.TypedefDecl.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.TypedefDecl.__CreateInstance(__ret); + return __result0; + } + + public void AddTypedefs(global::CppSharp.Parser.AST.TypedefDecl s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddTypedefs((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearTypedefs() + { + __Internal.ClearTypedefs((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.TypeAlias GetTypeAliases(uint i) + { + var __ret = __Internal.GetTypeAliases((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.TypeAlias __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TypeAlias.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.TypeAlias) global::CppSharp.Parser.AST.TypeAlias.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.TypeAlias.__CreateInstance(__ret); + return __result0; + } + + public void AddTypeAliases(global::CppSharp.Parser.AST.TypeAlias s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddTypeAliases((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearTypeAliases() + { + __Internal.ClearTypeAliases((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Variable GetVariables(uint i) + { + var __ret = __Internal.GetVariables((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Variable __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Variable.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Variable) global::CppSharp.Parser.AST.Variable.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Variable.__CreateInstance(__ret); + return __result0; + } + + public void AddVariables(global::CppSharp.Parser.AST.Variable s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddVariables((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearVariables() + { + __Internal.ClearVariables((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Friend GetFriends(uint i) + { + var __ret = __Internal.GetFriends((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Friend __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Friend.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Friend) global::CppSharp.Parser.AST.Friend.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Friend.__CreateInstance(__ret); + return __result0; + } + + public void AddFriends(global::CppSharp.Parser.AST.Friend s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddFriends((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearFriends() + { + __Internal.ClearFriends((__Instance + __PointerAdjustment)); + } + + public static implicit operator global::CppSharp.Parser.AST.DeclarationContext(global::CppSharp.Parser.AST.DeclarationKind kind) + { + return new global::CppSharp.Parser.AST.DeclarationContext(kind); + } + + public bool IsAnonymous { get { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isDefaultConstructor != 0; + return ((global::CppSharp.Parser.AST.DeclarationContext.__Internal*) __Instance)->isAnonymous != 0; } set { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isDefaultConstructor = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.DeclarationContext.__Internal*)__Instance)->isAnonymous = (byte) (value ? 1 : 0); } } - public bool IsCopyConstructor + public uint NamespacesCount { get { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isCopyConstructor != 0; + var __ret = __Internal.GetNamespacesCount((__Instance + __PointerAdjustment)); + return __ret; } + } - set + public uint EnumsCount + { + get { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isCopyConstructor = (byte) (value ? 1 : 0); + var __ret = __Internal.GetEnumsCount((__Instance + __PointerAdjustment)); + return __ret; } } - public bool IsMoveConstructor + public uint FunctionsCount { get { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isMoveConstructor != 0; + var __ret = __Internal.GetFunctionsCount((__Instance + __PointerAdjustment)); + return __ret; } + } - set + public uint ClassesCount + { + get { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isMoveConstructor = (byte) (value ? 1 : 0); + var __ret = __Internal.GetClassesCount((__Instance + __PointerAdjustment)); + return __ret; } } - public global::CppSharp.Parser.AST.QualifiedType ConversionType + public uint TemplatesCount { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->conversionType)); + var __ret = __Internal.GetTemplatesCount((__Instance + __PointerAdjustment)); + return __ret; } + } - set + public uint TypedefsCount + { + get { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->conversionType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + var __ret = __Internal.GetTypedefsCount((__Instance + __PointerAdjustment)); + return __ret; } } - public global::CppSharp.Parser.AST.RefQualifierKind RefQualifier + public uint TypeAliasesCount { get { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->refQualifier; + var __ret = __Internal.GetTypeAliasesCount((__Instance + __PointerAdjustment)); + return __ret; } + } - set + public uint VariablesCount + { + get { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->refQualifier = value; + var __ret = __Internal.GetVariablesCount((__Instance + __PointerAdjustment)); + return __ret; } } - public uint OverriddenMethodsCount + public uint FriendsCount { get { - var __ret = __Internal.GetOverriddenMethodsCount((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetFriendsCount((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class Enumeration : global::CppSharp.Parser.AST.DeclarationContext, IDisposable + public unsafe partial class TypedefNameDecl : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 536)] + [StructLayout(LayoutKind.Explicit, Size = 240)] public new partial struct __Internal { [FieldOffset(0)] @@ -8131,308 +7587,219 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(224)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [FieldOffset(248)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; - - [FieldOffset(272)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; - - [FieldOffset(296)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; - - [FieldOffset(320)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; - - [FieldOffset(344)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; - - [FieldOffset(368)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; - - [FieldOffset(392)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; - - [FieldOffset(416)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; - - [FieldOffset(440)] - internal global::Std.Map.__Internalc__N_std_S_map____N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; - - [FieldOffset(488)] - internal byte isAnonymous; - - [FieldOffset(492)] - internal global::CppSharp.Parser.AST.Enumeration.EnumModifiers modifiers; - - [FieldOffset(496)] - internal global::System.IntPtr type; - - [FieldOffset(504)] - internal global::System.IntPtr builtinType; - - [FieldOffset(512)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration_S_Item___N_std_S_allocator__S0_ Items; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15TypedefNameDeclC2ENS1_15DeclarationKindE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.DeclarationKind kind); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST15TypedefNameDeclC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST15TypedefNameDeclD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration8getItemsEj")] - internal static extern global::System.IntPtr GetItems(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration8addItemsERPNS2_4ItemE")] - internal static extern void AddItems(global::System.IntPtr __instance, global::System.IntPtr s); + internal static new global::CppSharp.Parser.AST.TypedefNameDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TypedefNameDecl(native.ToPointer(), skipVTables); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration10clearItemsEv")] - internal static extern void ClearItems(global::System.IntPtr __instance); + internal static global::CppSharp.Parser.AST.TypedefNameDecl __CreateInstance(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TypedefNameDecl(native, skipVTables); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration14FindItemByNameERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE")] - internal static extern global::System.IntPtr FindItemByName(global::System.IntPtr __instance, global::System.IntPtr Name); + private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); + global::CppSharp.Parser.AST.TypedefNameDecl.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration13getItemsCountEv")] - internal static extern uint GetItemsCount(global::System.IntPtr __instance); + private TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; } - [Flags] - public enum EnumModifiers + protected TypedefNameDecl(void* native, bool skipVTables = false) + : base((void*) null) { - Anonymous = 1, - Scoped = 2, - Flags = 4 + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - public unsafe partial class Item : global::CppSharp.Parser.AST.Declaration, IDisposable + public TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) + : this((void*) null) { - [StructLayout(LayoutKind.Explicit, Size = 264)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), kind); + } - [FieldOffset(4)] - internal int maxFieldAlignment; + public TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } - [FieldOffset(16)] - internal global::System.IntPtr _namespace; + public static implicit operator global::CppSharp.Parser.AST.TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) + { + return new global::CppSharp.Parser.AST.TypedefNameDecl(kind); + } - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + public global::CppSharp.Parser.AST.QualifiedType QualifiedType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TypedefNameDecl.__Internal*) __Instance)->qualifiedType)); + } - [FieldOffset(28)] - internal int lineNumberStart; + set + { + ((global::CppSharp.Parser.AST.TypedefNameDecl.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + } - [FieldOffset(32)] - internal int lineNumberEnd; + public unsafe partial class TypedefDecl : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 240)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + [FieldOffset(4)] + internal int maxFieldAlignment; - [FieldOffset(72)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; - [FieldOffset(104)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + [FieldOffset(16)] + internal global::System.IntPtr _namespace; - [FieldOffset(136)] - internal byte isIncomplete; + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; - [FieldOffset(137)] - internal byte isDependent; + [FieldOffset(28)] + internal int lineNumberStart; - [FieldOffset(138)] - internal byte isImplicit; + [FieldOffset(32)] + internal int lineNumberEnd; - [FieldOffset(139)] - internal byte isInvalid; + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - [FieldOffset(144)] - internal global::System.IntPtr completeDeclaration; + [FieldOffset(72)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - [FieldOffset(152)] - internal uint definitionOrder; + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + [FieldOffset(136)] + internal byte isIncomplete; - [FieldOffset(184)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + [FieldOffset(137)] + internal byte isDependent; - [FieldOffset(208)] - internal global::System.IntPtr originalPtr; + [FieldOffset(138)] + internal byte isImplicit; - [FieldOffset(216)] - internal global::System.IntPtr comment; + [FieldOffset(139)] + internal byte isInvalid; - [FieldOffset(224)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C expression; + [FieldOffset(144)] + internal global::System.IntPtr completeDeclaration; - [FieldOffset(256)] - internal ulong value; + [FieldOffset(152)] + internal uint definitionOrder; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4ItemC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4ItemC2ERKS3_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + [FieldOffset(184)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4ItemD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); - } + [FieldOffset(208)] + internal global::System.IntPtr originalPtr; - internal static new global::CppSharp.Parser.AST.Enumeration.Item __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Enumeration.Item(native.ToPointer(), skipVTables); - } + [FieldOffset(216)] + internal global::System.IntPtr comment; - internal static global::CppSharp.Parser.AST.Enumeration.Item __CreateInstance(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Enumeration.Item(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); - global::CppSharp.Parser.AST.Enumeration.Item.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private Item(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected Item(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public Item() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } - - public Item(global::CppSharp.Parser.AST.Enumeration.Item _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } - - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public string Expression - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*) __Instance)->expression)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + [FieldOffset(224)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*)__Instance)->expression), value); - } - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefDeclC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); - public ulong Value - { - get - { - return ((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*) __Instance)->value; - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefDeclC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - set - { - ((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*)__Instance)->value = value; - } - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefDeclD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.Enumeration __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TypedefDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Enumeration(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TypedefDecl(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Enumeration __CreateInstance(global::CppSharp.Parser.AST.Enumeration.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TypedefDecl __CreateInstance(global::CppSharp.Parser.AST.TypedefDecl.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Enumeration(native, skipVTables); + return new global::CppSharp.Parser.AST.TypedefDecl(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Enumeration.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefDecl.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); - global::CppSharp.Parser.AST.Enumeration.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); + global::CppSharp.Parser.AST.TypedefDecl.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Enumeration(global::CppSharp.Parser.AST.Enumeration.__Internal native, bool skipVTables = false) + private TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Enumeration(void* native, bool skipVTables = false) + protected TypedefDecl(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -8441,19 +7808,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Enumeration() + public TypedefDecl() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public Enumeration(global::CppSharp.Parser.AST.Enumeration _0) + public TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -8474,108 +7841,11 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - - public global::CppSharp.Parser.AST.Enumeration.Item GetItems(uint i) - { - var __ret = __Internal.GetItems((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Enumeration.Item __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Enumeration.Item) global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Enumeration.Item.__CreateInstance(__ret); - return __result0; - } - - public void AddItems(global::CppSharp.Parser.AST.Enumeration.Item s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddItems((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearItems() - { - __Internal.ClearItems((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.Enumeration.Item FindItemByName(string Name) - { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, Name); - var __arg0 = __basicString0.__Instance; - var __ret = __Internal.FindItemByName((__Instance + __PointerAdjustment), __arg0); - __basicString0.Dispose(false); - global::CppSharp.Parser.AST.Enumeration.Item __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Enumeration.Item) global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Enumeration.Item.__CreateInstance(__ret); - return __result0; - } - - public global::CppSharp.Parser.AST.Enumeration.EnumModifiers Modifiers - { - get - { - return ((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->modifiers; - } - - set - { - ((global::CppSharp.Parser.AST.Enumeration.__Internal*)__Instance)->modifiers = value; - } - } - - public global::CppSharp.Parser.AST.Type Type - { - get - { - global::CppSharp.Parser.AST.Type __result0; - if (((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type)) - __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type]; - else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.Enumeration.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - - public global::CppSharp.Parser.AST.BuiltinType BuiltinType - { - get - { - global::CppSharp.Parser.AST.BuiltinType __result0; - if (((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.BuiltinType.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType)) - __result0 = (global::CppSharp.Parser.AST.BuiltinType) global::CppSharp.Parser.AST.BuiltinType.NativeToManagedMap[((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType]; - else __result0 = global::CppSharp.Parser.AST.BuiltinType.__CreateInstance(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.Enumeration.__Internal*)__Instance)->builtinType = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - - public uint ItemsCount - { - get - { - var __ret = __Internal.GetItemsCount((__Instance + __PointerAdjustment)); - return __ret; - } - } } - public unsafe partial class Variable : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class TypeAlias : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 272)] + [StructLayout(LayoutKind.Explicit, Size = 248)] public new partial struct __Internal { [FieldOffset(0)] @@ -8639,52 +7909,52 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(224)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; - - [FieldOffset(256)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + [FieldOffset(240)] + internal global::System.IntPtr describedAliasTemplate; + [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8VariableC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST9TypeAliasC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8VariableC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST9TypeAliasC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8VariableD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST9TypeAliasD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.Variable __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TypeAlias __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Variable(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TypeAlias(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Variable __CreateInstance(global::CppSharp.Parser.AST.Variable.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TypeAlias __CreateInstance(global::CppSharp.Parser.AST.TypeAlias.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Variable(native, skipVTables); + return new global::CppSharp.Parser.AST.TypeAlias(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Variable.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypeAlias.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); - global::CppSharp.Parser.AST.Variable.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); + global::CppSharp.Parser.AST.TypeAlias.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Variable(global::CppSharp.Parser.AST.Variable.__Internal native, bool skipVTables = false) + private TypeAlias(global::CppSharp.Parser.AST.TypeAlias.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Variable(void* native, bool skipVTables = false) + protected TypeAlias(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -8693,19 +7963,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Variable() + public TypeAlias() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public Variable(global::CppSharp.Parser.AST.Variable _0) + public TypeAlias(global::CppSharp.Parser.AST.TypeAlias _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -8727,196 +7997,28 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public string Mangled - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Variable.__Internal*) __Instance)->mangled)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Variable.__Internal*)__Instance)->mangled), value); - } - } - - public global::CppSharp.Parser.AST.QualifiedType QualifiedType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Variable.__Internal*) __Instance)->qualifiedType)); - } - - set - { - ((global::CppSharp.Parser.AST.Variable.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } - } - - public unsafe partial class BaseClassSpecifier : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 24)] - public partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(4)] - internal byte isVirtual; - - [FieldOffset(8)] - internal global::System.IntPtr type; - - [FieldOffset(16)] - internal int offset; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18BaseClassSpecifierC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18BaseClassSpecifierC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - } - - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.BaseClassSpecifier __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.BaseClassSpecifier(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.BaseClassSpecifier __CreateInstance(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.BaseClassSpecifier(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); - *(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) ret = native; - return ret.ToPointer(); - } - - private BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected BaseClassSpecifier(void* native, bool skipVTables = false) - { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public BaseClassSpecifier() - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } - - public BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier _0) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) _0.__Instance); - } - - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.BaseClassSpecifier __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public global::CppSharp.Parser.AST.AccessSpecifier Access - { - get - { - return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->access; - } - - set - { - ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->access = value; - } - } - - public bool IsVirtual - { - get - { - return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->isVirtual != 0; - } - - set - { - ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->isVirtual = (byte) (value ? 1 : 0); - } - } - - public global::CppSharp.Parser.AST.Type Type + public global::CppSharp.Parser.AST.TypeAliasTemplate DescribedAliasTemplate { get { - global::CppSharp.Parser.AST.Type __result0; - if (((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type)) - __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type]; - else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type); + global::CppSharp.Parser.AST.TypeAliasTemplate __result0; + if (((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TypeAliasTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate)) + __result0 = (global::CppSharp.Parser.AST.TypeAliasTemplate) global::CppSharp.Parser.AST.TypeAliasTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate]; + else __result0 = global::CppSharp.Parser.AST.TypeAliasTemplate.__CreateInstance(((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate); return __result0; } set { - ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - - public int Offset - { - get - { - return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->offset; - } - - set - { - ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->offset = value; + ((global::CppSharp.Parser.AST.TypeAlias.__Internal*)__Instance)->describedAliasTemplate = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class Field : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class Friend : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 256)] + [StructLayout(LayoutKind.Explicit, Size = 232)] public new partial struct __Internal { [FieldOffset(0)] @@ -8980,58 +8082,49 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(224)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - - [FieldOffset(240)] - internal global::System.IntPtr _class; - - [FieldOffset(248)] - internal byte isBitField; - - [FieldOffset(252)] - internal uint bitWidth; + internal global::System.IntPtr declaration; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5FieldC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST6FriendC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5FieldC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST6FriendC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5FieldD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST6FriendD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.Field __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Friend __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Field(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Friend(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Field __CreateInstance(global::CppSharp.Parser.AST.Field.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Friend __CreateInstance(global::CppSharp.Parser.AST.Friend.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Field(native, skipVTables); + return new global::CppSharp.Parser.AST.Friend(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Field.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Friend.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); - global::CppSharp.Parser.AST.Field.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); + global::CppSharp.Parser.AST.Friend.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Field(global::CppSharp.Parser.AST.Field.__Internal native, bool skipVTables = false) + private Friend(global::CppSharp.Parser.AST.Friend.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Field(void* native, bool skipVTables = false) + protected Friend(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -9040,19 +8133,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Field() + public Friend() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public Field(global::CppSharp.Parser.AST.Field _0) + public Friend(global::CppSharp.Parser.AST.Friend _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -9074,170 +8167,239 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType + public global::CppSharp.Parser.AST.Declaration Declaration { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->qualifiedType)); + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration); + return __result0; } set { - ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.Friend.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } + } - public global::CppSharp.Parser.AST.Class Class + public unsafe partial class StatementObsolete : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public partial struct __Internal { - get + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StatementClassObsolete _class; + + [FieldOffset(8)] + internal global::System.IntPtr decl; + + [FieldOffset(16)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17StatementObsoleteC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_22StatementClassObsoleteEPNS1_11DeclarationE")] + internal static extern void ctor(global::System.IntPtr __instance, global::System.IntPtr str, global::CppSharp.Parser.AST.StatementClassObsolete Class, global::System.IntPtr decl); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17StatementObsoleteC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17StatementObsoleteD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.StatementObsolete __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.StatementObsolete(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.StatementObsolete __CreateInstance(global::CppSharp.Parser.AST.StatementObsolete.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.StatementObsolete(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.StatementObsolete.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StatementObsolete.__Internal)); + global::CppSharp.Parser.AST.StatementObsolete.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private StatementObsolete(global::CppSharp.Parser.AST.StatementObsolete.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected StatementObsolete(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public StatementObsolete(string str, global::CppSharp.Parser.AST.StatementClassObsolete Class, global::CppSharp.Parser.AST.Declaration decl) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StatementObsolete.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, str); + var __arg0 = __basicString0.__Instance; + var __arg2 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; + __Internal.ctor((__Instance + __PointerAdjustment), __arg0, Class, __arg2); + __basicString0.Dispose(false); + } + + public StatementObsolete(global::CppSharp.Parser.AST.StatementObsolete _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StatementObsolete.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.StatementObsolete __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.StatementClassObsolete Class + { + get { - global::CppSharp.Parser.AST.Class __result0; - if (((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class)) - __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class]; - else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class); - return __result0; + return ((global::CppSharp.Parser.AST.StatementObsolete.__Internal*) __Instance)->_class; } set { - ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.StatementObsolete.__Internal*)__Instance)->_class = value; } } - public bool IsBitField + public global::CppSharp.Parser.AST.Declaration Decl { get { - return ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->isBitField != 0; + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.StatementObsolete.__Internal*) __Instance)->decl == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.StatementObsolete.__Internal*) __Instance)->decl)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.StatementObsolete.__Internal*) __Instance)->decl]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.StatementObsolete.__Internal*) __Instance)->decl); + return __result0; } set { - ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->isBitField = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.StatementObsolete.__Internal*)__Instance)->decl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public uint BitWidth + public string String { get { - return ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->bitWidth; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.StatementObsolete.__Internal*) __Instance)->@string)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->bitWidth = value; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.StatementObsolete.__Internal*)__Instance)->@string), value); } } } - public unsafe partial class AccessSpecifierDecl : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class ExpressionObsolete : global::CppSharp.Parser.AST.StatementObsolete, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 224)] + [StructLayout(LayoutKind.Explicit, Size = 48)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; + internal global::CppSharp.Parser.AST.StatementClassObsolete _class; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + internal global::System.IntPtr decl; [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; - - [FieldOffset(32)] - internal int lineNumberEnd; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(72)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - - [FieldOffset(104)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - - [FieldOffset(136)] - internal byte isIncomplete; - - [FieldOffset(137)] - internal byte isDependent; - - [FieldOffset(138)] - internal byte isImplicit; - - [FieldOffset(139)] - internal byte isInvalid; - - [FieldOffset(144)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(152)] - internal uint definitionOrder; - - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(184)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - - [FieldOffset(208)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(216)] - internal global::System.IntPtr comment; + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST18ExpressionObsoleteC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_22StatementClassObsoleteEPNS1_11DeclarationE")] + internal static extern void ctor(global::System.IntPtr __instance, global::System.IntPtr str, global::CppSharp.Parser.AST.StatementClassObsolete Class, global::System.IntPtr decl); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST18ExpressionObsoleteC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST18ExpressionObsoleteD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.AccessSpecifierDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.ExpressionObsolete __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.AccessSpecifierDecl(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.ExpressionObsolete(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.AccessSpecifierDecl __CreateInstance(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.ExpressionObsolete __CreateInstance(global::CppSharp.Parser.AST.ExpressionObsolete.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.AccessSpecifierDecl(native, skipVTables); + return new global::CppSharp.Parser.AST.ExpressionObsolete(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ExpressionObsolete.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); - global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExpressionObsolete.__Internal)); + global::CppSharp.Parser.AST.ExpressionObsolete.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private AccessSpecifierDecl(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native, bool skipVTables = false) + private ExpressionObsolete(global::CppSharp.Parser.AST.ExpressionObsolete.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected AccessSpecifierDecl(void* native, bool skipVTables = false) + protected ExpressionObsolete(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -9246,19 +8408,24 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public AccessSpecifierDecl() + public ExpressionObsolete(string str, global::CppSharp.Parser.AST.StatementClassObsolete Class, global::CppSharp.Parser.AST.Declaration decl) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExpressionObsolete.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, str); + var __arg0 = __basicString0.__Instance; + var __arg2 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; + __Internal.ctor((__Instance + __PointerAdjustment), __arg0, Class, __arg2); + __basicString0.Dispose(false); } - public AccessSpecifierDecl(global::CppSharp.Parser.AST.AccessSpecifierDecl _0) + public ExpressionObsolete(global::CppSharp.Parser.AST.ExpressionObsolete _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExpressionObsolete.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -9271,7 +8438,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.StatementObsolete __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -9281,270 +8448,253 @@ namespace CppSharp } } - public unsafe partial class Class : global::CppSharp.Parser.AST.DeclarationContext, IDisposable + public unsafe partial class BinaryOperatorObsolete : global::CppSharp.Parser.AST.ExpressionObsolete, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 616)] + [StructLayout(LayoutKind.Explicit, Size = 96)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; + internal global::CppSharp.Parser.AST.StatementClassObsolete _class; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + internal global::System.IntPtr decl; [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; - [FieldOffset(28)] - internal int lineNumberStart; + [FieldOffset(48)] + internal global::System.IntPtr LHS; - [FieldOffset(32)] - internal int lineNumberEnd; + [FieldOffset(56)] + internal global::System.IntPtr RHS; - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + [FieldOffset(64)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C opcodeStr; - [FieldOffset(72)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST22BinaryOperatorObsoleteC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPNS1_18ExpressionObsoleteESC_SA_")] + internal static extern void ctor(global::System.IntPtr __instance, global::System.IntPtr str, global::System.IntPtr lhs, global::System.IntPtr rhs, global::System.IntPtr opcodeStr); - [FieldOffset(104)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST22BinaryOperatorObsoleteC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - [FieldOffset(136)] - internal byte isIncomplete; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST22BinaryOperatorObsoleteD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + } - [FieldOffset(137)] - internal byte isDependent; + internal static new global::CppSharp.Parser.AST.BinaryOperatorObsolete __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.BinaryOperatorObsolete(native.ToPointer(), skipVTables); + } - [FieldOffset(138)] - internal byte isImplicit; + internal static global::CppSharp.Parser.AST.BinaryOperatorObsolete __CreateInstance(global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.BinaryOperatorObsolete(native, skipVTables); + } - [FieldOffset(139)] - internal byte isInvalid; + private static void* __CopyValue(global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal)); + global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(144)] - internal global::System.IntPtr completeDeclaration; + private BinaryOperatorObsolete(global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(152)] - internal uint definitionOrder; - - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(184)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - - [FieldOffset(208)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(216)] - internal global::System.IntPtr comment; - - [FieldOffset(224)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; - - [FieldOffset(248)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; - - [FieldOffset(272)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; - - [FieldOffset(296)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; - - [FieldOffset(320)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; - - [FieldOffset(344)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; - - [FieldOffset(368)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; - - [FieldOffset(392)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; - - [FieldOffset(416)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; - - [FieldOffset(440)] - internal global::Std.Map.__Internalc__N_std_S_map____N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; - - [FieldOffset(488)] - internal byte isAnonymous; - - [FieldOffset(496)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BaseClassSpecifier___N_std_S_allocator__S0_ Bases; - - [FieldOffset(520)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Field___N_std_S_allocator__S0_ Fields; + protected BinaryOperatorObsolete(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(544)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_S_allocator__S0_ Methods; + public BinaryOperatorObsolete(string str, global::CppSharp.Parser.AST.ExpressionObsolete lhs, global::CppSharp.Parser.AST.ExpressionObsolete rhs, string opcodeStr) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, str); + var __arg0 = __basicString0.__Instance; + var __arg1 = ReferenceEquals(lhs, null) ? global::System.IntPtr.Zero : lhs.__Instance; + var __arg2 = ReferenceEquals(rhs, null) ? global::System.IntPtr.Zero : rhs.__Instance; + var __basicString3 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString3, opcodeStr); + var __arg3 = __basicString3.__Instance; + __Internal.ctor((__Instance + __PointerAdjustment), __arg0, __arg1, __arg2, __arg3); + __basicString0.Dispose(false); + __basicString3.Dispose(false); + } - [FieldOffset(568)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_AccessSpecifierDecl___N_std_S_allocator__S0_ Specifiers; + public BinaryOperatorObsolete(global::CppSharp.Parser.AST.BinaryOperatorObsolete _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(592)] - internal byte isPOD; + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.StatementObsolete __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } - [FieldOffset(593)] - internal byte isAbstract; + public global::CppSharp.Parser.AST.ExpressionObsolete LHS + { + get + { + global::CppSharp.Parser.AST.ExpressionObsolete __result0; + if (((global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal*) __Instance)->LHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ExpressionObsolete.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal*) __Instance)->LHS)) + __result0 = (global::CppSharp.Parser.AST.ExpressionObsolete) global::CppSharp.Parser.AST.ExpressionObsolete.NativeToManagedMap[((global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal*) __Instance)->LHS]; + else __result0 = global::CppSharp.Parser.AST.ExpressionObsolete.__CreateInstance(((global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal*) __Instance)->LHS); + return __result0; + } - [FieldOffset(594)] - internal byte isUnion; + set + { + ((global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal*)__Instance)->LHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } - [FieldOffset(595)] - internal byte isDynamic; + public global::CppSharp.Parser.AST.ExpressionObsolete RHS + { + get + { + global::CppSharp.Parser.AST.ExpressionObsolete __result0; + if (((global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal*) __Instance)->RHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ExpressionObsolete.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal*) __Instance)->RHS)) + __result0 = (global::CppSharp.Parser.AST.ExpressionObsolete) global::CppSharp.Parser.AST.ExpressionObsolete.NativeToManagedMap[((global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal*) __Instance)->RHS]; + else __result0 = global::CppSharp.Parser.AST.ExpressionObsolete.__CreateInstance(((global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal*) __Instance)->RHS); + return __result0; + } - [FieldOffset(596)] - internal byte isPolymorphic; + set + { + ((global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal*)__Instance)->RHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } - [FieldOffset(597)] - internal byte hasNonTrivialDefaultConstructor; + public string OpcodeStr + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal*) __Instance)->opcodeStr)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - [FieldOffset(598)] - internal byte hasNonTrivialCopyConstructor; + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal*)__Instance)->opcodeStr), value); + } + } + } - [FieldOffset(599)] - internal byte hasNonTrivialDestructor; + public unsafe partial class CallExprObsolete : global::CppSharp.Parser.AST.ExpressionObsolete, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 72)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StatementClassObsolete _class; - [FieldOffset(600)] - internal byte isExternCContext; + [FieldOffset(8)] + internal global::System.IntPtr decl; - [FieldOffset(601)] - internal byte isInjected; + [FieldOffset(16)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; - [FieldOffset(608)] - internal global::System.IntPtr layout; + [FieldOffset(48)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_ExpressionObsolete___N_std_S_allocator__S0_ Arguments; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5ClassC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST16CallExprObsoleteC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPNS1_11DeclarationE")] + internal static extern void ctor(global::System.IntPtr __instance, global::System.IntPtr str, global::System.IntPtr decl); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5ClassC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST16CallExprObsoleteC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5ClassD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST16CallExprObsoleteD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class8getBasesEj")] - internal static extern global::System.IntPtr GetBases(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class8addBasesERPNS1_18BaseClassSpecifierE")] - internal static extern void AddBases(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class10clearBasesEv")] - internal static extern void ClearBases(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class9getFieldsEj")] - internal static extern global::System.IntPtr GetFields(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class9addFieldsERPNS1_5FieldE")] - internal static extern void AddFields(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class11clearFieldsEv")] - internal static extern void ClearFields(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class10getMethodsEj")] - internal static extern global::System.IntPtr GetMethods(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class10addMethodsERPNS1_6MethodE")] - internal static extern void AddMethods(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class12clearMethodsEv")] - internal static extern void ClearMethods(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class13getSpecifiersEj")] - internal static extern global::System.IntPtr GetSpecifiers(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class13addSpecifiersERPNS1_19AccessSpecifierDeclE")] - internal static extern void AddSpecifiers(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class15clearSpecifiersEv")] - internal static extern void ClearSpecifiers(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class13getBasesCountEv")] - internal static extern uint GetBasesCount(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST16CallExprObsolete12getArgumentsEj")] + internal static extern global::System.IntPtr GetArguments(global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class14getFieldsCountEv")] - internal static extern uint GetFieldsCount(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST16CallExprObsolete12addArgumentsERPNS1_18ExpressionObsoleteE")] + internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class15getMethodsCountEv")] - internal static extern uint GetMethodsCount(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST16CallExprObsolete14clearArgumentsEv")] + internal static extern void ClearArguments(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class18getSpecifiersCountEv")] - internal static extern uint GetSpecifiersCount(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST16CallExprObsolete17getArgumentsCountEv")] + internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.Class __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.CallExprObsolete __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Class(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.CallExprObsolete(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Class __CreateInstance(global::CppSharp.Parser.AST.Class.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.CallExprObsolete __CreateInstance(global::CppSharp.Parser.AST.CallExprObsolete.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Class(native, skipVTables); + return new global::CppSharp.Parser.AST.CallExprObsolete(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Class.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.CallExprObsolete.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); - global::CppSharp.Parser.AST.Class.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExprObsolete.__Internal)); + global::CppSharp.Parser.AST.CallExprObsolete.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Class(global::CppSharp.Parser.AST.Class.__Internal native, bool skipVTables = false) + private CallExprObsolete(global::CppSharp.Parser.AST.CallExprObsolete.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Class(void* native, bool skipVTables = false) + protected CallExprObsolete(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -9553,19 +8703,24 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Class() + public CallExprObsolete(string str, global::CppSharp.Parser.AST.Declaration decl) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExprObsolete.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, str); + var __arg0 = __basicString0.__Instance; + var __arg1 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; + __Internal.ctor((__Instance + __PointerAdjustment), __arg0, __arg1); + __basicString0.Dispose(false); } - public Class(global::CppSharp.Parser.AST.Class _0) + public CallExprObsolete(global::CppSharp.Parser.AST.CallExprObsolete _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExprObsolete.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -9578,7 +8733,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.StatementObsolete __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -9587,306 +8742,218 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.BaseClassSpecifier GetBases(uint i) + public global::CppSharp.Parser.AST.ExpressionObsolete GetArguments(uint i) { - var __ret = __Internal.GetBases((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.BaseClassSpecifier __result0; + var __ret = __Internal.GetArguments((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.ExpressionObsolete __result0; if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.BaseClassSpecifier.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.BaseClassSpecifier) global::CppSharp.Parser.AST.BaseClassSpecifier.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.BaseClassSpecifier.__CreateInstance(__ret); + else if (global::CppSharp.Parser.AST.ExpressionObsolete.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.ExpressionObsolete) global::CppSharp.Parser.AST.ExpressionObsolete.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.ExpressionObsolete.__CreateInstance(__ret); return __result0; } - public void AddBases(global::CppSharp.Parser.AST.BaseClassSpecifier s) + public void AddArguments(global::CppSharp.Parser.AST.ExpressionObsolete s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddBases((__Instance + __PointerAdjustment), __arg0); + __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); } - public void ClearBases() + public void ClearArguments() { - __Internal.ClearBases((__Instance + __PointerAdjustment)); + __Internal.ClearArguments((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.Field GetFields(uint i) + public uint ArgumentsCount { - var __ret = __Internal.GetFields((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Field __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Field.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Field) global::CppSharp.Parser.AST.Field.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Field.__CreateInstance(__ret); - return __result0; + get + { + var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); + return __ret; + } } + } - public void AddFields(global::CppSharp.Parser.AST.Field s) + public unsafe partial class CXXConstructExprObsolete : global::CppSharp.Parser.AST.ExpressionObsolete, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 72)] + public new partial struct __Internal { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddFields((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StatementClassObsolete _class; - public void ClearFields() - { - __Internal.ClearFields((__Instance + __PointerAdjustment)); + [FieldOffset(8)] + internal global::System.IntPtr decl; + + [FieldOffset(16)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; + + [FieldOffset(48)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_ExpressionObsolete___N_std_S_allocator__S0_ Arguments; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24CXXConstructExprObsoleteC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPNS1_11DeclarationE")] + internal static extern void ctor(global::System.IntPtr __instance, global::System.IntPtr str, global::System.IntPtr decl); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24CXXConstructExprObsoleteC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24CXXConstructExprObsoleteD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24CXXConstructExprObsolete12getArgumentsEj")] + internal static extern global::System.IntPtr GetArguments(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24CXXConstructExprObsolete12addArgumentsERPNS1_18ExpressionObsoleteE")] + internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24CXXConstructExprObsolete14clearArgumentsEv")] + internal static extern void ClearArguments(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24CXXConstructExprObsolete17getArgumentsCountEv")] + internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); } - public global::CppSharp.Parser.AST.Method GetMethods(uint i) + internal static new global::CppSharp.Parser.AST.CXXConstructExprObsolete __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - var __ret = __Internal.GetMethods((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Method __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Method.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Method) global::CppSharp.Parser.AST.Method.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Method.__CreateInstance(__ret); - return __result0; + return new global::CppSharp.Parser.AST.CXXConstructExprObsolete(native.ToPointer(), skipVTables); } - public void AddMethods(global::CppSharp.Parser.AST.Method s) + internal static global::CppSharp.Parser.AST.CXXConstructExprObsolete __CreateInstance(global::CppSharp.Parser.AST.CXXConstructExprObsolete.__Internal native, bool skipVTables = false) { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddMethods((__Instance + __PointerAdjustment), __arg0); + return new global::CppSharp.Parser.AST.CXXConstructExprObsolete(native, skipVTables); } - public void ClearMethods() + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXConstructExprObsolete.__Internal native) { - __Internal.ClearMethods((__Instance + __PointerAdjustment)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExprObsolete.__Internal)); + global::CppSharp.Parser.AST.CXXConstructExprObsolete.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - public global::CppSharp.Parser.AST.AccessSpecifierDecl GetSpecifiers(uint i) + private CXXConstructExprObsolete(global::CppSharp.Parser.AST.CXXConstructExprObsolete.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - var __ret = __Internal.GetSpecifiers((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.AccessSpecifierDecl __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.AccessSpecifierDecl.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.AccessSpecifierDecl) global::CppSharp.Parser.AST.AccessSpecifierDecl.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.AccessSpecifierDecl.__CreateInstance(__ret); - return __result0; + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; } - public void AddSpecifiers(global::CppSharp.Parser.AST.AccessSpecifierDecl s) + protected CXXConstructExprObsolete(void* native, bool skipVTables = false) + : base((void*) null) { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddSpecifiers((__Instance + __PointerAdjustment), __arg0); + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - public void ClearSpecifiers() + public CXXConstructExprObsolete(string str, global::CppSharp.Parser.AST.Declaration decl) + : this((void*) null) { - __Internal.ClearSpecifiers((__Instance + __PointerAdjustment)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExprObsolete.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, str); + var __arg0 = __basicString0.__Instance; + var __arg1 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; + __Internal.ctor((__Instance + __PointerAdjustment), __arg0, __arg1); + __basicString0.Dispose(false); } - public bool IsPOD + public CXXConstructExprObsolete(global::CppSharp.Parser.AST.CXXConstructExprObsolete _0) + : this((void*) null) { - get - { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isPOD != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isPOD = (byte) (value ? 1 : 0); - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExprObsolete.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public bool IsAbstract + public override void Dispose(bool disposing) { - get - { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isAbstract != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isAbstract = (byte) (value ? 1 : 0); - } + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.StatementObsolete __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } - public bool IsUnion + public global::CppSharp.Parser.AST.ExpressionObsolete GetArguments(uint i) { - get - { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isUnion != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isUnion = (byte) (value ? 1 : 0); - } + var __ret = __Internal.GetArguments((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.ExpressionObsolete __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ExpressionObsolete.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.ExpressionObsolete) global::CppSharp.Parser.AST.ExpressionObsolete.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.ExpressionObsolete.__CreateInstance(__ret); + return __result0; } - public bool IsDynamic + public void AddArguments(global::CppSharp.Parser.AST.ExpressionObsolete s) { - get - { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isDynamic != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isDynamic = (byte) (value ? 1 : 0); - } + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); } - public bool IsPolymorphic + public void ClearArguments() { - get - { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isPolymorphic != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isPolymorphic = (byte) (value ? 1 : 0); - } + __Internal.ClearArguments((__Instance + __PointerAdjustment)); } - public bool HasNonTrivialDefaultConstructor + public uint ArgumentsCount { get { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialDefaultConstructor != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->hasNonTrivialDefaultConstructor = (byte) (value ? 1 : 0); + var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); + return __ret; } } + } - public bool HasNonTrivialCopyConstructor + public unsafe partial class Parameter : global::CppSharp.Parser.AST.Declaration, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 264)] + public new partial struct __Internal { - get - { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialCopyConstructor != 0; - } + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->hasNonTrivialCopyConstructor = (byte) (value ? 1 : 0); - } - } + [FieldOffset(4)] + internal int maxFieldAlignment; - public bool HasNonTrivialDestructor - { - get - { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialDestructor != 0; - } + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->hasNonTrivialDestructor = (byte) (value ? 1 : 0); - } - } + [FieldOffset(16)] + internal global::System.IntPtr _namespace; - public bool IsExternCContext - { - get - { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isExternCContext != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isExternCContext = (byte) (value ? 1 : 0); - } - } - - public bool IsInjected - { - get - { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isInjected != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isInjected = (byte) (value ? 1 : 0); - } - } - - public global::CppSharp.Parser.AST.ClassLayout Layout - { - get - { - global::CppSharp.Parser.AST.ClassLayout __result0; - if (((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.ClassLayout.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout)) - __result0 = (global::CppSharp.Parser.AST.ClassLayout) global::CppSharp.Parser.AST.ClassLayout.NativeToManagedMap[((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout]; - else __result0 = global::CppSharp.Parser.AST.ClassLayout.__CreateInstance(((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->layout = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - - public uint BasesCount - { - get - { - var __ret = __Internal.GetBasesCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint FieldsCount - { - get - { - var __ret = __Internal.GetFieldsCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint MethodsCount - { - get - { - var __ret = __Internal.GetMethodsCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint SpecifiersCount - { - get - { - var __ret = __Internal.GetSpecifiersCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - } - - public unsafe partial class Template : global::CppSharp.Parser.AST.Declaration, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 256)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; [FieldOffset(28)] internal int lineNumberStart; @@ -9934,77 +9001,64 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(224)] - internal global::System.IntPtr TemplatedDecl; - - [FieldOffset(232)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateC2ENS1_15DeclarationKindE")] - internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.DeclarationKind kind); + [FieldOffset(240)] + internal byte isIndirect; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + [FieldOffset(241)] + internal byte hasDefaultValue; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + [FieldOffset(244)] + internal uint index; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); + [FieldOffset(248)] + internal global::System.IntPtr defaultArgument; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Template13getParametersEj")] - internal static extern global::System.IntPtr GetParameters(global::System.IntPtr __instance, uint i); + [FieldOffset(256)] + internal global::System.IntPtr defaultArgumentNew; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Template13addParametersERPNS1_11DeclarationE")] - internal static extern void AddParameters(global::System.IntPtr __instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST9ParameterC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Template15clearParametersEv")] - internal static extern void ClearParameters(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST9ParameterC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Template18getParametersCountEv")] - internal static extern uint GetParametersCount(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST9ParameterD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.Template __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Parameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Template(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Parameter(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Template __CreateInstance(global::CppSharp.Parser.AST.Template.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Parameter __CreateInstance(global::CppSharp.Parser.AST.Parameter.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Template(native, skipVTables); + return new global::CppSharp.Parser.AST.Parameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Template.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Parameter.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); - global::CppSharp.Parser.AST.Template.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); + global::CppSharp.Parser.AST.Parameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Template(global::CppSharp.Parser.AST.Template.__Internal native, bool skipVTables = false) + private Parameter(global::CppSharp.Parser.AST.Parameter.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Template(void* native, bool skipVTables = false) + protected Parameter(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -10013,28 +9067,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Template(global::CppSharp.Parser.AST.DeclarationKind kind) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), kind); - } - - public Template() + public Parameter() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public Template(global::CppSharp.Parser.AST.Template _0) + public Parameter(global::CppSharp.Parser.AST.Parameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -10056,66 +9101,98 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.Declaration GetParameters(uint i) + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { - var __ret = __Internal.GetParameters((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Declaration __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(__ret); - return __result0; + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->qualifiedType)); + } + + set + { + ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } - public void AddParameters(global::CppSharp.Parser.AST.Declaration s) + public bool IsIndirect { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddParameters((__Instance + __PointerAdjustment), __arg0); + get + { + return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->isIndirect != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->isIndirect = (byte) (value ? 1 : 0); + } } - public void ClearParameters() + public bool HasDefaultValue { - __Internal.ClearParameters((__Instance + __PointerAdjustment)); + get + { + return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->hasDefaultValue != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->hasDefaultValue = (byte) (value ? 1 : 0); + } } - public static implicit operator global::CppSharp.Parser.AST.Template(global::CppSharp.Parser.AST.DeclarationKind kind) + public uint Index { - return new global::CppSharp.Parser.AST.Template(kind); + get + { + return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->index; + } + + set + { + ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->index = value; + } } - public global::CppSharp.Parser.AST.Declaration TemplatedDecl + public global::CppSharp.Parser.AST.ExpressionObsolete DefaultArgument { get { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl); + global::CppSharp.Parser.AST.ExpressionObsolete __result0; + if (((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ExpressionObsolete.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument)) + __result0 = (global::CppSharp.Parser.AST.ExpressionObsolete) global::CppSharp.Parser.AST.ExpressionObsolete.NativeToManagedMap[((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument]; + else __result0 = global::CppSharp.Parser.AST.ExpressionObsolete.__CreateInstance(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument); return __result0; } set { - ((global::CppSharp.Parser.AST.Template.__Internal*)__Instance)->TemplatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->defaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public uint ParametersCount + public global::CppSharp.Parser.AST.Expr DefaultArgumentNew { get { - var __ret = __Internal.GetParametersCount((__Instance + __PointerAdjustment)); - return __ret; + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgumentNew == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgumentNew)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgumentNew]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgumentNew); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->defaultArgumentNew = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class TypeAliasTemplate : global::CppSharp.Parser.AST.Template, IDisposable + public unsafe partial class Function : global::CppSharp.Parser.AST.DeclarationContext, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 256)] + [StructLayout(LayoutKind.Explicit, Size = 688)] public new partial struct __Internal { [FieldOffset(0)] @@ -10179,52 +9256,156 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(224)] - internal global::System.IntPtr TemplatedDecl; + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; - [FieldOffset(232)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; + [FieldOffset(248)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; + + [FieldOffset(272)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; + + [FieldOffset(296)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; + + [FieldOffset(320)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; + + [FieldOffset(344)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; + + [FieldOffset(368)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; + + [FieldOffset(392)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; + + [FieldOffset(416)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; + + [FieldOffset(440)] + internal global::Std.Map.__Internalc__N_std_S_map____N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + + [FieldOffset(488)] + internal byte isAnonymous; + + [FieldOffset(496)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; + + [FieldOffset(512)] + internal byte isReturnIndirect; + + [FieldOffset(513)] + internal byte hasThisReturn; + + [FieldOffset(514)] + internal byte isConstExpr; + + [FieldOffset(515)] + internal byte isVariadic; + + [FieldOffset(516)] + internal byte isInline; + + [FieldOffset(517)] + internal byte isPure; + + [FieldOffset(518)] + internal byte isDeleted; + + [FieldOffset(519)] + internal byte isDefaulted; + + [FieldOffset(520)] + internal global::CppSharp.Parser.AST.FriendKind friendKind; + + [FieldOffset(524)] + internal global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; + + [FieldOffset(528)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; + + [FieldOffset(560)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C signature; + + [FieldOffset(592)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C body; + + [FieldOffset(624)] + internal global::CppSharp.Parser.AST.CallingConvention callingConvention; + + [FieldOffset(632)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_S_allocator__S0_ Parameters; + + [FieldOffset(656)] + internal global::System.IntPtr specializationInfo; + + [FieldOffset(664)] + internal global::System.IntPtr instantiatedFrom; + + [FieldOffset(672)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17TypeAliasTemplateC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST8FunctionC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17TypeAliasTemplateC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST8FunctionC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17TypeAliasTemplateD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST8FunctionD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Function13getParametersEj")] + internal static extern global::System.IntPtr GetParameters(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Function13addParametersERPNS1_9ParameterE")] + internal static extern void AddParameters(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Function15clearParametersEv")] + internal static extern void ClearParameters(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Function18getParametersCountEv")] + internal static extern uint GetParametersCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.TypeAliasTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Function __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypeAliasTemplate(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Function(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TypeAliasTemplate __CreateInstance(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Function __CreateInstance(global::CppSharp.Parser.AST.Function.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypeAliasTemplate(native, skipVTables); + return new global::CppSharp.Parser.AST.Function(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Function.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); - global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); + global::CppSharp.Parser.AST.Function.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native, bool skipVTables = false) + private Function(global::CppSharp.Parser.AST.Function.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TypeAliasTemplate(void* native, bool skipVTables = false) + protected Function(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -10233,19 +9414,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TypeAliasTemplate() + public Function() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate _0) + public Function(global::CppSharp.Parser.AST.Function _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -10266,59 +9447,345 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - } - public unsafe partial class TemplateParameter : global::CppSharp.Parser.AST.Declaration, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 240)] - public new partial struct __Internal + public global::CppSharp.Parser.AST.Parameter GetParameters(uint i) { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; + var __ret = __Internal.GetParameters((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Parameter __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Parameter.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Parameter) global::CppSharp.Parser.AST.Parameter.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Parameter.__CreateInstance(__ret); + return __result0; + } - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + public void AddParameters(global::CppSharp.Parser.AST.Parameter s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddParameters((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(16)] - internal global::System.IntPtr _namespace; + public void ClearParameters() + { + __Internal.ClearParameters((__Instance + __PointerAdjustment)); + } - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + public global::CppSharp.Parser.AST.QualifiedType ReturnType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->returnType)); + } - [FieldOffset(28)] - internal int lineNumberStart; + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->returnType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } - [FieldOffset(32)] - internal int lineNumberEnd; + public bool IsReturnIndirect + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isReturnIndirect != 0; + } - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isReturnIndirect = (byte) (value ? 1 : 0); + } + } - [FieldOffset(72)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + public bool HasThisReturn + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->hasThisReturn != 0; + } - [FieldOffset(104)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->hasThisReturn = (byte) (value ? 1 : 0); + } + } - [FieldOffset(136)] - internal byte isIncomplete; + public bool IsConstExpr + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isConstExpr != 0; + } - [FieldOffset(137)] - internal byte isDependent; + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isConstExpr = (byte) (value ? 1 : 0); + } + } - [FieldOffset(138)] - internal byte isImplicit; + public bool IsVariadic + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isVariadic != 0; + } - [FieldOffset(139)] - internal byte isInvalid; + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isVariadic = (byte) (value ? 1 : 0); + } + } - [FieldOffset(144)] - internal global::System.IntPtr completeDeclaration; + public bool IsInline + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isInline != 0; + } - [FieldOffset(152)] + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isInline = (byte) (value ? 1 : 0); + } + } + + public bool IsPure + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isPure != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isPure = (byte) (value ? 1 : 0); + } + } + + public bool IsDeleted + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isDeleted != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isDeleted = (byte) (value ? 1 : 0); + } + } + + public bool IsDefaulted + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isDefaulted != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isDefaulted = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.FriendKind FriendKind + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->friendKind; + } + + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->friendKind = value; + } + } + + public global::CppSharp.Parser.AST.CXXOperatorKind OperatorKind + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->operatorKind; + } + + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->operatorKind = value; + } + } + + public string Mangled + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->mangled)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->mangled), value); + } + } + + public string Signature + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->signature)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->signature), value); + } + } + + public string Body + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->body)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->body), value); + } + } + + public global::CppSharp.Parser.AST.CallingConvention CallingConvention + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->callingConvention; + } + + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->callingConvention = value; + } + } + + public global::CppSharp.Parser.AST.FunctionTemplateSpecialization SpecializationInfo + { + get + { + global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0; + if (((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo)) + __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo]; + else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->specializationInfo = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Function InstantiatedFrom + { + get + { + global::CppSharp.Parser.AST.Function __result0; + if (((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom)) + __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom]; + else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->instantiatedFrom = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType QualifiedType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->qualifiedType)); + } + + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public uint ParametersCount + { + get + { + var __ret = __Internal.GetParametersCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class Method : global::CppSharp.Parser.AST.Function, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 752)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(72)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(136)] + internal byte isIncomplete; + + [FieldOffset(137)] + internal byte isDependent; + + [FieldOffset(138)] + internal byte isImplicit; + + [FieldOffset(139)] + internal byte isInvalid; + + [FieldOffset(144)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(152)] internal uint definitionOrder; [FieldOffset(160)] @@ -10334,55 +9801,763 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(224)] - internal uint depth; + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; - [FieldOffset(228)] - internal uint index; + [FieldOffset(248)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; - [FieldOffset(232)] - internal byte isParameterPack; + [FieldOffset(272)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterC2ENS1_15DeclarationKindE")] - internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.DeclarationKind kind); + [FieldOffset(296)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; + + [FieldOffset(320)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; + + [FieldOffset(344)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; + + [FieldOffset(368)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; + + [FieldOffset(392)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; + + [FieldOffset(416)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; + + [FieldOffset(440)] + internal global::Std.Map.__Internalc__N_std_S_map____N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + + [FieldOffset(488)] + internal byte isAnonymous; + + [FieldOffset(496)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; + + [FieldOffset(512)] + internal byte isReturnIndirect; + + [FieldOffset(513)] + internal byte hasThisReturn; + + [FieldOffset(514)] + internal byte isConstExpr; + + [FieldOffset(515)] + internal byte isVariadic; + + [FieldOffset(516)] + internal byte isInline; + + [FieldOffset(517)] + internal byte isPure; + + [FieldOffset(518)] + internal byte isDeleted; + + [FieldOffset(519)] + internal byte isDefaulted; + + [FieldOffset(520)] + internal global::CppSharp.Parser.AST.FriendKind friendKind; + + [FieldOffset(524)] + internal global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; + + [FieldOffset(528)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; + + [FieldOffset(560)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C signature; + + [FieldOffset(592)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C body; + + [FieldOffset(624)] + internal global::CppSharp.Parser.AST.CallingConvention callingConvention; + + [FieldOffset(632)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_S_allocator__S0_ Parameters; + + [FieldOffset(656)] + internal global::System.IntPtr specializationInfo; + + [FieldOffset(664)] + internal global::System.IntPtr instantiatedFrom; + + [FieldOffset(672)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(688)] + internal byte isVirtual; + + [FieldOffset(689)] + internal byte isStatic; + + [FieldOffset(690)] + internal byte isConst; + + [FieldOffset(691)] + internal byte isExplicit; + + [FieldOffset(692)] + internal global::CppSharp.Parser.AST.CXXMethodKind methodKind; + + [FieldOffset(696)] + internal byte isDefaultConstructor; + + [FieldOffset(697)] + internal byte isCopyConstructor; + + [FieldOffset(698)] + internal byte isMoveConstructor; + + [FieldOffset(704)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal conversionType; + + [FieldOffset(720)] + internal global::CppSharp.Parser.AST.RefQualifierKind refQualifier; + + [FieldOffset(728)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_S_allocator__S0_ OverriddenMethods; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST6MethodC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST6MethodC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST6MethodD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST6Method20getOverriddenMethodsEj")] + internal static extern global::System.IntPtr GetOverriddenMethods(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST6Method20addOverriddenMethodsERPS2_")] + internal static extern void AddOverriddenMethods(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST6Method22clearOverriddenMethodsEv")] + internal static extern void ClearOverriddenMethods(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST6Method25getOverriddenMethodsCountEv")] + internal static extern uint GetOverriddenMethodsCount(global::System.IntPtr __instance); + } + + internal static new global::CppSharp.Parser.AST.Method __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Method(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.Method __CreateInstance(global::CppSharp.Parser.AST.Method.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Method(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.Method.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); + global::CppSharp.Parser.AST.Method.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private Method(global::CppSharp.Parser.AST.Method.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Method(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Method() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public Method(global::CppSharp.Parser.AST.Method _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Method GetOverriddenMethods(uint i) + { + var __ret = __Internal.GetOverriddenMethods((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Method __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Method.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Method) global::CppSharp.Parser.AST.Method.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Method.__CreateInstance(__ret); + return __result0; + } + + public void AddOverriddenMethods(global::CppSharp.Parser.AST.Method s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddOverriddenMethods((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearOverriddenMethods() + { + __Internal.ClearOverriddenMethods((__Instance + __PointerAdjustment)); + } + + public bool IsVirtual + { + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isVirtual != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isVirtual = (byte) (value ? 1 : 0); + } + } + + public bool IsStatic + { + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isStatic != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isStatic = (byte) (value ? 1 : 0); + } + } + + public bool IsConst + { + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isConst != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isConst = (byte) (value ? 1 : 0); + } + } + + public bool IsExplicit + { + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isExplicit != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isExplicit = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.CXXMethodKind MethodKind + { + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->methodKind; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->methodKind = value; + } + } + + public bool IsDefaultConstructor + { + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isDefaultConstructor != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isDefaultConstructor = (byte) (value ? 1 : 0); + } + } + + public bool IsCopyConstructor + { + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isCopyConstructor != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isCopyConstructor = (byte) (value ? 1 : 0); + } + } + + public bool IsMoveConstructor + { + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isMoveConstructor != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isMoveConstructor = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.QualifiedType ConversionType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->conversionType)); + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->conversionType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public global::CppSharp.Parser.AST.RefQualifierKind RefQualifier + { + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->refQualifier; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->refQualifier = value; + } + } + + public uint OverriddenMethodsCount + { + get + { + var __ret = __Internal.GetOverriddenMethodsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class Enumeration : global::CppSharp.Parser.AST.DeclarationContext, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 536)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(72)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(136)] + internal byte isIncomplete; + + [FieldOffset(137)] + internal byte isDependent; + + [FieldOffset(138)] + internal byte isImplicit; + + [FieldOffset(139)] + internal byte isInvalid; + + [FieldOffset(144)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(152)] + internal uint definitionOrder; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(184)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(208)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(216)] + internal global::System.IntPtr comment; + + [FieldOffset(224)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; + + [FieldOffset(248)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; + + [FieldOffset(272)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; + + [FieldOffset(296)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; + + [FieldOffset(320)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; + + [FieldOffset(344)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; + + [FieldOffset(368)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; + + [FieldOffset(392)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; + + [FieldOffset(416)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; + + [FieldOffset(440)] + internal global::Std.Map.__Internalc__N_std_S_map____N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + + [FieldOffset(488)] + internal byte isAnonymous; + + [FieldOffset(492)] + internal global::CppSharp.Parser.AST.Enumeration.EnumModifiers modifiers; + + [FieldOffset(496)] + internal global::System.IntPtr type; + + [FieldOffset(504)] + internal global::System.IntPtr builtinType; + + [FieldOffset(512)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration_S_Item___N_std_S_allocator__S0_ Items; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration8getItemsEj")] + internal static extern global::System.IntPtr GetItems(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration8addItemsERPNS2_4ItemE")] + internal static extern void AddItems(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration10clearItemsEv")] + internal static extern void ClearItems(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration14FindItemByNameERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE")] + internal static extern global::System.IntPtr FindItemByName(global::System.IntPtr __instance, global::System.IntPtr Name); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration13getItemsCountEv")] + internal static extern uint GetItemsCount(global::System.IntPtr __instance); + } + + [Flags] + public enum EnumModifiers + { + Anonymous = 1, + Scoped = 2, + Flags = 4 + } + + public unsafe partial class Item : global::CppSharp.Parser.AST.Declaration, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 264)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(72)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(136)] + internal byte isIncomplete; + + [FieldOffset(137)] + internal byte isDependent; + + [FieldOffset(138)] + internal byte isImplicit; + + [FieldOffset(139)] + internal byte isInvalid; + + [FieldOffset(144)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(152)] + internal uint definitionOrder; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(184)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(208)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(216)] + internal global::System.IntPtr comment; + + [FieldOffset(224)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C expression; + + [FieldOffset(256)] + internal ulong value; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4ItemC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4ItemC2ERKS3_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4ItemD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + } + + internal static new global::CppSharp.Parser.AST.Enumeration.Item __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Enumeration.Item(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.Enumeration.Item __CreateInstance(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Enumeration.Item(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); + global::CppSharp.Parser.AST.Enumeration.Item.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private Item(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Item(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Item() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public Item(global::CppSharp.Parser.AST.Enumeration.Item _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public string Expression + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*) __Instance)->expression)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*)__Instance)->expression), value); + } + } + + public ulong Value + { + get + { + return ((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*) __Instance)->value; + } + + set + { + ((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*)__Instance)->value = value; + } + } } - internal static new global::CppSharp.Parser.AST.TemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Enumeration __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateParameter(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Enumeration(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TemplateParameter.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Enumeration __CreateInstance(global::CppSharp.Parser.AST.Enumeration.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateParameter(native, skipVTables); + return new global::CppSharp.Parser.AST.Enumeration(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameter.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Enumeration.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); - global::CppSharp.Parser.AST.TemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); + global::CppSharp.Parser.AST.Enumeration.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter.__Internal native, bool skipVTables = false) + private Enumeration(global::CppSharp.Parser.AST.Enumeration.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TemplateParameter(void* native, bool skipVTables = false) + protected Enumeration(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -10391,19 +10566,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TemplateParameter(global::CppSharp.Parser.AST.DeclarationKind kind) + public Enumeration() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), kind); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter _0) + public Enumeration(global::CppSharp.Parser.AST.Enumeration _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -10425,54 +10600,107 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public static implicit operator global::CppSharp.Parser.AST.TemplateParameter(global::CppSharp.Parser.AST.DeclarationKind kind) + public global::CppSharp.Parser.AST.Enumeration.Item GetItems(uint i) { - return new global::CppSharp.Parser.AST.TemplateParameter(kind); + var __ret = __Internal.GetItems((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Enumeration.Item __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Enumeration.Item) global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Enumeration.Item.__CreateInstance(__ret); + return __result0; } - public uint Depth + public void AddItems(global::CppSharp.Parser.AST.Enumeration.Item s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddItems((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearItems() + { + __Internal.ClearItems((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Enumeration.Item FindItemByName(string Name) + { + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, Name); + var __arg0 = __basicString0.__Instance; + var __ret = __Internal.FindItemByName((__Instance + __PointerAdjustment), __arg0); + __basicString0.Dispose(false); + global::CppSharp.Parser.AST.Enumeration.Item __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Enumeration.Item) global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Enumeration.Item.__CreateInstance(__ret); + return __result0; + } + + public global::CppSharp.Parser.AST.Enumeration.EnumModifiers Modifiers { get { - return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->depth; + return ((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->modifiers; } set { - ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*)__Instance)->depth = value; + ((global::CppSharp.Parser.AST.Enumeration.__Internal*)__Instance)->modifiers = value; } } - public uint Index + public global::CppSharp.Parser.AST.Type Type { get { - return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->index; + global::CppSharp.Parser.AST.Type __result0; + if (((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type)) + __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type]; + else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type); + return __result0; } set { - ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*)__Instance)->index = value; + ((global::CppSharp.Parser.AST.Enumeration.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public bool IsParameterPack + public global::CppSharp.Parser.AST.BuiltinType BuiltinType { get { - return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->isParameterPack != 0; + global::CppSharp.Parser.AST.BuiltinType __result0; + if (((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.BuiltinType.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType)) + __result0 = (global::CppSharp.Parser.AST.BuiltinType) global::CppSharp.Parser.AST.BuiltinType.NativeToManagedMap[((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType]; + else __result0 = global::CppSharp.Parser.AST.BuiltinType.__CreateInstance(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType); + return __result0; } set { - ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*)__Instance)->isParameterPack = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Enumeration.__Internal*)__Instance)->builtinType = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public uint ItemsCount + { + get + { + var __ret = __Internal.GetItemsCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class TemplateTemplateParameter : global::CppSharp.Parser.AST.Template, IDisposable + public unsafe partial class Variable : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 264)] + [StructLayout(LayoutKind.Explicit, Size = 272)] public new partial struct __Internal { [FieldOffset(0)] @@ -10536,61 +10764,52 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(224)] - internal global::System.IntPtr TemplatedDecl; - - [FieldOffset(232)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; [FieldOffset(256)] - internal byte isParameterPack; - - [FieldOffset(257)] - internal byte isPackExpansion; - - [FieldOffset(258)] - internal byte isExpandedParameterPack; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST8VariableC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST8VariableC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST8VariableD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.TemplateTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Variable __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateTemplateParameter(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Variable(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TemplateTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Variable __CreateInstance(global::CppSharp.Parser.AST.Variable.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateTemplateParameter(native, skipVTables); + return new global::CppSharp.Parser.AST.Variable(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Variable.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); - global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); + global::CppSharp.Parser.AST.Variable.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native, bool skipVTables = false) + private Variable(global::CppSharp.Parser.AST.Variable.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TemplateTemplateParameter(void* native, bool skipVTables = false) + protected Variable(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -10599,19 +10818,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TemplateTemplateParameter() + public Variable() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter _0) + public Variable(global::CppSharp.Parser.AST.Variable _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -10633,221 +10852,194 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public bool IsParameterPack - { - get - { - return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isParameterPack != 0; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*)__Instance)->isParameterPack = (byte) (value ? 1 : 0); - } - } - - public bool IsPackExpansion + public string Mangled { get { - return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isPackExpansion != 0; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Variable.__Internal*) __Instance)->mangled)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*)__Instance)->isPackExpansion = (byte) (value ? 1 : 0); + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Variable.__Internal*)__Instance)->mangled), value); } } - public bool IsExpandedParameterPack + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { get { - return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack != 0; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Variable.__Internal*) __Instance)->qualifiedType)); } set { - ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*)__Instance)->isExpandedParameterPack = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Variable.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } } - public unsafe partial class TypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 256)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; - - [FieldOffset(32)] - internal int lineNumberEnd; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(72)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - - [FieldOffset(104)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - - [FieldOffset(136)] - internal byte isIncomplete; - - [FieldOffset(137)] - internal byte isDependent; - - [FieldOffset(138)] - internal byte isImplicit; - - [FieldOffset(139)] - internal byte isInvalid; - - [FieldOffset(144)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(152)] - internal uint definitionOrder; - - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(184)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - - [FieldOffset(208)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(216)] - internal global::System.IntPtr comment; - - [FieldOffset(224)] - internal uint depth; + public unsafe partial class BaseClassSpecifier : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; - [FieldOffset(228)] - internal uint index; + [FieldOffset(4)] + internal byte isVirtual; - [FieldOffset(232)] - internal byte isParameterPack; + [FieldOffset(8)] + internal global::System.IntPtr type; - [FieldOffset(240)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal defaultArgument; + [FieldOffset(16)] + internal int offset; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21TypeTemplateParameterC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST18BaseClassSpecifierC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21TypeTemplateParameterC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST18BaseClassSpecifierC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21TypeTemplateParameterD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.TypeTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.BaseClassSpecifier __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypeTemplateParameter(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.BaseClassSpecifier(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TypeTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.BaseClassSpecifier __CreateInstance(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypeTemplateParameter(native, skipVTables); + return new global::CppSharp.Parser.AST.BaseClassSpecifier(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); - global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); + *(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) ret = native; return ret.ToPointer(); } - private TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native, bool skipVTables = false) + private BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TypeTemplateParameter(void* native, bool skipVTables = false) - : base((void*) null) + protected BaseClassSpecifier(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public TypeTemplateParameter() - : this((void*) null) + public BaseClassSpecifier() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter _0) - : this((void*) null) + public BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + *((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) _0.__Instance); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.BaseClassSpecifier __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.QualifiedType DefaultArgument + public global::CppSharp.Parser.AST.AccessSpecifier Access { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal*) __Instance)->defaultArgument)); + return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->access; } set { - ((global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal*)__Instance)->defaultArgument = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->access = value; + } + } + + public bool IsVirtual + { + get + { + return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->isVirtual != 0; + } + + set + { + ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->isVirtual = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.Type Type + { + get + { + global::CppSharp.Parser.AST.Type __result0; + if (((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type)) + __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type]; + else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public int Offset + { + get + { + return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->offset; + } + + set + { + ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->offset = value; } } } - public unsafe partial class NonTypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable + public unsafe partial class Field : global::CppSharp.Parser.AST.Declaration, IDisposable { [StructLayout(LayoutKind.Explicit, Size = 256)] public new partial struct __Internal @@ -10913,67 +11105,58 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(224)] - internal uint depth; - - [FieldOffset(228)] - internal uint index; - - [FieldOffset(232)] - internal byte isParameterPack; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [FieldOffset(240)] - internal global::System.IntPtr defaultArgument; + internal global::System.IntPtr _class; [FieldOffset(248)] - internal uint position; + internal byte isBitField; [FieldOffset(252)] - internal byte isPackExpansion; - - [FieldOffset(253)] - internal byte isExpandedParameterPack; + internal uint bitWidth; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST5FieldC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST5FieldC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST5FieldD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.NonTypeTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Field __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.NonTypeTemplateParameter(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Field(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.NonTypeTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Field __CreateInstance(global::CppSharp.Parser.AST.Field.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.NonTypeTemplateParameter(native, skipVTables); + return new global::CppSharp.Parser.AST.Field(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Field.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); - global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); + global::CppSharp.Parser.AST.Field.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native, bool skipVTables = false) + private Field(global::CppSharp.Parser.AST.Field.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected NonTypeTemplateParameter(void* native, bool skipVTables = false) + protected Field(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -10982,19 +11165,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public NonTypeTemplateParameter() + public Field() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter _0) + public Field(global::CppSharp.Parser.AST.Field _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -11016,67 +11199,67 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.Expression DefaultArgument + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { get { - global::CppSharp.Parser.AST.Expression __result0; - if (((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument)) - __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument]; - else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument); - return __result0; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->qualifiedType)); } set { - ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->defaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public uint Position + public global::CppSharp.Parser.AST.Class Class { get { - return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->position; + global::CppSharp.Parser.AST.Class __result0; + if (((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class)) + __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class]; + else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class); + return __result0; } set { - ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->position = value; + ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public bool IsPackExpansion + public bool IsBitField { get { - return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->isPackExpansion != 0; + return ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->isBitField != 0; } set { - ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->isPackExpansion = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->isBitField = (byte) (value ? 1 : 0); } } - public bool IsExpandedParameterPack + public uint BitWidth { get { - return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack != 0; + return ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->bitWidth; } set { - ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->isExpandedParameterPack = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->bitWidth = value; } } } - public unsafe partial class ClassTemplate : global::CppSharp.Parser.AST.Template, IDisposable + public unsafe partial class AccessSpecifierDecl : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 280)] + [StructLayout(LayoutKind.Explicit, Size = 224)] public new partial struct __Internal { [FieldOffset(0)] @@ -11139,86 +11322,47 @@ namespace CppSharp [FieldOffset(216)] internal global::System.IntPtr comment; - [FieldOffset(224)] - internal global::System.IntPtr TemplatedDecl; - - [FieldOffset(232)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; - - [FieldOffset(256)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_ClassTemplateSpecialization___N_std_S_allocator__S0_ Specializations; - [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplateC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplateC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplateD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate18getSpecializationsEj")] - internal static extern global::System.IntPtr GetSpecializations(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate18addSpecializationsERPNS1_27ClassTemplateSpecializationE")] - internal static extern void AddSpecializations(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate20clearSpecializationsEv")] - internal static extern void ClearSpecializations(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate18FindSpecializationERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE")] - internal static extern global::System.IntPtr FindSpecialization(global::System.IntPtr __instance, global::System.IntPtr usr); + EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate25FindPartialSpecializationERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE")] - internal static extern global::System.IntPtr FindPartialSpecialization(global::System.IntPtr __instance, global::System.IntPtr usr); + EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate23getSpecializationsCountEv")] - internal static extern uint GetSpecializationsCount(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.ClassTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.AccessSpecifierDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ClassTemplate(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.AccessSpecifierDecl(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.ClassTemplate __CreateInstance(global::CppSharp.Parser.AST.ClassTemplate.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.AccessSpecifierDecl __CreateInstance(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ClassTemplate(native, skipVTables); + return new global::CppSharp.Parser.AST.AccessSpecifierDecl(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplate.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal)); - global::CppSharp.Parser.AST.ClassTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); + global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private ClassTemplate(global::CppSharp.Parser.AST.ClassTemplate.__Internal native, bool skipVTables = false) + private AccessSpecifierDecl(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected ClassTemplate(void* native, bool skipVTables = false) + protected AccessSpecifierDecl(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -11227,19 +11371,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public ClassTemplate() + public AccessSpecifierDecl() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public ClassTemplate(global::CppSharp.Parser.AST.ClassTemplate _0) + public AccessSpecifierDecl(global::CppSharp.Parser.AST.AccessSpecifierDecl _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -11260,305 +11404,381 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } + } - public global::CppSharp.Parser.AST.ClassTemplateSpecialization GetSpecializations(uint i) + public unsafe partial class VTableComponent : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 16)] + public partial struct __Internal { - var __ret = __Internal.GetSpecializations((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.ClassTemplateSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.ClassTemplateSpecialization) global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.ClassTemplateSpecialization.__CreateInstance(__ret); - return __result0; + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.VTableComponentKind kind; + + [FieldOffset(4)] + internal uint offset; + + [FieldOffset(8)] + internal global::System.IntPtr declaration; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15VTableComponentC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15VTableComponentC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); } - public void AddSpecializations(global::CppSharp.Parser.AST.ClassTemplateSpecialization s) + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.VTableComponent __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddSpecializations((__Instance + __PointerAdjustment), __arg0); + return new global::CppSharp.Parser.AST.VTableComponent(native.ToPointer(), skipVTables); } - public void ClearSpecializations() + internal static global::CppSharp.Parser.AST.VTableComponent __CreateInstance(global::CppSharp.Parser.AST.VTableComponent.__Internal native, bool skipVTables = false) { - __Internal.ClearSpecializations((__Instance + __PointerAdjustment)); + return new global::CppSharp.Parser.AST.VTableComponent(native, skipVTables); } - public global::CppSharp.Parser.AST.ClassTemplateSpecialization FindSpecialization(string usr) + private static void* __CopyValue(global::CppSharp.Parser.AST.VTableComponent.__Internal native) { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, usr); - var __arg0 = __basicString0.__Instance; - var __ret = __Internal.FindSpecialization((__Instance + __PointerAdjustment), __arg0); - __basicString0.Dispose(false); - global::CppSharp.Parser.AST.ClassTemplateSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.ClassTemplateSpecialization) global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.ClassTemplateSpecialization.__CreateInstance(__ret); - return __result0; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); + *(global::CppSharp.Parser.AST.VTableComponent.__Internal*) ret = native; + return ret.ToPointer(); } - public global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization FindPartialSpecialization(string usr) + private VTableComponent(global::CppSharp.Parser.AST.VTableComponent.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, usr); - var __arg0 = __basicString0.__Instance; - var __ret = __Internal.FindPartialSpecialization((__Instance + __PointerAdjustment), __arg0); - __basicString0.Dispose(false); - global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization) global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__CreateInstance(__ret); - return __result0; + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; } - public uint SpecializationsCount + protected VTableComponent(void* native, bool skipVTables = false) { - get - { - var __ret = __Internal.GetSpecializationsCount((__Instance + __PointerAdjustment)); - return __ret; - } + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - } - public unsafe partial class ClassTemplateSpecialization : global::CppSharp.Parser.AST.Class, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 656)] - public new partial struct __Internal + public VTableComponent() { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; - - [FieldOffset(32)] - internal int lineNumberEnd; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(72)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - - [FieldOffset(104)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - - [FieldOffset(136)] - internal byte isIncomplete; - - [FieldOffset(137)] - internal byte isDependent; + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [FieldOffset(138)] - internal byte isImplicit; + public VTableComponent(global::CppSharp.Parser.AST.VTableComponent _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.VTableComponent.__Internal*) _0.__Instance); + } - [FieldOffset(139)] - internal byte isInvalid; + public void Dispose() + { + Dispose(disposing: true); + } - [FieldOffset(144)] - internal global::System.IntPtr completeDeclaration; + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.VTableComponent __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } - [FieldOffset(152)] - internal uint definitionOrder; + public global::CppSharp.Parser.AST.VTableComponentKind Kind + { + get + { + return ((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->kind; + } - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + set + { + ((global::CppSharp.Parser.AST.VTableComponent.__Internal*)__Instance)->kind = value; + } + } - [FieldOffset(184)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + public uint Offset + { + get + { + return ((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->offset; + } - [FieldOffset(208)] - internal global::System.IntPtr originalPtr; + set + { + ((global::CppSharp.Parser.AST.VTableComponent.__Internal*)__Instance)->offset = value; + } + } - [FieldOffset(216)] - internal global::System.IntPtr comment; + public global::CppSharp.Parser.AST.Declaration Declaration + { + get + { + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration); + return __result0; + } - [FieldOffset(224)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; + set + { + ((global::CppSharp.Parser.AST.VTableComponent.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } - [FieldOffset(248)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; + public unsafe partial class VTableLayout : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_VTableComponent___N_std_S_allocator__S0_ Components; - [FieldOffset(272)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayoutC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); - [FieldOffset(296)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayoutC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - [FieldOffset(320)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayoutD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); - [FieldOffset(344)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout13getComponentsEj")] + internal static extern global::CppSharp.Parser.AST.VTableComponent.__Internal GetComponents(global::System.IntPtr __instance, uint i); - [FieldOffset(368)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout13addComponentsERNS1_15VTableComponentE")] + internal static extern void AddComponents(global::System.IntPtr __instance, global::System.IntPtr s); - [FieldOffset(392)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout15clearComponentsEv")] + internal static extern void ClearComponents(global::System.IntPtr __instance); - [FieldOffset(416)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout18getComponentsCountEv")] + internal static extern uint GetComponentsCount(global::System.IntPtr __instance); + } - [FieldOffset(440)] - internal global::Std.Map.__Internalc__N_std_S_map____N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + public global::System.IntPtr __Instance { get; protected set; } - [FieldOffset(488)] - internal byte isAnonymous; + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; - [FieldOffset(496)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BaseClassSpecifier___N_std_S_allocator__S0_ Bases; + protected bool __ownsNativeInstance; - [FieldOffset(520)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Field___N_std_S_allocator__S0_ Fields; + internal static global::CppSharp.Parser.AST.VTableLayout __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.VTableLayout(native.ToPointer(), skipVTables); + } - [FieldOffset(544)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_S_allocator__S0_ Methods; + internal static global::CppSharp.Parser.AST.VTableLayout __CreateInstance(global::CppSharp.Parser.AST.VTableLayout.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.VTableLayout(native, skipVTables); + } - [FieldOffset(568)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_AccessSpecifierDecl___N_std_S_allocator__S0_ Specifiers; + private static void* __CopyValue(global::CppSharp.Parser.AST.VTableLayout.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); + global::CppSharp.Parser.AST.VTableLayout.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(592)] - internal byte isPOD; + private VTableLayout(global::CppSharp.Parser.AST.VTableLayout.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(593)] - internal byte isAbstract; + protected VTableLayout(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(594)] - internal byte isUnion; + public VTableLayout() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [FieldOffset(595)] - internal byte isDynamic; + public VTableLayout(global::CppSharp.Parser.AST.VTableLayout _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(596)] - internal byte isPolymorphic; + public void Dispose() + { + Dispose(disposing: true); + } - [FieldOffset(597)] - internal byte hasNonTrivialDefaultConstructor; + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.VTableLayout __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } - [FieldOffset(598)] - internal byte hasNonTrivialCopyConstructor; + public global::CppSharp.Parser.AST.VTableComponent GetComponents(uint i) + { + var __ret = __Internal.GetComponents((__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.VTableComponent.__CreateInstance(__ret); + } - [FieldOffset(599)] - internal byte hasNonTrivialDestructor; + public void AddComponents(global::CppSharp.Parser.AST.VTableComponent s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddComponents((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(600)] - internal byte isExternCContext; + public void ClearComponents() + { + __Internal.ClearComponents((__Instance + __PointerAdjustment)); + } - [FieldOffset(601)] - internal byte isInjected; + public uint ComponentsCount + { + get + { + var __ret = __Internal.GetComponentsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } - [FieldOffset(608)] - internal global::System.IntPtr layout; + public unsafe partial class VFTableInfo : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public partial struct __Internal + { + [FieldOffset(0)] + internal ulong VBTableIndex; - [FieldOffset(616)] - internal global::System.IntPtr templatedDecl; + [FieldOffset(8)] + internal uint VFPtrOffset; - [FieldOffset(624)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; + [FieldOffset(12)] + internal uint VFPtrFullOffset; - [FieldOffset(648)] - internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.VTableLayout.__Internal layout; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecializationC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11VFTableInfoC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecializationC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST11VFTableInfoC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecializationD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11VFTableInfoD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecialization12getArgumentsEj")] - internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecialization12addArgumentsERNS1_16TemplateArgumentE")] - internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); + public global::System.IntPtr __Instance { get; protected set; } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecialization14clearArgumentsEv")] - internal static extern void ClearArguments(global::System.IntPtr __instance); + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecialization17getArgumentsCountEv")] - internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); - } + protected bool __ownsNativeInstance; - internal static new global::CppSharp.Parser.AST.ClassTemplateSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VFTableInfo __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ClassTemplateSpecialization(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.VFTableInfo(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.ClassTemplateSpecialization __CreateInstance(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VFTableInfo __CreateInstance(global::CppSharp.Parser.AST.VFTableInfo.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ClassTemplateSpecialization(native, skipVTables); + return new global::CppSharp.Parser.AST.VFTableInfo(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VFTableInfo.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); - global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); + global::CppSharp.Parser.AST.VFTableInfo.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private ClassTemplateSpecialization(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal native, bool skipVTables = false) + private VFTableInfo(global::CppSharp.Parser.AST.VFTableInfo.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected ClassTemplateSpecialization(void* native, bool skipVTables = false) - : base((void*) null) + protected VFTableInfo(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public ClassTemplateSpecialization() - : this((void*) null) + public VFTableInfo() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public ClassTemplateSpecialization(global::CppSharp.Parser.AST.ClassTemplateSpecialization _0) - : this((void*) null) + public VFTableInfo(global::CppSharp.Parser.AST.VFTableInfo _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -11567,11 +11787,16 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.VFTableInfo __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -11580,294 +11805,160 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) - { - var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); - __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); - } - - public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + public ulong VBTableIndex { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); - } + get + { + return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VBTableIndex; + } - public void ClearArguments() - { - __Internal.ClearArguments((__Instance + __PointerAdjustment)); + set + { + ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->VBTableIndex = value; + } } - public global::CppSharp.Parser.AST.ClassTemplate TemplatedDecl + public uint VFPtrOffset { get { - global::CppSharp.Parser.AST.ClassTemplate __result0; - if (((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.ClassTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl)) - __result0 = (global::CppSharp.Parser.AST.ClassTemplate) global::CppSharp.Parser.AST.ClassTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl]; - else __result0 = global::CppSharp.Parser.AST.ClassTemplate.__CreateInstance(((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl); - return __result0; + return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VFPtrOffset; } set { - ((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*)__Instance)->templatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->VFPtrOffset = value; } } - public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind + public uint VFPtrFullOffset { get { - return ((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->specializationKind; + return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VFPtrFullOffset; } set { - ((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*)__Instance)->specializationKind = value; + ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->VFPtrFullOffset = value; } } - public uint ArgumentsCount + public global::CppSharp.Parser.AST.VTableLayout Layout { get { - var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); - return __ret; + return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->layout)); + } + + set + { + ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->layout = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.VTableLayout.__Internal() : *(global::CppSharp.Parser.AST.VTableLayout.__Internal*) value.__Instance; } } } - public unsafe partial class ClassTemplatePartialSpecialization : global::CppSharp.Parser.AST.ClassTemplateSpecialization, IDisposable + public unsafe partial class LayoutField : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 656)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 64)] + public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; + internal uint offset; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; - - [FieldOffset(32)] - internal int lineNumberEnd; - - [FieldOffset(40)] internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - [FieldOffset(72)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - - [FieldOffset(104)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - - [FieldOffset(136)] - internal byte isIncomplete; - - [FieldOffset(137)] - internal byte isDependent; - - [FieldOffset(138)] - internal byte isImplicit; - - [FieldOffset(139)] - internal byte isInvalid; - - [FieldOffset(144)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(152)] - internal uint definitionOrder; - - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(184)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - - [FieldOffset(208)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(216)] - internal global::System.IntPtr comment; - - [FieldOffset(224)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; - - [FieldOffset(248)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; - - [FieldOffset(272)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; - - [FieldOffset(296)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; - - [FieldOffset(320)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; - - [FieldOffset(344)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; - - [FieldOffset(368)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; - - [FieldOffset(392)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; - - [FieldOffset(416)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; - - [FieldOffset(440)] - internal global::Std.Map.__Internalc__N_std_S_map____N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; - - [FieldOffset(488)] - internal byte isAnonymous; - - [FieldOffset(496)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BaseClassSpecifier___N_std_S_allocator__S0_ Bases; - - [FieldOffset(520)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Field___N_std_S_allocator__S0_ Fields; - - [FieldOffset(544)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_S_allocator__S0_ Methods; - - [FieldOffset(568)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_AccessSpecifierDecl___N_std_S_allocator__S0_ Specifiers; - - [FieldOffset(592)] - internal byte isPOD; - - [FieldOffset(593)] - internal byte isAbstract; - - [FieldOffset(594)] - internal byte isUnion; - - [FieldOffset(595)] - internal byte isDynamic; - - [FieldOffset(596)] - internal byte isPolymorphic; - - [FieldOffset(597)] - internal byte hasNonTrivialDefaultConstructor; - - [FieldOffset(598)] - internal byte hasNonTrivialCopyConstructor; - - [FieldOffset(599)] - internal byte hasNonTrivialDestructor; - - [FieldOffset(600)] - internal byte isExternCContext; - - [FieldOffset(601)] - internal byte isInjected; - - [FieldOffset(608)] - internal global::System.IntPtr layout; - - [FieldOffset(616)] - internal global::System.IntPtr templatedDecl; - - [FieldOffset(624)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; + [FieldOffset(40)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [FieldOffset(648)] - internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; + [FieldOffset(56)] + internal global::System.IntPtr fieldPtr; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST34ClassTemplatePartialSpecializationC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutFieldC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST34ClassTemplatePartialSpecializationC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutFieldC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr other); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST34ClassTemplatePartialSpecializationD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutFieldD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.LayoutField __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.LayoutField(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization __CreateInstance(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.LayoutField __CreateInstance(global::CppSharp.Parser.AST.LayoutField.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization(native, skipVTables); + return new global::CppSharp.Parser.AST.LayoutField(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.LayoutField.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); - global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); + global::CppSharp.Parser.AST.LayoutField.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private ClassTemplatePartialSpecialization(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native, bool skipVTables = false) + private LayoutField(global::CppSharp.Parser.AST.LayoutField.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected ClassTemplatePartialSpecialization(void* native, bool skipVTables = false) - : base((void*) null) + protected LayoutField(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public ClassTemplatePartialSpecialization() - : this((void*) null) + public LayoutField() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public ClassTemplatePartialSpecialization(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization _0) - : this((void*) null) + public LayoutField(global::CppSharp.Parser.AST.LayoutField other) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(other, null)) + throw new global::System.ArgumentNullException("other", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = other.__Instance; __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.LayoutField __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -11875,182 +11966,158 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - } - public unsafe partial class FunctionTemplate : global::CppSharp.Parser.AST.Template, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 280)] - public new partial struct __Internal + public uint Offset { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; - - [FieldOffset(32)] - internal int lineNumberEnd; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(72)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - - [FieldOffset(104)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - - [FieldOffset(136)] - internal byte isIncomplete; - - [FieldOffset(137)] - internal byte isDependent; - - [FieldOffset(138)] - internal byte isImplicit; - - [FieldOffset(139)] - internal byte isInvalid; + get + { + return ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->offset; + } - [FieldOffset(144)] - internal global::System.IntPtr completeDeclaration; + set + { + ((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->offset = value; + } + } - [FieldOffset(152)] - internal uint definitionOrder; + public string Name + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->name)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->name), value); + } + } - [FieldOffset(184)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + public global::CppSharp.Parser.AST.QualifiedType QualifiedType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->qualifiedType)); + } - [FieldOffset(208)] - internal global::System.IntPtr originalPtr; + set + { + ((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } - [FieldOffset(216)] - internal global::System.IntPtr comment; + public global::System.IntPtr FieldPtr + { + get + { + return ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->fieldPtr; + } - [FieldOffset(224)] - internal global::System.IntPtr TemplatedDecl; + set + { + ((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->fieldPtr = (global::System.IntPtr) value; + } + } + } - [FieldOffset(232)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; + public unsafe partial class LayoutBase : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 16)] + public partial struct __Internal + { + [FieldOffset(0)] + internal uint offset; - [FieldOffset(256)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_FunctionTemplateSpecialization___N_std_S_allocator__S0_ Specializations; + [FieldOffset(8)] + internal global::System.IntPtr _class; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplateC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST10LayoutBaseC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplateC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST10LayoutBaseC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr other); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplateD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST10LayoutBaseD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate18getSpecializationsEj")] - internal static extern global::System.IntPtr GetSpecializations(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate18addSpecializationsERPNS1_30FunctionTemplateSpecializationE")] - internal static extern void AddSpecializations(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate20clearSpecializationsEv")] - internal static extern void ClearSpecializations(global::System.IntPtr __instance); + public global::System.IntPtr __Instance { get; protected set; } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate18FindSpecializationERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE")] - internal static extern global::System.IntPtr FindSpecialization(global::System.IntPtr __instance, global::System.IntPtr usr); + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate23getSpecializationsCountEv")] - internal static extern uint GetSpecializationsCount(global::System.IntPtr __instance); - } + protected bool __ownsNativeInstance; - internal static new global::CppSharp.Parser.AST.FunctionTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.LayoutBase __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FunctionTemplate(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.LayoutBase(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.FunctionTemplate __CreateInstance(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.LayoutBase __CreateInstance(global::CppSharp.Parser.AST.LayoutBase.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FunctionTemplate(native, skipVTables); + return new global::CppSharp.Parser.AST.LayoutBase(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.LayoutBase.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); - global::CppSharp.Parser.AST.FunctionTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); + global::CppSharp.Parser.AST.LayoutBase.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private FunctionTemplate(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native, bool skipVTables = false) + private LayoutBase(global::CppSharp.Parser.AST.LayoutBase.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected FunctionTemplate(void* native, bool skipVTables = false) - : base((void*) null) + protected LayoutBase(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public FunctionTemplate() - : this((void*) null) + public LayoutBase() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public FunctionTemplate(global::CppSharp.Parser.AST.FunctionTemplate _0) - : this((void*) null) + public LayoutBase(global::CppSharp.Parser.AST.LayoutBase other) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; + if (ReferenceEquals(other, null)) + throw new global::System.ArgumentNullException("other", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = other.__Instance; __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.LayoutBase __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -12059,158 +12126,199 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.FunctionTemplateSpecialization GetSpecializations(uint i) - { - var __ret = __Internal.GetSpecializations((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(__ret); - return __result0; - } - - public void AddSpecializations(global::CppSharp.Parser.AST.FunctionTemplateSpecialization s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddSpecializations((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearSpecializations() + public uint Offset { - __Internal.ClearSpecializations((__Instance + __PointerAdjustment)); - } + get + { + return ((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->offset; + } - public global::CppSharp.Parser.AST.FunctionTemplateSpecialization FindSpecialization(string usr) - { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, usr); - var __arg0 = __basicString0.__Instance; - var __ret = __Internal.FindSpecialization((__Instance + __PointerAdjustment), __arg0); - __basicString0.Dispose(false); - global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(__ret); - return __result0; + set + { + ((global::CppSharp.Parser.AST.LayoutBase.__Internal*)__Instance)->offset = value; + } } - public uint SpecializationsCount + public global::CppSharp.Parser.AST.Class Class { get { - var __ret = __Internal.GetSpecializationsCount((__Instance + __PointerAdjustment)); - return __ret; + global::CppSharp.Parser.AST.Class __result0; + if (((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class)) + __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class]; + else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.LayoutBase.__Internal*)__Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class FunctionTemplateSpecialization : IDisposable + public unsafe partial class ClassLayout : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 136)] public partial struct __Internal { [FieldOffset(0)] - internal global::System.IntPtr _template; + internal global::CppSharp.Parser.AST.CppAbi ABI; [FieldOffset(8)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_VFTableInfo___N_std_S_allocator__S0_ VFTables; [FieldOffset(32)] - internal global::System.IntPtr specializedFunction; + internal global::CppSharp.Parser.AST.VTableLayout.__Internal layout; - [FieldOffset(40)] - internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; + [FieldOffset(56)] + internal byte hasOwnVFPtr; + + [FieldOffset(64)] + internal long VBPtrOffset; + + [FieldOffset(72)] + internal int alignment; + + [FieldOffset(76)] + internal int size; + + [FieldOffset(80)] + internal int dataSize; + + [FieldOffset(88)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_LayoutField___N_std_S_allocator__S0_ Fields; + + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_LayoutBase___N_std_S_allocator__S0_ Bases; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayoutC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayoutC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayoutD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization12getArgumentsEj")] - internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout11getVFTablesEj")] + internal static extern void GetVFTables(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization12addArgumentsERNS1_16TemplateArgumentE")] - internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout11addVFTablesERNS1_11VFTableInfoE")] + internal static extern void AddVFTables(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization14clearArgumentsEv")] - internal static extern void ClearArguments(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout13clearVFTablesEv")] + internal static extern void ClearVFTables(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization17getArgumentsCountEv")] - internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout9getFieldsEj")] + internal static extern void GetFields(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout9addFieldsERNS1_11LayoutFieldE")] + internal static extern void AddFields(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout11clearFieldsEv")] + internal static extern void ClearFields(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout8getBasesEj")] + internal static extern void GetBases(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout8addBasesERNS1_10LayoutBaseE")] + internal static extern void AddBases(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout10clearBasesEv")] + internal static extern void ClearBases(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout16getVFTablesCountEv")] + internal static extern uint GetVFTablesCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout14getFieldsCountEv")] + internal static extern uint GetFieldsCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout13getBasesCountEv")] + internal static extern uint GetBasesCount(global::System.IntPtr __instance); } public global::System.IntPtr __Instance { get; protected set; } protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); protected internal void*[] __OriginalVTables; protected bool __ownsNativeInstance; - internal static global::CppSharp.Parser.AST.FunctionTemplateSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.ClassLayout __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FunctionTemplateSpecialization(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.ClassLayout(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.FunctionTemplateSpecialization __CreateInstance(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.ClassLayout __CreateInstance(global::CppSharp.Parser.AST.ClassLayout.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FunctionTemplateSpecialization(native, skipVTables); + return new global::CppSharp.Parser.AST.ClassLayout(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ClassLayout.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); - global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); + global::CppSharp.Parser.AST.ClassLayout.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native, bool skipVTables = false) + private ClassLayout(global::CppSharp.Parser.AST.ClassLayout.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected FunctionTemplateSpecialization(void* native, bool skipVTables = false) + protected ClassLayout(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public FunctionTemplateSpecialization() + public ClassLayout() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization _0) + public ClassLayout(global::CppSharp.Parser.AST.ClassLayout _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -12228,7 +12336,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.FunctionTemplateSpecialization __dummy; + global::CppSharp.Parser.AST.ClassLayout __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -12237,88 +12345,188 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) + public global::CppSharp.Parser.AST.VFTableInfo GetVFTables(uint i) { - var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); - __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); + var __ret = new global::CppSharp.Parser.AST.VFTableInfo.__Internal(); + __Internal.GetVFTables(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.VFTableInfo.__CreateInstance(__ret); } - public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + public void AddVFTables(global::CppSharp.Parser.AST.VFTableInfo s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); + __Internal.AddVFTables((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearVFTables() + { + __Internal.ClearVFTables((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.LayoutField GetFields(uint i) + { + var __ret = new global::CppSharp.Parser.AST.LayoutField.__Internal(); + __Internal.GetFields(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.LayoutField.__CreateInstance(__ret); + } + + public void AddFields(global::CppSharp.Parser.AST.LayoutField s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddFields((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearFields() + { + __Internal.ClearFields((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.LayoutBase GetBases(uint i) + { + var __ret = new global::CppSharp.Parser.AST.LayoutBase.__Internal(); + __Internal.GetBases(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.LayoutBase.__CreateInstance(__ret); + } + + public void AddBases(global::CppSharp.Parser.AST.LayoutBase s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddBases((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearBases() + { + __Internal.ClearBases((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.CppAbi ABI + { + get + { + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->ABI; + } + + set + { + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->ABI = value; + } + } + + public global::CppSharp.Parser.AST.VTableLayout Layout + { + get + { + return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->layout)); + } + + set + { + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->layout = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.VTableLayout.__Internal() : *(global::CppSharp.Parser.AST.VTableLayout.__Internal*) value.__Instance; + } + } + + public bool HasOwnVFPtr + { + get + { + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->hasOwnVFPtr != 0; + } + + set + { + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->hasOwnVFPtr = (byte) (value ? 1 : 0); + } + } + + public long VBPtrOffset + { + get + { + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->VBPtrOffset; + } + + set + { + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->VBPtrOffset = value; + } } - public void ClearArguments() - { - __Internal.ClearArguments((__Instance + __PointerAdjustment)); + public int Alignment + { + get + { + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->alignment; + } + + set + { + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->alignment = value; + } } - public global::CppSharp.Parser.AST.FunctionTemplate Template + public int Size { get { - global::CppSharp.Parser.AST.FunctionTemplate __result0; - if (((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.FunctionTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template)) - __result0 = (global::CppSharp.Parser.AST.FunctionTemplate) global::CppSharp.Parser.AST.FunctionTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template]; - else __result0 = global::CppSharp.Parser.AST.FunctionTemplate.__CreateInstance(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template); - return __result0; + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->size; } set { - ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*)__Instance)->_template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->size = value; } } - public global::CppSharp.Parser.AST.Function SpecializedFunction + public int DataSize { get { - global::CppSharp.Parser.AST.Function __result0; - if (((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction)) - __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction]; - else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction); - return __result0; + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->dataSize; } set { - ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*)__Instance)->specializedFunction = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->dataSize = value; } } - public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind + public uint VFTablesCount { get { - return ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializationKind; + var __ret = __Internal.GetVFTablesCount((__Instance + __PointerAdjustment)); + return __ret; } + } - set + public uint FieldsCount + { + get { - ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*)__Instance)->specializationKind = value; + var __ret = __Internal.GetFieldsCount((__Instance + __PointerAdjustment)); + return __ret; } } - public uint ArgumentsCount + public uint BasesCount { get { - var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetBasesCount((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class VarTemplate : global::CppSharp.Parser.AST.Template, IDisposable + public unsafe partial class Class : global::CppSharp.Parser.AST.DeclarationContext, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 280)] + [StructLayout(LayoutKind.Explicit, Size = 616)] public new partial struct __Internal { [FieldOffset(0)] @@ -12382,332 +12590,204 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(224)] - internal global::System.IntPtr TemplatedDecl; - - [FieldOffset(232)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; - - [FieldOffset(256)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_VarTemplateSpecialization___N_std_S_allocator__S0_ Specializations; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplateC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplateC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplateD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate18getSpecializationsEj")] - internal static extern global::System.IntPtr GetSpecializations(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate18addSpecializationsERPNS1_25VarTemplateSpecializationE")] - internal static extern void AddSpecializations(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate20clearSpecializationsEv")] - internal static extern void ClearSpecializations(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate18FindSpecializationERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE")] - internal static extern global::System.IntPtr FindSpecialization(global::System.IntPtr __instance, global::System.IntPtr usr); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate25FindPartialSpecializationERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE")] - internal static extern global::System.IntPtr FindPartialSpecialization(global::System.IntPtr __instance, global::System.IntPtr usr); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate23getSpecializationsCountEv")] - internal static extern uint GetSpecializationsCount(global::System.IntPtr __instance); - } - - internal static new global::CppSharp.Parser.AST.VarTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.VarTemplate(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.VarTemplate __CreateInstance(global::CppSharp.Parser.AST.VarTemplate.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.VarTemplate(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplate.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); - global::CppSharp.Parser.AST.VarTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private VarTemplate(global::CppSharp.Parser.AST.VarTemplate.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; - protected VarTemplate(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [FieldOffset(248)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; - public VarTemplate() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + [FieldOffset(272)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; - public VarTemplate(global::CppSharp.Parser.AST.VarTemplate _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(296)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + [FieldOffset(320)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; - public global::CppSharp.Parser.AST.VarTemplateSpecialization GetSpecializations(uint i) - { - var __ret = __Internal.GetSpecializations((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.VarTemplateSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.VarTemplateSpecialization) global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.VarTemplateSpecialization.__CreateInstance(__ret); - return __result0; - } + [FieldOffset(344)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; - public void AddSpecializations(global::CppSharp.Parser.AST.VarTemplateSpecialization s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddSpecializations((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(368)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; - public void ClearSpecializations() - { - __Internal.ClearSpecializations((__Instance + __PointerAdjustment)); - } + [FieldOffset(392)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; - public global::CppSharp.Parser.AST.VarTemplateSpecialization FindSpecialization(string usr) - { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, usr); - var __arg0 = __basicString0.__Instance; - var __ret = __Internal.FindSpecialization((__Instance + __PointerAdjustment), __arg0); - __basicString0.Dispose(false); - global::CppSharp.Parser.AST.VarTemplateSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.VarTemplateSpecialization) global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.VarTemplateSpecialization.__CreateInstance(__ret); - return __result0; - } + [FieldOffset(416)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; - public global::CppSharp.Parser.AST.VarTemplatePartialSpecialization FindPartialSpecialization(string usr) - { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, usr); - var __arg0 = __basicString0.__Instance; - var __ret = __Internal.FindPartialSpecialization((__Instance + __PointerAdjustment), __arg0); - __basicString0.Dispose(false); - global::CppSharp.Parser.AST.VarTemplatePartialSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.VarTemplatePartialSpecialization) global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__CreateInstance(__ret); - return __result0; - } + [FieldOffset(440)] + internal global::Std.Map.__Internalc__N_std_S_map____N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; - public uint SpecializationsCount - { - get - { - var __ret = __Internal.GetSpecializationsCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - } + [FieldOffset(488)] + internal byte isAnonymous; - public unsafe partial class VarTemplateSpecialization : global::CppSharp.Parser.AST.Variable, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 312)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + [FieldOffset(496)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BaseClassSpecifier___N_std_S_allocator__S0_ Bases; - [FieldOffset(4)] - internal int maxFieldAlignment; + [FieldOffset(520)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Field___N_std_S_allocator__S0_ Fields; - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + [FieldOffset(544)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_S_allocator__S0_ Methods; - [FieldOffset(16)] - internal global::System.IntPtr _namespace; + [FieldOffset(568)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_AccessSpecifierDecl___N_std_S_allocator__S0_ Specifiers; - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + [FieldOffset(592)] + internal byte isPOD; - [FieldOffset(28)] - internal int lineNumberStart; + [FieldOffset(593)] + internal byte isAbstract; - [FieldOffset(32)] - internal int lineNumberEnd; + [FieldOffset(594)] + internal byte isUnion; - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + [FieldOffset(595)] + internal byte isDynamic; - [FieldOffset(72)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + [FieldOffset(596)] + internal byte isPolymorphic; - [FieldOffset(104)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + [FieldOffset(597)] + internal byte hasNonTrivialDefaultConstructor; - [FieldOffset(136)] - internal byte isIncomplete; + [FieldOffset(598)] + internal byte hasNonTrivialCopyConstructor; - [FieldOffset(137)] - internal byte isDependent; + [FieldOffset(599)] + internal byte hasNonTrivialDestructor; - [FieldOffset(138)] - internal byte isImplicit; + [FieldOffset(600)] + internal byte isExternCContext; - [FieldOffset(139)] - internal byte isInvalid; + [FieldOffset(601)] + internal byte isInjected; - [FieldOffset(144)] - internal global::System.IntPtr completeDeclaration; + [FieldOffset(608)] + internal global::System.IntPtr layout; - [FieldOffset(152)] - internal uint definitionOrder; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5ClassC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5ClassC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - [FieldOffset(184)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5ClassD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); - [FieldOffset(208)] - internal global::System.IntPtr originalPtr; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class8getBasesEj")] + internal static extern global::System.IntPtr GetBases(global::System.IntPtr __instance, uint i); - [FieldOffset(216)] - internal global::System.IntPtr comment; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class8addBasesERPNS1_18BaseClassSpecifierE")] + internal static extern void AddBases(global::System.IntPtr __instance, global::System.IntPtr s); - [FieldOffset(224)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class10clearBasesEv")] + internal static extern void ClearBases(global::System.IntPtr __instance); - [FieldOffset(256)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class9getFieldsEj")] + internal static extern global::System.IntPtr GetFields(global::System.IntPtr __instance, uint i); - [FieldOffset(272)] - internal global::System.IntPtr templatedDecl; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class9addFieldsERPNS1_5FieldE")] + internal static extern void AddFields(global::System.IntPtr __instance, global::System.IntPtr s); - [FieldOffset(280)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class11clearFieldsEv")] + internal static extern void ClearFields(global::System.IntPtr __instance); - [FieldOffset(304)] - internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class10getMethodsEj")] + internal static extern global::System.IntPtr GetMethods(global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecializationC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class10addMethodsERPNS1_6MethodE")] + internal static extern void AddMethods(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecializationC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class12clearMethodsEv")] + internal static extern void ClearMethods(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecializationD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class13getSpecifiersEj")] + internal static extern global::System.IntPtr GetSpecifiers(global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecialization12getArgumentsEj")] - internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class13addSpecifiersERPNS1_19AccessSpecifierDeclE")] + internal static extern void AddSpecifiers(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecialization12addArgumentsERNS1_16TemplateArgumentE")] - internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class15clearSpecifiersEv")] + internal static extern void ClearSpecifiers(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecialization14clearArgumentsEv")] - internal static extern void ClearArguments(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class13getBasesCountEv")] + internal static extern uint GetBasesCount(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecialization17getArgumentsCountEv")] - internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class14getFieldsCountEv")] + internal static extern uint GetFieldsCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class15getMethodsCountEv")] + internal static extern uint GetMethodsCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class18getSpecifiersCountEv")] + internal static extern uint GetSpecifiersCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.VarTemplateSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Class __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VarTemplateSpecialization(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Class(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.VarTemplateSpecialization __CreateInstance(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Class __CreateInstance(global::CppSharp.Parser.AST.Class.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VarTemplateSpecialization(native, skipVTables); + return new global::CppSharp.Parser.AST.Class(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Class.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); - global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); + global::CppSharp.Parser.AST.Class.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private VarTemplateSpecialization(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal native, bool skipVTables = false) + private Class(global::CppSharp.Parser.AST.Class.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected VarTemplateSpecialization(void* native, bool skipVTables = false) + protected Class(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -12716,19 +12796,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public VarTemplateSpecialization() + public Class() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public VarTemplateSpecialization(global::CppSharp.Parser.AST.VarTemplateSpecialization _0) + public Class(global::CppSharp.Parser.AST.Class _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -12737,247 +12817,303 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.BaseClassSpecifier GetBases(uint i) + { + var __ret = __Internal.GetBases((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.BaseClassSpecifier __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.BaseClassSpecifier.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.BaseClassSpecifier) global::CppSharp.Parser.AST.BaseClassSpecifier.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.BaseClassSpecifier.__CreateInstance(__ret); + return __result0; + } + + public void AddBases(global::CppSharp.Parser.AST.BaseClassSpecifier s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddBases((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearBases() + { + __Internal.ClearBases((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Field GetFields(uint i) + { + var __ret = __Internal.GetFields((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Field __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Field.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Field) global::CppSharp.Parser.AST.Field.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Field.__CreateInstance(__ret); + return __result0; + } + + public void AddFields(global::CppSharp.Parser.AST.Field s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddFields((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearFields() + { + __Internal.ClearFields((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Method GetMethods(uint i) + { + var __ret = __Internal.GetMethods((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Method __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Method.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Method) global::CppSharp.Parser.AST.Method.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Method.__CreateInstance(__ret); + return __result0; + } + + public void AddMethods(global::CppSharp.Parser.AST.Method s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddMethods((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearMethods() { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + __Internal.ClearMethods((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) + public global::CppSharp.Parser.AST.AccessSpecifierDecl GetSpecifiers(uint i) { - var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); - __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); + var __ret = __Internal.GetSpecifiers((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.AccessSpecifierDecl __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.AccessSpecifierDecl.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.AccessSpecifierDecl) global::CppSharp.Parser.AST.AccessSpecifierDecl.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.AccessSpecifierDecl.__CreateInstance(__ret); + return __result0; } - public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + public void AddSpecifiers(global::CppSharp.Parser.AST.AccessSpecifierDecl s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); + __Internal.AddSpecifiers((__Instance + __PointerAdjustment), __arg0); } - public void ClearArguments() + public void ClearSpecifiers() { - __Internal.ClearArguments((__Instance + __PointerAdjustment)); + __Internal.ClearSpecifiers((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.VarTemplate TemplatedDecl + public bool IsPOD { get { - global::CppSharp.Parser.AST.VarTemplate __result0; - if (((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.VarTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl)) - __result0 = (global::CppSharp.Parser.AST.VarTemplate) global::CppSharp.Parser.AST.VarTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl]; - else __result0 = global::CppSharp.Parser.AST.VarTemplate.__CreateInstance(((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl); - return __result0; + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isPOD != 0; } set { - ((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*)__Instance)->templatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isPOD = (byte) (value ? 1 : 0); } } - public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind + public bool IsAbstract { get { - return ((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->specializationKind; + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isAbstract != 0; } set { - ((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*)__Instance)->specializationKind = value; + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isAbstract = (byte) (value ? 1 : 0); } } - public uint ArgumentsCount + public bool IsUnion { get { - var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isUnion != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isUnion = (byte) (value ? 1 : 0); } } - } - public unsafe partial class VarTemplatePartialSpecialization : global::CppSharp.Parser.AST.VarTemplateSpecialization, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 312)] - public new partial struct __Internal + public bool IsDynamic { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; - - [FieldOffset(32)] - internal int lineNumberEnd; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(72)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - - [FieldOffset(104)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - - [FieldOffset(136)] - internal byte isIncomplete; - - [FieldOffset(137)] - internal byte isDependent; - - [FieldOffset(138)] - internal byte isImplicit; - - [FieldOffset(139)] - internal byte isInvalid; - - [FieldOffset(144)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(152)] - internal uint definitionOrder; - - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(184)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - - [FieldOffset(208)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(216)] - internal global::System.IntPtr comment; - - [FieldOffset(224)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isDynamic != 0; + } - [FieldOffset(256)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isDynamic = (byte) (value ? 1 : 0); + } + } - [FieldOffset(272)] - internal global::System.IntPtr templatedDecl; + public bool IsPolymorphic + { + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isPolymorphic != 0; + } - [FieldOffset(280)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isPolymorphic = (byte) (value ? 1 : 0); + } + } - [FieldOffset(304)] - internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; + public bool HasNonTrivialDefaultConstructor + { + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialDefaultConstructor != 0; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST32VarTemplatePartialSpecializationC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->hasNonTrivialDefaultConstructor = (byte) (value ? 1 : 0); + } + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST32VarTemplatePartialSpecializationC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + public bool HasNonTrivialCopyConstructor + { + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialCopyConstructor != 0; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST32VarTemplatePartialSpecializationD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->hasNonTrivialCopyConstructor = (byte) (value ? 1 : 0); + } } - internal static new global::CppSharp.Parser.AST.VarTemplatePartialSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public bool HasNonTrivialDestructor { - return new global::CppSharp.Parser.AST.VarTemplatePartialSpecialization(native.ToPointer(), skipVTables); + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialDestructor != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->hasNonTrivialDestructor = (byte) (value ? 1 : 0); + } } - internal static global::CppSharp.Parser.AST.VarTemplatePartialSpecialization __CreateInstance(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal native, bool skipVTables = false) + public bool IsExternCContext { - return new global::CppSharp.Parser.AST.VarTemplatePartialSpecialization(native, skipVTables); + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isExternCContext != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isExternCContext = (byte) (value ? 1 : 0); + } } - private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal native) + public bool IsInjected { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); - global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isInjected != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isInjected = (byte) (value ? 1 : 0); + } } - private VarTemplatePartialSpecialization(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + public global::CppSharp.Parser.AST.ClassLayout Layout { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + get + { + global::CppSharp.Parser.AST.ClassLayout __result0; + if (((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ClassLayout.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout)) + __result0 = (global::CppSharp.Parser.AST.ClassLayout) global::CppSharp.Parser.AST.ClassLayout.NativeToManagedMap[((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout]; + else __result0 = global::CppSharp.Parser.AST.ClassLayout.__CreateInstance(((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->layout = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } } - protected VarTemplatePartialSpecialization(void* native, bool skipVTables = false) - : base((void*) null) + public uint BasesCount { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); + get + { + var __ret = __Internal.GetBasesCount((__Instance + __PointerAdjustment)); + return __ret; + } } - public VarTemplatePartialSpecialization() - : this((void*) null) + public uint FieldsCount { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + get + { + var __ret = __Internal.GetFieldsCount((__Instance + __PointerAdjustment)); + return __ret; + } } - public VarTemplatePartialSpecialization(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization _0) - : this((void*) null) + public uint MethodsCount { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + get + { + var __ret = __Internal.GetMethodsCount((__Instance + __PointerAdjustment)); + return __ret; + } } - public override void Dispose(bool disposing) + public uint SpecifiersCount { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + get + { + var __ret = __Internal.GetSpecifiersCount((__Instance + __PointerAdjustment)); + return __ret; + } } } - public unsafe partial class Namespace : global::CppSharp.Parser.AST.DeclarationContext, IDisposable + public unsafe partial class Template : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 496)] + [StructLayout(LayoutKind.Explicit, Size = 256)] public new partial struct __Internal { [FieldOffset(0)] @@ -13041,82 +13177,77 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(224)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; - - [FieldOffset(248)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; - - [FieldOffset(272)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; - - [FieldOffset(296)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; - - [FieldOffset(320)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; - - [FieldOffset(344)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; + internal global::System.IntPtr TemplatedDecl; - [FieldOffset(368)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; + [FieldOffset(232)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; - [FieldOffset(392)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateC2ENS1_15DeclarationKindE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.DeclarationKind kind); - [FieldOffset(416)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); - [FieldOffset(440)] - internal global::Std.Map.__Internalc__N_std_S_map____N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - [FieldOffset(488)] - internal byte isAnonymous; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); - [FieldOffset(489)] - internal byte isInline; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Template13getParametersEj")] + internal static extern global::System.IntPtr GetParameters(global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST8Template13addParametersERPNS1_11DeclarationE")] + internal static extern void AddParameters(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST8Template15clearParametersEv")] + internal static extern void ClearParameters(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST8Template18getParametersCountEv")] + internal static extern uint GetParametersCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.Namespace __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Template __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Namespace(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Template(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Namespace __CreateInstance(global::CppSharp.Parser.AST.Namespace.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Template __CreateInstance(global::CppSharp.Parser.AST.Template.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Namespace(native, skipVTables); + return new global::CppSharp.Parser.AST.Template(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Namespace.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Template.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); - global::CppSharp.Parser.AST.Namespace.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + global::CppSharp.Parser.AST.Template.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Namespace(global::CppSharp.Parser.AST.Namespace.__Internal native, bool skipVTables = false) + private Template(global::CppSharp.Parser.AST.Template.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Namespace(void* native, bool skipVTables = false) + protected Template(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -13125,19 +13256,28 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Namespace() + public Template(global::CppSharp.Parser.AST.DeclarationKind kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), kind); + } + + public Template() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public Namespace(global::CppSharp.Parser.AST.Namespace _0) + public Template(global::CppSharp.Parser.AST.Template _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -13159,223 +13299,333 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public bool IsInline + public global::CppSharp.Parser.AST.Declaration GetParameters(uint i) + { + var __ret = __Internal.GetParameters((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Declaration __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(__ret); + return __result0; + } + + public void AddParameters(global::CppSharp.Parser.AST.Declaration s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddParameters((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearParameters() + { + __Internal.ClearParameters((__Instance + __PointerAdjustment)); + } + + public static implicit operator global::CppSharp.Parser.AST.Template(global::CppSharp.Parser.AST.DeclarationKind kind) + { + return new global::CppSharp.Parser.AST.Template(kind); + } + + public global::CppSharp.Parser.AST.Declaration TemplatedDecl { get { - return ((global::CppSharp.Parser.AST.Namespace.__Internal*) __Instance)->isInline != 0; + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.Template.__Internal*)__Instance)->TemplatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public uint ParametersCount + { + get + { + var __ret = __Internal.GetParametersCount((__Instance + __PointerAdjustment)); + return __ret; } + } + } + + public unsafe partial class TypeAliasTemplate : global::CppSharp.Parser.AST.Template, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 256)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(72)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(136)] + internal byte isIncomplete; + + [FieldOffset(137)] + internal byte isDependent; + + [FieldOffset(138)] + internal byte isImplicit; + + [FieldOffset(139)] + internal byte isInvalid; + + [FieldOffset(144)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(152)] + internal uint definitionOrder; - set - { - ((global::CppSharp.Parser.AST.Namespace.__Internal*)__Instance)->isInline = (byte) (value ? 1 : 0); - } - } - } + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - public unsafe partial class PreprocessedEntity : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 24)] - public partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.MacroLocation macroLocation; + [FieldOffset(184)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - [FieldOffset(8)] + [FieldOffset(208)] internal global::System.IntPtr originalPtr; - [FieldOffset(16)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + [FieldOffset(216)] + internal global::System.IntPtr comment; + + [FieldOffset(224)] + internal global::System.IntPtr TemplatedDecl; + + [FieldOffset(232)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18PreprocessedEntityC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST17TypeAliasTemplateC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18PreprocessedEntityC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST17TypeAliasTemplateC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - } - - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; - protected bool __ownsNativeInstance; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17TypeAliasTemplateD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + } - internal static global::CppSharp.Parser.AST.PreprocessedEntity __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TypeAliasTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.PreprocessedEntity(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TypeAliasTemplate(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.PreprocessedEntity __CreateInstance(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TypeAliasTemplate __CreateInstance(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.PreprocessedEntity(native, skipVTables); + return new global::CppSharp.Parser.AST.TypeAliasTemplate(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); - *(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) ret = native; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); + global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native, bool skipVTables = false) + private TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected PreprocessedEntity(void* native, bool skipVTables = false) + protected TypeAliasTemplate(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public PreprocessedEntity() + public TypeAliasTemplate() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity _0) + public TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) _0.__Instance); - } - - public void Dispose() - { - Dispose(disposing: true); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.PreprocessedEntity __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - - public global::CppSharp.Parser.AST.MacroLocation MacroLocation - { - get - { - return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->macroLocation; - } - - set - { - ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*)__Instance)->macroLocation = value; - } - } - - public global::System.IntPtr OriginalPtr - { - get - { - return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->originalPtr; - } - - set - { - ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*)__Instance)->originalPtr = (global::System.IntPtr) value; - } - } - - public global::CppSharp.Parser.AST.DeclarationKind Kind - { - get - { - return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->kind; - } - - set - { - ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*)__Instance)->kind = value; - } - } } - public unsafe partial class MacroDefinition : global::CppSharp.Parser.AST.PreprocessedEntity, IDisposable + public unsafe partial class TemplateParameter : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 96)] + [StructLayout(LayoutKind.Explicit, Size = 240)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.MacroLocation macroLocation; + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::System.IntPtr originalPtr; + internal global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(16)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::System.IntPtr _namespace; [FieldOffset(24)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(56)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C expression; + internal global::CppSharp.Parser.SourceLocation.__Internal location; - [FieldOffset(88)] + [FieldOffset(28)] internal int lineNumberStart; - [FieldOffset(92)] + [FieldOffset(32)] internal int lineNumberEnd; + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(72)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(136)] + internal byte isIncomplete; + + [FieldOffset(137)] + internal byte isDependent; + + [FieldOffset(138)] + internal byte isImplicit; + + [FieldOffset(139)] + internal byte isInvalid; + + [FieldOffset(144)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(152)] + internal uint definitionOrder; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(184)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(208)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(216)] + internal global::System.IntPtr comment; + + [FieldOffset(224)] + internal uint depth; + + [FieldOffset(228)] + internal uint index; + + [FieldOffset(232)] + internal byte isParameterPack; + [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15MacroDefinitionC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterC2ENS1_15DeclarationKindE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.DeclarationKind kind); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15MacroDefinitionC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15MacroDefinitionD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.MacroDefinition __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.MacroDefinition(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TemplateParameter(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.MacroDefinition __CreateInstance(global::CppSharp.Parser.AST.MacroDefinition.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TemplateParameter.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.MacroDefinition(native, skipVTables); + return new global::CppSharp.Parser.AST.TemplateParameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.MacroDefinition.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameter.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); - global::CppSharp.Parser.AST.MacroDefinition.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); + global::CppSharp.Parser.AST.TemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private MacroDefinition(global::CppSharp.Parser.AST.MacroDefinition.__Internal native, bool skipVTables = false) + private TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected MacroDefinition(void* native, bool skipVTables = false) + protected TemplateParameter(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -13384,19 +13634,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public MacroDefinition() + public TemplateParameter(global::CppSharp.Parser.AST.DeclarationKind kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + __Internal.ctor((__Instance + __PointerAdjustment), kind); } - public MacroDefinition(global::CppSharp.Parser.AST.MacroDefinition _0) + public TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -13409,7 +13659,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.PreprocessedEntity __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -13418,129 +13668,172 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public string Name + public static implicit operator global::CppSharp.Parser.AST.TemplateParameter(global::CppSharp.Parser.AST.DeclarationKind kind) { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->name)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->name), value); - } + return new global::CppSharp.Parser.AST.TemplateParameter(kind); } - public string Expression + public uint Depth { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->expression)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->depth; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->expression), value); + ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*)__Instance)->depth = value; } } - public int LineNumberStart + public uint Index { get { - return ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->lineNumberStart; + return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->index; } set { - ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->lineNumberStart = value; + ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*)__Instance)->index = value; } } - public int LineNumberEnd + public bool IsParameterPack { get { - return ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->lineNumberEnd; + return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->isParameterPack != 0; } set { - ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->lineNumberEnd = value; + ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*)__Instance)->isParameterPack = (byte) (value ? 1 : 0); } } } - public unsafe partial class MacroExpansion : global::CppSharp.Parser.AST.PreprocessedEntity, IDisposable + public unsafe partial class TemplateTemplateParameter : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 96)] + [StructLayout(LayoutKind.Explicit, Size = 264)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.MacroLocation macroLocation; + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::System.IntPtr originalPtr; + internal global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(16)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::System.IntPtr _namespace; [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - [FieldOffset(56)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; + [FieldOffset(72)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - [FieldOffset(88)] - internal global::System.IntPtr definition; + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(136)] + internal byte isIncomplete; + + [FieldOffset(137)] + internal byte isDependent; + + [FieldOffset(138)] + internal byte isImplicit; + + [FieldOffset(139)] + internal byte isInvalid; + + [FieldOffset(144)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(152)] + internal uint definitionOrder; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(184)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(208)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(216)] + internal global::System.IntPtr comment; + + [FieldOffset(224)] + internal global::System.IntPtr TemplatedDecl; + + [FieldOffset(232)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; + + [FieldOffset(256)] + internal byte isParameterPack; + + [FieldOffset(257)] + internal byte isPackExpansion; + + [FieldOffset(258)] + internal byte isExpandedParameterPack; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14MacroExpansionC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14MacroExpansionC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14MacroExpansionD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.MacroExpansion __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TemplateTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.MacroExpansion(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TemplateTemplateParameter(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.MacroExpansion __CreateInstance(global::CppSharp.Parser.AST.MacroExpansion.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TemplateTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.MacroExpansion(native, skipVTables); + return new global::CppSharp.Parser.AST.TemplateTemplateParameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.MacroExpansion.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); - global::CppSharp.Parser.AST.MacroExpansion.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); + global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private MacroExpansion(global::CppSharp.Parser.AST.MacroExpansion.__Internal native, bool skipVTables = false) + private TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected MacroExpansion(void* native, bool skipVTables = false) + protected TemplateTemplateParameter(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -13549,19 +13842,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public MacroExpansion() + public TemplateTemplateParameter() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public MacroExpansion(global::CppSharp.Parser.AST.MacroExpansion _0) + public TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -13574,7 +13867,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.PreprocessedEntity __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -13583,60 +13876,49 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public string Name + public bool IsParameterPack { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->name)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isParameterPack != 0; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*)__Instance)->name), value); + ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*)__Instance)->isParameterPack = (byte) (value ? 1 : 0); } } - public string Text + public bool IsPackExpansion { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->text)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isPackExpansion != 0; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*)__Instance)->text), value); + ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*)__Instance)->isPackExpansion = (byte) (value ? 1 : 0); } } - public global::CppSharp.Parser.AST.MacroDefinition Definition + public bool IsExpandedParameterPack { get { - global::CppSharp.Parser.AST.MacroDefinition __result0; - if (((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition)) - __result0 = (global::CppSharp.Parser.AST.MacroDefinition) global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap[((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition]; - else __result0 = global::CppSharp.Parser.AST.MacroDefinition.__CreateInstance(((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition); - return __result0; + return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack != 0; } set { - ((global::CppSharp.Parser.AST.MacroExpansion.__Internal*)__Instance)->definition = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*)__Instance)->isExpandedParameterPack = (byte) (value ? 1 : 0); } } } - public unsafe partial class TranslationUnit : global::CppSharp.Parser.AST.Namespace, IDisposable + public unsafe partial class TypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 560)] + [StructLayout(LayoutKind.Explicit, Size = 256)] public new partial struct __Internal { [FieldOffset(0)] @@ -13700,111 +13982,58 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(224)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; - - [FieldOffset(248)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; - - [FieldOffset(272)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; - - [FieldOffset(296)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; - - [FieldOffset(320)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; - - [FieldOffset(344)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; - - [FieldOffset(368)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; - - [FieldOffset(392)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; - - [FieldOffset(416)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; - - [FieldOffset(440)] - internal global::Std.Map.__Internalc__N_std_S_map____N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; - - [FieldOffset(488)] - internal byte isAnonymous; - - [FieldOffset(489)] - internal byte isInline; + internal uint depth; - [FieldOffset(496)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C fileName; + [FieldOffset(228)] + internal uint index; - [FieldOffset(528)] - internal byte isSystemHeader; + [FieldOffset(232)] + internal byte isParameterPack; - [FieldOffset(536)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_MacroDefinition___N_std_S_allocator__S0_ Macros; + [FieldOffset(240)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal defaultArgument; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnitC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST21TypeTemplateParameterC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnitC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST21TypeTemplateParameterC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnitD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST21TypeTemplateParameterD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnit9getMacrosEj")] - internal static extern global::System.IntPtr GetMacros(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnit9addMacrosERPNS1_15MacroDefinitionE")] - internal static extern void AddMacros(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnit11clearMacrosEv")] - internal static extern void ClearMacros(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnit14getMacrosCountEv")] - internal static extern uint GetMacrosCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.TranslationUnit __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TypeTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TranslationUnit(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TypeTemplateParameter(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TranslationUnit __CreateInstance(global::CppSharp.Parser.AST.TranslationUnit.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TypeTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TranslationUnit(native, skipVTables); + return new global::CppSharp.Parser.AST.TypeTemplateParameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TranslationUnit.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); - global::CppSharp.Parser.AST.TranslationUnit.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); + global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TranslationUnit(global::CppSharp.Parser.AST.TranslationUnit.__Internal native, bool skipVTables = false) + private TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TranslationUnit(void* native, bool skipVTables = false) + protected TypeTemplateParameter(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -13813,19 +14042,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TranslationUnit() + public TypeTemplateParameter() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TranslationUnit(global::CppSharp.Parser.AST.TranslationUnit _0) + public TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -13847,192 +14076,171 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.MacroDefinition GetMacros(uint i) - { - var __ret = __Internal.GetMacros((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.MacroDefinition __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.MacroDefinition) global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.MacroDefinition.__CreateInstance(__ret); - return __result0; - } - - public void AddMacros(global::CppSharp.Parser.AST.MacroDefinition s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddMacros((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearMacros() - { - __Internal.ClearMacros((__Instance + __PointerAdjustment)); - } - - public string FileName - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TranslationUnit.__Internal*) __Instance)->fileName)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TranslationUnit.__Internal*)__Instance)->fileName), value); - } - } - - public bool IsSystemHeader + public global::CppSharp.Parser.AST.QualifiedType DefaultArgument { get { - return ((global::CppSharp.Parser.AST.TranslationUnit.__Internal*) __Instance)->isSystemHeader != 0; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal*) __Instance)->defaultArgument)); } set { - ((global::CppSharp.Parser.AST.TranslationUnit.__Internal*)__Instance)->isSystemHeader = (byte) (value ? 1 : 0); - } - } - - public uint MacrosCount - { - get - { - var __ret = __Internal.GetMacrosCount((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal*)__Instance)->defaultArgument = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } } - public unsafe partial class NativeLibrary : IDisposable + public unsafe partial class NonTypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 88)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 264)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C fileName; + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; [FieldOffset(32)] - internal global::CppSharp.Parser.AST.ArchType archType; + internal int lineNumberEnd; [FieldOffset(40)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C___N_std_S_allocator__S0_ Symbols; + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - [FieldOffset(64)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C___N_std_S_allocator__S0_ Dependencies; + [FieldOffset(72)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibraryC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibraryC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + [FieldOffset(136)] + internal byte isIncomplete; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibraryD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); + [FieldOffset(137)] + internal byte isDependent; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary10getSymbolsEj")] - internal static extern global::System.IntPtr GetSymbols(global::System.IntPtr __instance, uint i); + [FieldOffset(138)] + internal byte isImplicit; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary10addSymbolsEPKc")] - internal static extern void AddSymbols(global::System.IntPtr __instance, [MarshalAs(UnmanagedType.LPStr)] string s); + [FieldOffset(139)] + internal byte isInvalid; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary12clearSymbolsEv")] - internal static extern void ClearSymbols(global::System.IntPtr __instance); + [FieldOffset(144)] + internal global::System.IntPtr completeDeclaration; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary15getDependenciesEj")] - internal static extern global::System.IntPtr GetDependencies(global::System.IntPtr __instance, uint i); + [FieldOffset(152)] + internal uint definitionOrder; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary15addDependenciesEPKc")] - internal static extern void AddDependencies(global::System.IntPtr __instance, [MarshalAs(UnmanagedType.LPStr)] string s); + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(184)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(208)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(216)] + internal global::System.IntPtr comment; + + [FieldOffset(224)] + internal uint depth; + + [FieldOffset(228)] + internal uint index; + + [FieldOffset(232)] + internal byte isParameterPack; + + [FieldOffset(240)] + internal global::System.IntPtr defaultArgument; + + [FieldOffset(248)] + internal global::System.IntPtr defaultArgumentNew; + + [FieldOffset(256)] + internal uint position; + + [FieldOffset(260)] + internal byte isPackExpansion; + + [FieldOffset(261)] + internal byte isExpandedParameterPack; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary17clearDependenciesEv")] - internal static extern void ClearDependencies(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary15getSymbolsCountEv")] - internal static extern uint GetSymbolsCount(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary20getDependenciesCountEv")] - internal static extern uint GetDependenciesCount(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); } - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.NativeLibrary __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.NonTypeTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.NativeLibrary(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.NonTypeTemplateParameter(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.NativeLibrary __CreateInstance(global::CppSharp.Parser.AST.NativeLibrary.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.NonTypeTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.NativeLibrary(native, skipVTables); + return new global::CppSharp.Parser.AST.NonTypeTemplateParameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.NativeLibrary.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); - global::CppSharp.Parser.AST.NativeLibrary.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); + global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private NativeLibrary(global::CppSharp.Parser.AST.NativeLibrary.__Internal native, bool skipVTables = false) + private NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected NativeLibrary(void* native, bool skipVTables = false) + protected NonTypeTemplateParameter(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public NativeLibrary() + public NonTypeTemplateParameter() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public NativeLibrary(global::CppSharp.Parser.AST.NativeLibrary _0) + public NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -14041,16 +14249,11 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.NativeLibrary __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -14059,185 +14262,248 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public string GetSymbols(uint i) - { - var __ret = __Internal.GetSymbols((__Instance + __PointerAdjustment), i); - return Marshal.PtrToStringAnsi(__ret); - } - - public void AddSymbols(string s) - { - __Internal.AddSymbols((__Instance + __PointerAdjustment), s); - } - - public void ClearSymbols() - { - __Internal.ClearSymbols((__Instance + __PointerAdjustment)); - } - - public string GetDependencies(uint i) - { - var __ret = __Internal.GetDependencies((__Instance + __PointerAdjustment), i); - return Marshal.PtrToStringAnsi(__ret); - } - - public void AddDependencies(string s) + public global::CppSharp.Parser.AST.ExpressionObsolete DefaultArgument { - __Internal.AddDependencies((__Instance + __PointerAdjustment), s); - } + get + { + global::CppSharp.Parser.AST.ExpressionObsolete __result0; + if (((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ExpressionObsolete.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument)) + __result0 = (global::CppSharp.Parser.AST.ExpressionObsolete) global::CppSharp.Parser.AST.ExpressionObsolete.NativeToManagedMap[((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument]; + else __result0 = global::CppSharp.Parser.AST.ExpressionObsolete.__CreateInstance(((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument); + return __result0; + } - public void ClearDependencies() - { - __Internal.ClearDependencies((__Instance + __PointerAdjustment)); + set + { + ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->defaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } } - public string FileName + public global::CppSharp.Parser.AST.Expr DefaultArgumentNew { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.NativeLibrary.__Internal*) __Instance)->fileName)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgumentNew == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgumentNew)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgumentNew]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgumentNew); + return __result0; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.NativeLibrary.__Internal*)__Instance)->fileName), value); + ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->defaultArgumentNew = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public global::CppSharp.Parser.AST.ArchType ArchType + public uint Position { get { - return ((global::CppSharp.Parser.AST.NativeLibrary.__Internal*) __Instance)->archType; + return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->position; } set { - ((global::CppSharp.Parser.AST.NativeLibrary.__Internal*)__Instance)->archType = value; + ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->position = value; } } - public uint SymbolsCount + public bool IsPackExpansion { get { - var __ret = __Internal.GetSymbolsCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->isPackExpansion != 0; + } + + set + { + ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->isPackExpansion = (byte) (value ? 1 : 0); } } - public uint DependenciesCount + public bool IsExpandedParameterPack { get { - var __ret = __Internal.GetDependenciesCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack != 0; + } + + set + { + ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->isExpandedParameterPack = (byte) (value ? 1 : 0); } } } - public unsafe partial class ASTContext : IDisposable + public unsafe partial class ClassTemplate : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 24)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 280)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TranslationUnit___N_std_S_allocator__S0_ TranslationUnits; + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(72)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(136)] + internal byte isIncomplete; + + [FieldOffset(137)] + internal byte isDependent; + + [FieldOffset(138)] + internal byte isImplicit; + + [FieldOffset(139)] + internal byte isInvalid; + + [FieldOffset(144)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(152)] + internal uint definitionOrder; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(184)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(208)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(216)] + internal global::System.IntPtr comment; + + [FieldOffset(224)] + internal global::System.IntPtr TemplatedDecl; + + [FieldOffset(232)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; + + [FieldOffset(256)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_ClassTemplateSpecialization___N_std_S_allocator__S0_ Specializations; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContextC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplateC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContextC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplateC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContextD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplateD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext18FindOrCreateModuleENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE")] - internal static extern global::System.IntPtr FindOrCreateModule(global::System.IntPtr __instance, global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C File); + EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate18getSpecializationsEj")] + internal static extern global::System.IntPtr GetSpecializations(global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext19getTranslationUnitsEj")] - internal static extern global::System.IntPtr GetTranslationUnits(global::System.IntPtr __instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate18addSpecializationsERPNS1_27ClassTemplateSpecializationE")] + internal static extern void AddSpecializations(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext19addTranslationUnitsERPNS1_15TranslationUnitE")] - internal static extern void AddTranslationUnits(global::System.IntPtr __instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate20clearSpecializationsEv")] + internal static extern void ClearSpecializations(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext21clearTranslationUnitsEv")] - internal static extern void ClearTranslationUnits(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate18FindSpecializationERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE")] + internal static extern global::System.IntPtr FindSpecialization(global::System.IntPtr __instance, global::System.IntPtr usr); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext24getTranslationUnitsCountEv")] - internal static extern uint GetTranslationUnitsCount(global::System.IntPtr __instance); - } - - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; + EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate25FindPartialSpecializationERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE")] + internal static extern global::System.IntPtr FindPartialSpecialization(global::System.IntPtr __instance, global::System.IntPtr usr); - protected bool __ownsNativeInstance; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate23getSpecializationsCountEv")] + internal static extern uint GetSpecializationsCount(global::System.IntPtr __instance); + } - internal static global::CppSharp.Parser.AST.ASTContext __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.ClassTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ASTContext(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.ClassTemplate(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.ASTContext __CreateInstance(global::CppSharp.Parser.AST.ASTContext.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.ClassTemplate __CreateInstance(global::CppSharp.Parser.AST.ClassTemplate.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ASTContext(native, skipVTables); + return new global::CppSharp.Parser.AST.ClassTemplate(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ASTContext.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplate.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); - global::CppSharp.Parser.AST.ASTContext.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal)); + global::CppSharp.Parser.AST.ClassTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private ASTContext(global::CppSharp.Parser.AST.ASTContext.__Internal native, bool skipVTables = false) + private ClassTemplate(global::CppSharp.Parser.AST.ClassTemplate.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected ASTContext(void* native, bool skipVTables = false) + protected ClassTemplate(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public ASTContext() + public ClassTemplate() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public ASTContext(global::CppSharp.Parser.AST.ASTContext _0) + public ClassTemplate(global::CppSharp.Parser.AST.ClassTemplate _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -14246,16 +14512,11 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.ASTContext __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -14264,213 +14525,283 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TranslationUnit FindOrCreateModule(string File) - { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, File); - var __arg0 = *(global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C*) __basicString0.__Instance; - var __ret = __Internal.FindOrCreateModule((__Instance + __PointerAdjustment), __arg0); - __basicString0.Dispose(false); - global::CppSharp.Parser.AST.TranslationUnit __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.TranslationUnit) global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.TranslationUnit.__CreateInstance(__ret); - return __result0; - } - - public global::CppSharp.Parser.AST.TranslationUnit GetTranslationUnits(uint i) + public global::CppSharp.Parser.AST.ClassTemplateSpecialization GetSpecializations(uint i) { - var __ret = __Internal.GetTranslationUnits((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.TranslationUnit __result0; + var __ret = __Internal.GetSpecializations((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.ClassTemplateSpecialization __result0; if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.TranslationUnit) global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.TranslationUnit.__CreateInstance(__ret); + else if (global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.ClassTemplateSpecialization) global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.ClassTemplateSpecialization.__CreateInstance(__ret); return __result0; } - public void AddTranslationUnits(global::CppSharp.Parser.AST.TranslationUnit s) + public void AddSpecializations(global::CppSharp.Parser.AST.ClassTemplateSpecialization s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddTranslationUnits((__Instance + __PointerAdjustment), __arg0); + __Internal.AddSpecializations((__Instance + __PointerAdjustment), __arg0); } - public void ClearTranslationUnits() + public void ClearSpecializations() { - __Internal.ClearTranslationUnits((__Instance + __PointerAdjustment)); + __Internal.ClearSpecializations((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.ClassTemplateSpecialization FindSpecialization(string usr) + { + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, usr); + var __arg0 = __basicString0.__Instance; + var __ret = __Internal.FindSpecialization((__Instance + __PointerAdjustment), __arg0); + __basicString0.Dispose(false); + global::CppSharp.Parser.AST.ClassTemplateSpecialization __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.ClassTemplateSpecialization) global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.ClassTemplateSpecialization.__CreateInstance(__ret); + return __result0; + } + + public global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization FindPartialSpecialization(string usr) + { + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, usr); + var __arg0 = __basicString0.__Instance; + var __ret = __Internal.FindPartialSpecialization((__Instance + __PointerAdjustment), __arg0); + __basicString0.Dispose(false); + global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization) global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__CreateInstance(__ret); + return __result0; } - public uint TranslationUnitsCount + public uint SpecializationsCount { get { - var __ret = __Internal.GetTranslationUnitsCount((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetSpecializationsCount((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class Comment : IDisposable + public unsafe partial class ClassTemplateSpecialization : global::CppSharp.Parser.AST.Class, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 4)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 656)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST7CommentC2ENS1_11CommentKindE")] - internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.CommentKind kind); + [FieldOffset(4)] + internal int maxFieldAlignment; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST7CommentC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - } + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; - public global::System.IntPtr __Instance { get; protected set; } + [FieldOffset(16)] + internal global::System.IntPtr _namespace; - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; - protected bool __ownsNativeInstance; + [FieldOffset(28)] + internal int lineNumberStart; - internal static global::CppSharp.Parser.AST.Comment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Comment(native.ToPointer(), skipVTables); - } + [FieldOffset(32)] + internal int lineNumberEnd; - internal static global::CppSharp.Parser.AST.Comment __CreateInstance(global::CppSharp.Parser.AST.Comment.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Comment(native, skipVTables); - } + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - private static void* __CopyValue(global::CppSharp.Parser.AST.Comment.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); - *(global::CppSharp.Parser.AST.Comment.__Internal*) ret = native; - return ret.ToPointer(); - } + [FieldOffset(72)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - private Comment(global::CppSharp.Parser.AST.Comment.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - protected Comment(void* native, bool skipVTables = false) - { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [FieldOffset(136)] + internal byte isIncomplete; - public Comment(global::CppSharp.Parser.AST.CommentKind kind) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), kind); - } + [FieldOffset(137)] + internal byte isDependent; - public Comment(global::CppSharp.Parser.AST.Comment _0) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.Comment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.Comment.__Internal*) _0.__Instance); - } + [FieldOffset(138)] + internal byte isImplicit; - public void Dispose() - { - Dispose(disposing: true); - } + [FieldOffset(139)] + internal byte isInvalid; - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Comment __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + [FieldOffset(144)] + internal global::System.IntPtr completeDeclaration; - public static implicit operator global::CppSharp.Parser.AST.Comment(global::CppSharp.Parser.AST.CommentKind kind) - { - return new global::CppSharp.Parser.AST.Comment(kind); - } + [FieldOffset(152)] + internal uint definitionOrder; - public global::CppSharp.Parser.AST.CommentKind Kind - { - get - { - return ((global::CppSharp.Parser.AST.Comment.__Internal*) __Instance)->kind; - } + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - set - { - ((global::CppSharp.Parser.AST.Comment.__Internal*)__Instance)->kind = value; - } - } - } + [FieldOffset(184)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - public unsafe partial class BlockContentComment : global::CppSharp.Parser.AST.Comment, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 4)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + [FieldOffset(208)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(216)] + internal global::System.IntPtr comment; + + [FieldOffset(224)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; + + [FieldOffset(248)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; + + [FieldOffset(272)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; + + [FieldOffset(296)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; + + [FieldOffset(320)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; + + [FieldOffset(344)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; + + [FieldOffset(368)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; + + [FieldOffset(392)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; + + [FieldOffset(416)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; + + [FieldOffset(440)] + internal global::Std.Map.__Internalc__N_std_S_map____N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + + [FieldOffset(488)] + internal byte isAnonymous; + + [FieldOffset(496)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BaseClassSpecifier___N_std_S_allocator__S0_ Bases; + + [FieldOffset(520)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Field___N_std_S_allocator__S0_ Fields; + + [FieldOffset(544)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_S_allocator__S0_ Methods; + + [FieldOffset(568)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_AccessSpecifierDecl___N_std_S_allocator__S0_ Specifiers; + + [FieldOffset(592)] + internal byte isPOD; + + [FieldOffset(593)] + internal byte isAbstract; + + [FieldOffset(594)] + internal byte isUnion; + + [FieldOffset(595)] + internal byte isDynamic; + + [FieldOffset(596)] + internal byte isPolymorphic; + + [FieldOffset(597)] + internal byte hasNonTrivialDefaultConstructor; + + [FieldOffset(598)] + internal byte hasNonTrivialCopyConstructor; + + [FieldOffset(599)] + internal byte hasNonTrivialDestructor; + + [FieldOffset(600)] + internal byte isExternCContext; + + [FieldOffset(601)] + internal byte isInjected; + + [FieldOffset(608)] + internal global::System.IntPtr layout; + + [FieldOffset(616)] + internal global::System.IntPtr templatedDecl; + + [FieldOffset(624)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; + + [FieldOffset(648)] + internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19BlockContentCommentC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecializationC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19BlockContentCommentC2ENS1_11CommentKindE")] - internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.CommentKind Kind); + EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecializationC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecializationD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecialization12getArgumentsEj")] + internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecialization12addArgumentsERNS1_16TemplateArgumentE")] + internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecialization14clearArgumentsEv")] + internal static extern void ClearArguments(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19BlockContentCommentC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecialization17getArgumentsCountEv")] + internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.BlockContentComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.ClassTemplateSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BlockContentComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.ClassTemplateSpecialization(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.BlockContentComment __CreateInstance(global::CppSharp.Parser.AST.BlockContentComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.ClassTemplateSpecialization __CreateInstance(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BlockContentComment(native, skipVTables); + return new global::CppSharp.Parser.AST.ClassTemplateSpecialization(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.BlockContentComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); - *(global::CppSharp.Parser.AST.BlockContentComment.__Internal*) ret = native; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); + global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private BlockContentComment(global::CppSharp.Parser.AST.BlockContentComment.__Internal native, bool skipVTables = false) + private ClassTemplateSpecialization(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected BlockContentComment(void* native, bool skipVTables = false) + protected ClassTemplateSpecialization(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -14479,111 +14810,294 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public BlockContentComment() + public ClassTemplateSpecialization() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public BlockContentComment(global::CppSharp.Parser.AST.CommentKind Kind) + public ClassTemplateSpecialization(global::CppSharp.Parser.AST.ClassTemplateSpecialization _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), Kind); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public BlockContentComment(global::CppSharp.Parser.AST.BlockContentComment _0) - : this((void*) null) + public override void Dispose(bool disposing) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.BlockContentComment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BlockContentComment.__Internal*) _0.__Instance); + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) + { + var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); + __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); + } + + public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearArguments() + { + __Internal.ClearArguments((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.ClassTemplate TemplatedDecl + { + get + { + global::CppSharp.Parser.AST.ClassTemplate __result0; + if (((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ClassTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl)) + __result0 = (global::CppSharp.Parser.AST.ClassTemplate) global::CppSharp.Parser.AST.ClassTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl]; + else __result0 = global::CppSharp.Parser.AST.ClassTemplate.__CreateInstance(((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*)__Instance)->templatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind + { + get + { + return ((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->specializationKind; + } + + set + { + ((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*)__Instance)->specializationKind = value; + } + } + + public uint ArgumentsCount + { + get + { + var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); + return __ret; + } } + } + + public unsafe partial class ClassTemplatePartialSpecialization : global::CppSharp.Parser.AST.ClassTemplateSpecialization, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 656)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(72)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(136)] + internal byte isIncomplete; + + [FieldOffset(137)] + internal byte isDependent; + + [FieldOffset(138)] + internal byte isImplicit; + + [FieldOffset(139)] + internal byte isInvalid; + + [FieldOffset(144)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(152)] + internal uint definitionOrder; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(184)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(208)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(216)] + internal global::System.IntPtr comment; + + [FieldOffset(224)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; + + [FieldOffset(248)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; + + [FieldOffset(272)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; + + [FieldOffset(296)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; + + [FieldOffset(320)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; + + [FieldOffset(344)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; + + [FieldOffset(368)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; + + [FieldOffset(392)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; + + [FieldOffset(416)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; + + [FieldOffset(440)] + internal global::Std.Map.__Internalc__N_std_S_map____N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + + [FieldOffset(488)] + internal byte isAnonymous; + + [FieldOffset(496)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BaseClassSpecifier___N_std_S_allocator__S0_ Bases; + + [FieldOffset(520)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Field___N_std_S_allocator__S0_ Fields; + + [FieldOffset(544)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_S_allocator__S0_ Methods; + + [FieldOffset(568)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_AccessSpecifierDecl___N_std_S_allocator__S0_ Specifiers; + + [FieldOffset(592)] + internal byte isPOD; + + [FieldOffset(593)] + internal byte isAbstract; + + [FieldOffset(594)] + internal byte isUnion; + + [FieldOffset(595)] + internal byte isDynamic; + + [FieldOffset(596)] + internal byte isPolymorphic; + + [FieldOffset(597)] + internal byte hasNonTrivialDefaultConstructor; + + [FieldOffset(598)] + internal byte hasNonTrivialCopyConstructor; + + [FieldOffset(599)] + internal byte hasNonTrivialDestructor; + + [FieldOffset(600)] + internal byte isExternCContext; + + [FieldOffset(601)] + internal byte isInjected; + + [FieldOffset(608)] + internal global::System.IntPtr layout; - public static implicit operator global::CppSharp.Parser.AST.BlockContentComment(global::CppSharp.Parser.AST.CommentKind Kind) - { - return new global::CppSharp.Parser.AST.BlockContentComment(Kind); - } - } + [FieldOffset(616)] + internal global::System.IntPtr templatedDecl; - public unsafe partial class FullComment : global::CppSharp.Parser.AST.Comment, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 32)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + [FieldOffset(624)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; - [FieldOffset(8)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BlockContentComment___N_std_S_allocator__S0_ Blocks; + [FieldOffset(648)] + internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11FullCommentC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST34ClassTemplatePartialSpecializationC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11FullCommentC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST34ClassTemplatePartialSpecializationC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11FullCommentD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST34ClassTemplatePartialSpecializationD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11FullComment9getBlocksEj")] - internal static extern global::System.IntPtr GetBlocks(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11FullComment9addBlocksERPNS1_19BlockContentCommentE")] - internal static extern void AddBlocks(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11FullComment11clearBlocksEv")] - internal static extern void ClearBlocks(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11FullComment14getBlocksCountEv")] - internal static extern uint GetBlocksCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.FullComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FullComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.FullComment __CreateInstance(global::CppSharp.Parser.AST.FullComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization __CreateInstance(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FullComment(native, skipVTables); + return new global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.FullComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); - global::CppSharp.Parser.AST.FullComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); + global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private FullComment(global::CppSharp.Parser.AST.FullComment.__Internal native, bool skipVTables = false) + private ClassTemplatePartialSpecialization(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected FullComment(void* native, bool skipVTables = false) + protected ClassTemplatePartialSpecialization(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -14592,19 +15106,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public FullComment() + public ClassTemplatePartialSpecialization() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public FullComment(global::CppSharp.Parser.AST.FullComment _0) + public ClassTemplatePartialSpecialization(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -14617,7 +15131,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Comment __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -14625,222 +15139,148 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - - public global::CppSharp.Parser.AST.BlockContentComment GetBlocks(uint i) - { - var __ret = __Internal.GetBlocks((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.BlockContentComment __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.BlockContentComment.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.BlockContentComment) global::CppSharp.Parser.AST.BlockContentComment.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.BlockContentComment.__CreateInstance(__ret); - return __result0; - } - - public void AddBlocks(global::CppSharp.Parser.AST.BlockContentComment s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddBlocks((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearBlocks() - { - __Internal.ClearBlocks((__Instance + __PointerAdjustment)); - } - - public uint BlocksCount - { - get - { - var __ret = __Internal.GetBlocksCount((__Instance + __PointerAdjustment)); - return __ret; - } - } } - public unsafe partial class InlineContentComment : global::CppSharp.Parser.AST.Comment, IDisposable + public unsafe partial class FunctionTemplate : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 280)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal byte hasTrailingNewline; + internal int maxFieldAlignment; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20InlineContentCommentC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20InlineContentCommentC2ENS1_11CommentKindE")] - internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.CommentKind Kind); + [FieldOffset(16)] + internal global::System.IntPtr _namespace; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20InlineContentCommentC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - } + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; - internal static new global::CppSharp.Parser.AST.InlineContentComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.InlineContentComment(native.ToPointer(), skipVTables); - } + [FieldOffset(28)] + internal int lineNumberStart; - internal static global::CppSharp.Parser.AST.InlineContentComment __CreateInstance(global::CppSharp.Parser.AST.InlineContentComment.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.InlineContentComment(native, skipVTables); - } + [FieldOffset(32)] + internal int lineNumberEnd; - private static void* __CopyValue(global::CppSharp.Parser.AST.InlineContentComment.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal)); - *(global::CppSharp.Parser.AST.InlineContentComment.__Internal*) ret = native; - return ret.ToPointer(); - } + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - private InlineContentComment(global::CppSharp.Parser.AST.InlineContentComment.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [FieldOffset(72)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - protected InlineContentComment(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - public InlineContentComment() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + [FieldOffset(136)] + internal byte isIncomplete; - public InlineContentComment(global::CppSharp.Parser.AST.CommentKind Kind) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), Kind); - } + [FieldOffset(137)] + internal byte isDependent; - public InlineContentComment(global::CppSharp.Parser.AST.InlineContentComment _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.InlineContentComment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.InlineContentComment.__Internal*) _0.__Instance); - } + [FieldOffset(138)] + internal byte isImplicit; - public static implicit operator global::CppSharp.Parser.AST.InlineContentComment(global::CppSharp.Parser.AST.CommentKind Kind) - { - return new global::CppSharp.Parser.AST.InlineContentComment(Kind); - } + [FieldOffset(139)] + internal byte isInvalid; - public bool HasTrailingNewline - { - get - { - return ((global::CppSharp.Parser.AST.InlineContentComment.__Internal*) __Instance)->hasTrailingNewline != 0; - } + [FieldOffset(144)] + internal global::System.IntPtr completeDeclaration; - set - { - ((global::CppSharp.Parser.AST.InlineContentComment.__Internal*)__Instance)->hasTrailingNewline = (byte) (value ? 1 : 0); - } - } - } + [FieldOffset(152)] + internal uint definitionOrder; - public unsafe partial class ParagraphComment : global::CppSharp.Parser.AST.BlockContentComment, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 32)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - [FieldOffset(4)] - internal byte isWhitespace; + [FieldOffset(184)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - [FieldOffset(8)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_InlineContentComment___N_std_S_allocator__S0_ Content; + [FieldOffset(208)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(216)] + internal global::System.IntPtr comment; + + [FieldOffset(224)] + internal global::System.IntPtr TemplatedDecl; + + [FieldOffset(232)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; + + [FieldOffset(256)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_FunctionTemplateSpecialization___N_std_S_allocator__S0_ Specializations; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16ParagraphCommentC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplateC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16ParagraphCommentC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplateC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16ParagraphCommentD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplateD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16ParagraphComment10getContentEj")] - internal static extern global::System.IntPtr GetContent(global::System.IntPtr __instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate18getSpecializationsEj")] + internal static extern global::System.IntPtr GetSpecializations(global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16ParagraphComment10addContentERPNS1_20InlineContentCommentE")] - internal static extern void AddContent(global::System.IntPtr __instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate18addSpecializationsERPNS1_30FunctionTemplateSpecializationE")] + internal static extern void AddSpecializations(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16ParagraphComment12clearContentEv")] - internal static extern void ClearContent(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate20clearSpecializationsEv")] + internal static extern void ClearSpecializations(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16ParagraphComment15getContentCountEv")] - internal static extern uint GetContentCount(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate18FindSpecializationERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE")] + internal static extern global::System.IntPtr FindSpecialization(global::System.IntPtr __instance, global::System.IntPtr usr); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate23getSpecializationsCountEv")] + internal static extern uint GetSpecializationsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.ParagraphComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.FunctionTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ParagraphComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.FunctionTemplate(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.ParagraphComment __CreateInstance(global::CppSharp.Parser.AST.ParagraphComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.FunctionTemplate __CreateInstance(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ParagraphComment(native, skipVTables); + return new global::CppSharp.Parser.AST.FunctionTemplate(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ParagraphComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParagraphComment.__Internal)); - global::CppSharp.Parser.AST.ParagraphComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); + global::CppSharp.Parser.AST.FunctionTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private ParagraphComment(global::CppSharp.Parser.AST.ParagraphComment.__Internal native, bool skipVTables = false) + private FunctionTemplate(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected ParagraphComment(void* native, bool skipVTables = false) + protected FunctionTemplate(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -14849,19 +15289,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public ParagraphComment() + public FunctionTemplate() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParagraphComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public ParagraphComment(global::CppSharp.Parser.AST.ParagraphComment _0) + public FunctionTemplate(global::CppSharp.Parser.AST.FunctionTemplate _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParagraphComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -14874,7 +15314,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Comment __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -14883,283 +15323,158 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.InlineContentComment GetContent(uint i) + public global::CppSharp.Parser.AST.FunctionTemplateSpecialization GetSpecializations(uint i) { - var __ret = __Internal.GetContent((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.InlineContentComment __result0; + var __ret = __Internal.GetSpecializations((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0; if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.InlineContentComment.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.InlineContentComment) global::CppSharp.Parser.AST.InlineContentComment.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.InlineContentComment.__CreateInstance(__ret); + else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(__ret); return __result0; } - public void AddContent(global::CppSharp.Parser.AST.InlineContentComment s) + public void AddSpecializations(global::CppSharp.Parser.AST.FunctionTemplateSpecialization s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddContent((__Instance + __PointerAdjustment), __arg0); + __Internal.AddSpecializations((__Instance + __PointerAdjustment), __arg0); } - public void ClearContent() + public void ClearSpecializations() { - __Internal.ClearContent((__Instance + __PointerAdjustment)); + __Internal.ClearSpecializations((__Instance + __PointerAdjustment)); } - public bool IsWhitespace + public global::CppSharp.Parser.AST.FunctionTemplateSpecialization FindSpecialization(string usr) { - get - { - return ((global::CppSharp.Parser.AST.ParagraphComment.__Internal*) __Instance)->isWhitespace != 0; - } - - set - { - ((global::CppSharp.Parser.AST.ParagraphComment.__Internal*)__Instance)->isWhitespace = (byte) (value ? 1 : 0); - } + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, usr); + var __arg0 = __basicString0.__Instance; + var __ret = __Internal.FindSpecialization((__Instance + __PointerAdjustment), __arg0); + __basicString0.Dispose(false); + global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(__ret); + return __result0; } - public uint ContentCount + public uint SpecializationsCount { get { - var __ret = __Internal.GetContentCount((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetSpecializationsCount((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class BlockCommandComment : global::CppSharp.Parser.AST.BlockContentComment, IDisposable + public unsafe partial class FunctionTemplateSpecialization : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 40)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 48)] + public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; - - [FieldOffset(4)] - internal uint commandId; + internal global::System.IntPtr _template; [FieldOffset(8)] - internal global::System.IntPtr paragraphComment; + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; - [FieldOffset(16)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_S_allocator__S0_ Arguments; + [FieldOffset(32)] + internal global::System.IntPtr specializedFunction; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandCommentC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + [FieldOffset(40)] + internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandCommentC2ENS1_11CommentKindE")] - internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.CommentKind Kind); + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandCommentC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandCommentD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandComment12getArgumentsEj")] + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization12getArgumentsEj")] internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandComment12addArgumentsERNS2_8ArgumentE")] - internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandComment14clearArgumentsEv")] - internal static extern void ClearArguments(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandComment17getArgumentsCountEv")] - internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); - } - - public unsafe partial class Argument : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 32)] - public partial struct __Internal - { - [FieldOffset(0)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandComment8ArgumentC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandComment8ArgumentC2ERKS3_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandComment8ArgumentD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); - } - - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.BlockCommandComment.Argument __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.BlockCommandComment.Argument(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.BlockCommandComment.Argument __CreateInstance(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.BlockCommandComment.Argument(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal)); - global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private Argument(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected Argument(void* native, bool skipVTables = false) - { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public Argument() - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } - - public Argument(global::CppSharp.Parser.AST.BlockCommandComment.Argument _0) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } - - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.BlockCommandComment.Argument __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public string Text - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal*) __Instance)->text)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization12addArgumentsERNS1_16TemplateArgumentE")] + internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal*)__Instance)->text), value); - } - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization14clearArgumentsEv")] + internal static extern void ClearArguments(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization17getArgumentsCountEv")] + internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.BlockCommandComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.FunctionTemplateSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BlockCommandComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.FunctionTemplateSpecialization(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.BlockCommandComment __CreateInstance(global::CppSharp.Parser.AST.BlockCommandComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.FunctionTemplateSpecialization __CreateInstance(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BlockCommandComment(native, skipVTables); + return new global::CppSharp.Parser.AST.FunctionTemplateSpecialization(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.BlockCommandComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__Internal)); - global::CppSharp.Parser.AST.BlockCommandComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); + global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private BlockCommandComment(global::CppSharp.Parser.AST.BlockCommandComment.__Internal native, bool skipVTables = false) + private FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected BlockCommandComment(void* native, bool skipVTables = false) - : base((void*) null) + protected FunctionTemplateSpecialization(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public BlockCommandComment() - : this((void*) null) + public FunctionTemplateSpecialization() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public BlockCommandComment(global::CppSharp.Parser.AST.CommentKind Kind) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), Kind); - } - - public BlockCommandComment(global::CppSharp.Parser.AST.BlockCommandComment _0) - : this((void*) null) + public FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -15168,11 +15483,16 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Comment __dummy; + global::CppSharp.Parser.AST.FunctionTemplateSpecialization __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -15181,14 +15501,14 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.BlockCommandComment.Argument GetArguments(uint i) + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) { - var __ret = new global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal(); + var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.BlockCommandComment.Argument.__CreateInstance(__ret); + return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); } - public void AddArguments(global::CppSharp.Parser.AST.BlockCommandComment.Argument s) + public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); @@ -15201,39 +15521,52 @@ namespace CppSharp __Internal.ClearArguments((__Instance + __PointerAdjustment)); } - public static implicit operator global::CppSharp.Parser.AST.BlockCommandComment(global::CppSharp.Parser.AST.CommentKind Kind) + public global::CppSharp.Parser.AST.FunctionTemplate Template { - return new global::CppSharp.Parser.AST.BlockCommandComment(Kind); + get + { + global::CppSharp.Parser.AST.FunctionTemplate __result0; + if (((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.FunctionTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template)) + __result0 = (global::CppSharp.Parser.AST.FunctionTemplate) global::CppSharp.Parser.AST.FunctionTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template]; + else __result0 = global::CppSharp.Parser.AST.FunctionTemplate.__CreateInstance(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*)__Instance)->_template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } } - public uint CommandId + public global::CppSharp.Parser.AST.Function SpecializedFunction { get { - return ((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*) __Instance)->commandId; + global::CppSharp.Parser.AST.Function __result0; + if (((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction)) + __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction]; + else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction); + return __result0; } set { - ((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*)__Instance)->commandId = value; + ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*)__Instance)->specializedFunction = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public global::CppSharp.Parser.AST.ParagraphComment ParagraphComment + public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind { get { - global::CppSharp.Parser.AST.ParagraphComment __result0; - if (((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*) __Instance)->paragraphComment == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.ParagraphComment.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*) __Instance)->paragraphComment)) - __result0 = (global::CppSharp.Parser.AST.ParagraphComment) global::CppSharp.Parser.AST.ParagraphComment.NativeToManagedMap[((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*) __Instance)->paragraphComment]; - else __result0 = global::CppSharp.Parser.AST.ParagraphComment.__CreateInstance(((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*) __Instance)->paragraphComment); - return __result0; + return ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializationKind; } set { - ((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*)__Instance)->paragraphComment = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*)__Instance)->specializationKind = value; } } @@ -15247,227 +15580,151 @@ namespace CppSharp } } - public unsafe partial class ParamCommandComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable + public unsafe partial class VarTemplate : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 280)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal uint commandId; + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::System.IntPtr paragraphComment; + internal global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(16)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_S_allocator__S0_ Arguments; - - [FieldOffset(40)] - internal global::CppSharp.Parser.AST.ParamCommandComment.PassDirection direction; - - [FieldOffset(44)] - internal uint paramIndex; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19ParamCommandCommentC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19ParamCommandCommentC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19ParamCommandCommentD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); - } + internal global::System.IntPtr _namespace; - public enum PassDirection : uint - { - In = 0, - Out = 1, - InOut = 2 - } + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; - internal static new global::CppSharp.Parser.AST.ParamCommandComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.ParamCommandComment(native.ToPointer(), skipVTables); - } + [FieldOffset(28)] + internal int lineNumberStart; - internal static global::CppSharp.Parser.AST.ParamCommandComment __CreateInstance(global::CppSharp.Parser.AST.ParamCommandComment.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.ParamCommandComment(native, skipVTables); - } + [FieldOffset(32)] + internal int lineNumberEnd; - private static void* __CopyValue(global::CppSharp.Parser.AST.ParamCommandComment.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParamCommandComment.__Internal)); - global::CppSharp.Parser.AST.ParamCommandComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - private ParamCommandComment(global::CppSharp.Parser.AST.ParamCommandComment.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [FieldOffset(72)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - protected ParamCommandComment(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - public ParamCommandComment() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParamCommandComment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + [FieldOffset(136)] + internal byte isIncomplete; - public ParamCommandComment(global::CppSharp.Parser.AST.ParamCommandComment _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParamCommandComment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(137)] + internal byte isDependent; - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Comment __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + [FieldOffset(138)] + internal byte isImplicit; - public global::CppSharp.Parser.AST.ParamCommandComment.PassDirection Direction - { - get - { - return ((global::CppSharp.Parser.AST.ParamCommandComment.__Internal*) __Instance)->direction; - } + [FieldOffset(139)] + internal byte isInvalid; - set - { - ((global::CppSharp.Parser.AST.ParamCommandComment.__Internal*)__Instance)->direction = value; - } - } + [FieldOffset(144)] + internal global::System.IntPtr completeDeclaration; - public uint ParamIndex - { - get - { - return ((global::CppSharp.Parser.AST.ParamCommandComment.__Internal*) __Instance)->paramIndex; - } + [FieldOffset(152)] + internal uint definitionOrder; - set - { - ((global::CppSharp.Parser.AST.ParamCommandComment.__Internal*)__Instance)->paramIndex = value; - } - } - } + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - public unsafe partial class TParamCommandComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 64)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + [FieldOffset(184)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - [FieldOffset(4)] - internal uint commandId; + [FieldOffset(208)] + internal global::System.IntPtr originalPtr; - [FieldOffset(8)] - internal global::System.IntPtr paragraphComment; + [FieldOffset(216)] + internal global::System.IntPtr comment; - [FieldOffset(16)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_S_allocator__S0_ Arguments; + [FieldOffset(224)] + internal global::System.IntPtr TemplatedDecl; - [FieldOffset(40)] - internal global::Std.Vector.__Internalc__N_std_S_vector__i___N_std_S_allocator__i Position; + [FieldOffset(232)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; + + [FieldOffset(256)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_VarTemplateSpecialization___N_std_S_allocator__S0_ Specializations; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20TParamCommandCommentC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplateC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20TParamCommandCommentC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplateC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20TParamCommandCommentD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplateD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20TParamCommandComment11getPositionEj")] - internal static extern uint GetPosition(global::System.IntPtr __instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate18getSpecializationsEj")] + internal static extern global::System.IntPtr GetSpecializations(global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20TParamCommandComment11addPositionERj")] - internal static extern void AddPosition(global::System.IntPtr __instance, uint* s); + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate18addSpecializationsERPNS1_25VarTemplateSpecializationE")] + internal static extern void AddSpecializations(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20TParamCommandComment13clearPositionEv")] - internal static extern void ClearPosition(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate20clearSpecializationsEv")] + internal static extern void ClearSpecializations(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20TParamCommandComment16getPositionCountEv")] - internal static extern uint GetPositionCount(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate18FindSpecializationERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE")] + internal static extern global::System.IntPtr FindSpecialization(global::System.IntPtr __instance, global::System.IntPtr usr); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate25FindPartialSpecializationERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE")] + internal static extern global::System.IntPtr FindPartialSpecialization(global::System.IntPtr __instance, global::System.IntPtr usr); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate23getSpecializationsCountEv")] + internal static extern uint GetSpecializationsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.TParamCommandComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.VarTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TParamCommandComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.VarTemplate(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TParamCommandComment __CreateInstance(global::CppSharp.Parser.AST.TParamCommandComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VarTemplate __CreateInstance(global::CppSharp.Parser.AST.VarTemplate.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TParamCommandComment(native, skipVTables); + return new global::CppSharp.Parser.AST.VarTemplate(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TParamCommandComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplate.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TParamCommandComment.__Internal)); - global::CppSharp.Parser.AST.TParamCommandComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); + global::CppSharp.Parser.AST.VarTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TParamCommandComment(global::CppSharp.Parser.AST.TParamCommandComment.__Internal native, bool skipVTables = false) + private VarTemplate(global::CppSharp.Parser.AST.VarTemplate.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TParamCommandComment(void* native, bool skipVTables = false) + protected VarTemplate(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -15476,19 +15733,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TParamCommandComment() + public VarTemplate() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TParamCommandComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TParamCommandComment(global::CppSharp.Parser.AST.TParamCommandComment _0) + public VarTemplate(global::CppSharp.Parser.AST.VarTemplate _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TParamCommandComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -15501,7 +15758,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Comment __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -15510,228 +15767,211 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public uint GetPosition(uint i) + public global::CppSharp.Parser.AST.VarTemplateSpecialization GetSpecializations(uint i) { - var __ret = __Internal.GetPosition((__Instance + __PointerAdjustment), i); - return __ret; + var __ret = __Internal.GetSpecializations((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.VarTemplateSpecialization __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.VarTemplateSpecialization) global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.VarTemplateSpecialization.__CreateInstance(__ret); + return __result0; } - public void AddPosition(ref uint s) + public void AddSpecializations(global::CppSharp.Parser.AST.VarTemplateSpecialization s) { - fixed (uint* __s0 = &s) - { - var __arg0 = __s0; - __Internal.AddPosition((__Instance + __PointerAdjustment), __arg0); - } + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddSpecializations((__Instance + __PointerAdjustment), __arg0); } - public void ClearPosition() + public void ClearSpecializations() { - __Internal.ClearPosition((__Instance + __PointerAdjustment)); + __Internal.ClearSpecializations((__Instance + __PointerAdjustment)); } - public uint PositionCount + public global::CppSharp.Parser.AST.VarTemplateSpecialization FindSpecialization(string usr) + { + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, usr); + var __arg0 = __basicString0.__Instance; + var __ret = __Internal.FindSpecialization((__Instance + __PointerAdjustment), __arg0); + __basicString0.Dispose(false); + global::CppSharp.Parser.AST.VarTemplateSpecialization __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.VarTemplateSpecialization) global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.VarTemplateSpecialization.__CreateInstance(__ret); + return __result0; + } + + public global::CppSharp.Parser.AST.VarTemplatePartialSpecialization FindPartialSpecialization(string usr) + { + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, usr); + var __arg0 = __basicString0.__Instance; + var __ret = __Internal.FindPartialSpecialization((__Instance + __PointerAdjustment), __arg0); + __basicString0.Dispose(false); + global::CppSharp.Parser.AST.VarTemplatePartialSpecialization __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.VarTemplatePartialSpecialization) global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__CreateInstance(__ret); + return __result0; + } + + public uint SpecializationsCount { get { - var __ret = __Internal.GetPositionCount((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetSpecializationsCount((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class VerbatimBlockLineComment : global::CppSharp.Parser.AST.Comment, IDisposable + public unsafe partial class VarTemplateSpecialization : global::CppSharp.Parser.AST.Variable, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 312)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; + internal global::CppSharp.Parser.AST.AccessSpecifier access; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST24VerbatimBlockLineCommentC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + [FieldOffset(16)] + internal global::System.IntPtr _namespace; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST24VerbatimBlockLineCommentC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST24VerbatimBlockLineCommentD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); - } + [FieldOffset(28)] + internal int lineNumberStart; - internal static new global::CppSharp.Parser.AST.VerbatimBlockLineComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.VerbatimBlockLineComment(native.ToPointer(), skipVTables); - } + [FieldOffset(32)] + internal int lineNumberEnd; - internal static global::CppSharp.Parser.AST.VerbatimBlockLineComment __CreateInstance(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.VerbatimBlockLineComment(native, skipVTables); - } + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - private static void* __CopyValue(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal)); - global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [FieldOffset(72)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - private VerbatimBlockLineComment(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - protected VerbatimBlockLineComment(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [FieldOffset(136)] + internal byte isIncomplete; - public VerbatimBlockLineComment() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + [FieldOffset(137)] + internal byte isDependent; - public VerbatimBlockLineComment(global::CppSharp.Parser.AST.VerbatimBlockLineComment _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(138)] + internal byte isImplicit; + + [FieldOffset(139)] + internal byte isInvalid; + + [FieldOffset(144)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(152)] + internal uint definitionOrder; - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Comment __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - public string Text - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal*) __Instance)->text)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + [FieldOffset(184)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal*)__Instance)->text), value); - } - } - } + [FieldOffset(208)] + internal global::System.IntPtr originalPtr; - public unsafe partial class VerbatimBlockComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 64)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + [FieldOffset(216)] + internal global::System.IntPtr comment; - [FieldOffset(4)] - internal uint commandId; + [FieldOffset(224)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; - [FieldOffset(8)] - internal global::System.IntPtr paragraphComment; + [FieldOffset(256)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [FieldOffset(16)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_S_allocator__S0_ Arguments; + [FieldOffset(272)] + internal global::System.IntPtr templatedDecl; - [FieldOffset(40)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_VerbatimBlockLineComment___N_std_S_allocator__S0_ Lines; + [FieldOffset(280)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; + + [FieldOffset(304)] + internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20VerbatimBlockCommentC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecializationC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20VerbatimBlockCommentC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecializationC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20VerbatimBlockCommentD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecializationD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20VerbatimBlockComment8getLinesEj")] - internal static extern global::System.IntPtr GetLines(global::System.IntPtr __instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecialization12getArgumentsEj")] + internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20VerbatimBlockComment8addLinesERPNS1_24VerbatimBlockLineCommentE")] - internal static extern void AddLines(global::System.IntPtr __instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecialization12addArgumentsERNS1_16TemplateArgumentE")] + internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20VerbatimBlockComment10clearLinesEv")] - internal static extern void ClearLines(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecialization14clearArgumentsEv")] + internal static extern void ClearArguments(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20VerbatimBlockComment13getLinesCountEv")] - internal static extern uint GetLinesCount(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecialization17getArgumentsCountEv")] + internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.VerbatimBlockComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.VarTemplateSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VerbatimBlockComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.VarTemplateSpecialization(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.VerbatimBlockComment __CreateInstance(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VarTemplateSpecialization __CreateInstance(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VerbatimBlockComment(native, skipVTables); + return new global::CppSharp.Parser.AST.VarTemplateSpecialization(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal)); - global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); + global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private VerbatimBlockComment(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal native, bool skipVTables = false) + private VarTemplateSpecialization(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected VerbatimBlockComment(void* native, bool skipVTables = false) + protected VarTemplateSpecialization(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -15740,19 +15980,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public VerbatimBlockComment() + public VarTemplateSpecialization() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public VerbatimBlockComment(global::CppSharp.Parser.AST.VerbatimBlockComment _0) + public VarTemplateSpecialization(global::CppSharp.Parser.AST.VarTemplateSpecialization _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -15765,7 +16005,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Comment __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -15774,101 +16014,188 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.VerbatimBlockLineComment GetLines(uint i) + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) { - var __ret = __Internal.GetLines((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.VerbatimBlockLineComment __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.VerbatimBlockLineComment.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.VerbatimBlockLineComment) global::CppSharp.Parser.AST.VerbatimBlockLineComment.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.VerbatimBlockLineComment.__CreateInstance(__ret); - return __result0; + var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); + __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); } - public void AddLines(global::CppSharp.Parser.AST.VerbatimBlockLineComment s) + public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddLines((__Instance + __PointerAdjustment), __arg0); + __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); } - public void ClearLines() + public void ClearArguments() { - __Internal.ClearLines((__Instance + __PointerAdjustment)); + __Internal.ClearArguments((__Instance + __PointerAdjustment)); } - public uint LinesCount + public global::CppSharp.Parser.AST.VarTemplate TemplatedDecl { get { - var __ret = __Internal.GetLinesCount((__Instance + __PointerAdjustment)); + global::CppSharp.Parser.AST.VarTemplate __result0; + if (((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.VarTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl)) + __result0 = (global::CppSharp.Parser.AST.VarTemplate) global::CppSharp.Parser.AST.VarTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl]; + else __result0 = global::CppSharp.Parser.AST.VarTemplate.__CreateInstance(((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*)__Instance)->templatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind + { + get + { + return ((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->specializationKind; + } + + set + { + ((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*)__Instance)->specializationKind = value; + } + } + + public uint ArgumentsCount + { + get + { + var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class VerbatimLineComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable + public unsafe partial class VarTemplatePartialSpecialization : global::CppSharp.Parser.AST.VarTemplateSpecialization, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 72)] + [StructLayout(LayoutKind.Explicit, Size = 312)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal uint commandId; + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::System.IntPtr paragraphComment; + internal global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(16)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_S_allocator__S0_ Arguments; + internal global::System.IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(72)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(136)] + internal byte isIncomplete; + + [FieldOffset(137)] + internal byte isDependent; + + [FieldOffset(138)] + internal byte isImplicit; + + [FieldOffset(139)] + internal byte isInvalid; + + [FieldOffset(144)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(152)] + internal uint definitionOrder; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(184)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(208)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(216)] + internal global::System.IntPtr comment; + + [FieldOffset(224)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; + + [FieldOffset(256)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(272)] + internal global::System.IntPtr templatedDecl; + + [FieldOffset(280)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; + + [FieldOffset(304)] + internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19VerbatimLineCommentC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST32VarTemplatePartialSpecializationC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19VerbatimLineCommentC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST32VarTemplatePartialSpecializationC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19VerbatimLineCommentD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST32VarTemplatePartialSpecializationD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.VerbatimLineComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.VarTemplatePartialSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VerbatimLineComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.VarTemplatePartialSpecialization(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.VerbatimLineComment __CreateInstance(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VarTemplatePartialSpecialization __CreateInstance(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VerbatimLineComment(native, skipVTables); + return new global::CppSharp.Parser.AST.VarTemplatePartialSpecialization(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal)); - global::CppSharp.Parser.AST.VerbatimLineComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); + global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private VerbatimLineComment(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal native, bool skipVTables = false) + private VarTemplatePartialSpecialization(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected VerbatimLineComment(void* native, bool skipVTables = false) + protected VarTemplatePartialSpecialization(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -15877,19 +16204,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public VerbatimLineComment() + public VarTemplatePartialSpecialization() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public VerbatimLineComment(global::CppSharp.Parser.AST.VerbatimLineComment _0) + public VarTemplatePartialSpecialization(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -15902,7 +16229,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Comment __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -15910,230 +16237,150 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - - public string Text - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VerbatimLineComment.__Internal*) __Instance)->text)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VerbatimLineComment.__Internal*)__Instance)->text), value); - } - } } - public unsafe partial class InlineCommandComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable + public unsafe partial class Namespace : global::CppSharp.Parser.AST.DeclarationContext, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 496)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal byte hasTrailingNewline; + internal int maxFieldAlignment; [FieldOffset(8)] - internal uint commandId; - - [FieldOffset(12)] - internal global::CppSharp.Parser.AST.InlineCommandComment.RenderKind commentRenderKind; + internal global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(16)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_InlineCommandComment_S_Argument___N_std_S_allocator__S0_ Arguments; + internal global::System.IntPtr _namespace; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandCommentC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandCommentC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + [FieldOffset(28)] + internal int lineNumberStart; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandCommentD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); + [FieldOffset(32)] + internal int lineNumberEnd; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandComment12getArgumentsEj")] - internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandComment12addArgumentsERNS2_8ArgumentE")] - internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); + [FieldOffset(72)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandComment14clearArgumentsEv")] - internal static extern void ClearArguments(global::System.IntPtr __instance); + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandComment17getArgumentsCountEv")] - internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); - } + [FieldOffset(136)] + internal byte isIncomplete; - public enum RenderKind : uint - { - RenderNormal = 0, - RenderBold = 1, - RenderMonospaced = 2, - RenderEmphasized = 3 - } + [FieldOffset(137)] + internal byte isDependent; - public unsafe partial class Argument : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 32)] - public partial struct __Internal - { - [FieldOffset(0)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; + [FieldOffset(138)] + internal byte isImplicit; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandComment8ArgumentC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + [FieldOffset(139)] + internal byte isInvalid; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandComment8ArgumentC2ERKS3_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + [FieldOffset(144)] + internal global::System.IntPtr completeDeclaration; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandComment8ArgumentD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); - } + [FieldOffset(152)] + internal uint definitionOrder; - public global::System.IntPtr __Instance { get; protected set; } + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; + [FieldOffset(184)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - protected bool __ownsNativeInstance; + [FieldOffset(208)] + internal global::System.IntPtr originalPtr; - internal static global::CppSharp.Parser.AST.InlineCommandComment.Argument __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.InlineCommandComment.Argument(native.ToPointer(), skipVTables); - } + [FieldOffset(216)] + internal global::System.IntPtr comment; - internal static global::CppSharp.Parser.AST.InlineCommandComment.Argument __CreateInstance(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.InlineCommandComment.Argument(native, skipVTables); - } + [FieldOffset(224)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; - private static void* __CopyValue(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal)); - global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [FieldOffset(248)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; - private Argument(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [FieldOffset(272)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; - protected Argument(void* native, bool skipVTables = false) - { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [FieldOffset(296)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; - public Argument() - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + [FieldOffset(320)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; - public Argument(global::CppSharp.Parser.AST.InlineCommandComment.Argument _0) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(344)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; - public void Dispose() - { - Dispose(disposing: true); - } + [FieldOffset(368)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.InlineCommandComment.Argument __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + [FieldOffset(392)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; - public string Text - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal*) __Instance)->text)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + [FieldOffset(416)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal*)__Instance)->text), value); - } - } + [FieldOffset(440)] + internal global::Std.Map.__Internalc__N_std_S_map____N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + + [FieldOffset(488)] + internal byte isAnonymous; + + [FieldOffset(489)] + internal byte isInline; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.InlineCommandComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Namespace __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.InlineCommandComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Namespace(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.InlineCommandComment __CreateInstance(global::CppSharp.Parser.AST.InlineCommandComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Namespace __CreateInstance(global::CppSharp.Parser.AST.Namespace.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.InlineCommandComment(native, skipVTables); + return new global::CppSharp.Parser.AST.Namespace(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.InlineCommandComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Namespace.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.__Internal)); - global::CppSharp.Parser.AST.InlineCommandComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); + global::CppSharp.Parser.AST.Namespace.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private InlineCommandComment(global::CppSharp.Parser.AST.InlineCommandComment.__Internal native, bool skipVTables = false) + private Namespace(global::CppSharp.Parser.AST.Namespace.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected InlineCommandComment(void* native, bool skipVTables = false) + protected Namespace(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -16142,19 +16389,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public InlineCommandComment() + public Namespace() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public InlineCommandComment(global::CppSharp.Parser.AST.InlineCommandComment _0) + public Namespace(global::CppSharp.Parser.AST.Namespace _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -16167,7 +16414,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Comment __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -16176,369 +16423,223 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.InlineCommandComment.Argument GetArguments(uint i) - { - var __ret = new global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal(); - __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.InlineCommandComment.Argument.__CreateInstance(__ret); - } - - public void AddArguments(global::CppSharp.Parser.AST.InlineCommandComment.Argument s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearArguments() - { - __Internal.ClearArguments((__Instance + __PointerAdjustment)); - } - - public uint CommandId - { - get - { - return ((global::CppSharp.Parser.AST.InlineCommandComment.__Internal*) __Instance)->commandId; - } - - set - { - ((global::CppSharp.Parser.AST.InlineCommandComment.__Internal*)__Instance)->commandId = value; - } - } - - public global::CppSharp.Parser.AST.InlineCommandComment.RenderKind CommentRenderKind + public bool IsInline { get { - return ((global::CppSharp.Parser.AST.InlineCommandComment.__Internal*) __Instance)->commentRenderKind; + return ((global::CppSharp.Parser.AST.Namespace.__Internal*) __Instance)->isInline != 0; } set { - ((global::CppSharp.Parser.AST.InlineCommandComment.__Internal*)__Instance)->commentRenderKind = value; - } - } - - public uint ArgumentsCount - { - get - { - var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.Namespace.__Internal*)__Instance)->isInline = (byte) (value ? 1 : 0); } } } - public unsafe partial class HTMLTagComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable + public unsafe partial class PreprocessedEntity : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 8)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 24)] + public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + internal global::CppSharp.Parser.AST.MacroLocation macroLocation; - [FieldOffset(4)] - internal byte hasTrailingNewline; + [FieldOffset(8)] + internal global::System.IntPtr originalPtr; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14HTMLTagCommentC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14HTMLTagCommentC2ENS1_11CommentKindE")] - internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.CommentKind Kind); + EntryPoint="_ZN8CppSharp9CppParser3AST18PreprocessedEntityC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14HTMLTagCommentC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST18PreprocessedEntityC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); } - internal static new global::CppSharp.Parser.AST.HTMLTagComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.PreprocessedEntity __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.HTMLTagComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.PreprocessedEntity(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.HTMLTagComment __CreateInstance(global::CppSharp.Parser.AST.HTMLTagComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.PreprocessedEntity __CreateInstance(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.HTMLTagComment(native, skipVTables); + return new global::CppSharp.Parser.AST.PreprocessedEntity(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.HTMLTagComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal)); - *(global::CppSharp.Parser.AST.HTMLTagComment.__Internal*) ret = native; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); + *(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) ret = native; return ret.ToPointer(); } - private HTMLTagComment(global::CppSharp.Parser.AST.HTMLTagComment.__Internal native, bool skipVTables = false) + private PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected HTMLTagComment(void* native, bool skipVTables = false) - : base((void*) null) + protected PreprocessedEntity(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public HTMLTagComment() - : this((void*) null) + public PreprocessedEntity() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public HTMLTagComment(global::CppSharp.Parser.AST.CommentKind Kind) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), Kind); - } - - public HTMLTagComment(global::CppSharp.Parser.AST.HTMLTagComment _0) - : this((void*) null) + public PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.HTMLTagComment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.HTMLTagComment.__Internal*) _0.__Instance); + *((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) _0.__Instance); } - public static implicit operator global::CppSharp.Parser.AST.HTMLTagComment(global::CppSharp.Parser.AST.CommentKind Kind) + public void Dispose() { - return new global::CppSharp.Parser.AST.HTMLTagComment(Kind); + Dispose(disposing: true); } - } - public unsafe partial class HTMLStartTagComment : global::CppSharp.Parser.AST.HTMLTagComment, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 64)] - public new partial struct __Internal + public virtual void Dispose(bool disposing) { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; - - [FieldOffset(4)] - internal byte hasTrailingNewline; - - [FieldOffset(8)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C tagName; - - [FieldOffset(40)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_HTMLStartTagComment_S_Attribute___N_std_S_allocator__S0_ Attributes; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagCommentC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagCommentC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagCommentD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagComment13getAttributesEj")] - internal static extern void GetAttributes(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagComment13addAttributesERNS2_9AttributeE")] - internal static extern void AddAttributes(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagComment15clearAttributesEv")] - internal static extern void ClearAttributes(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagComment18getAttributesCountEv")] - internal static extern uint GetAttributesCount(global::System.IntPtr __instance); + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.PreprocessedEntity __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } - public unsafe partial class Attribute : IDisposable + public global::CppSharp.Parser.AST.MacroLocation MacroLocation { - [StructLayout(LayoutKind.Explicit, Size = 64)] - public partial struct __Internal - { - [FieldOffset(0)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(32)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C value; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagComment9AttributeC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagComment9AttributeC2ERKS3_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagComment9AttributeD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); - } - - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute __CreateInstance(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal native, bool skipVTables = false) + get { - return new global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute(native, skipVTables); + return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->macroLocation; } - private static void* __CopyValue(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal native) + set { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal)); - global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); + ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*)__Instance)->macroLocation = value; } + } - private Attribute(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + public global::System.IntPtr OriginalPtr + { + get { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->originalPtr; } - protected Attribute(void* native, bool skipVTables = false) + set { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); + ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*)__Instance)->originalPtr = (global::System.IntPtr) value; } + } - public Attribute() + public global::CppSharp.Parser.AST.DeclarationKind Kind + { + get { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->kind; } - public Attribute(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute _0) + set { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*)__Instance)->kind = value; } + } + } - public void Dispose() - { - Dispose(disposing: true); - } + public unsafe partial class MacroDefinition : global::CppSharp.Parser.AST.PreprocessedEntity, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.MacroLocation macroLocation; - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + [FieldOffset(8)] + internal global::System.IntPtr originalPtr; - public string Name - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal*) __Instance)->name)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal*)__Instance)->name), value); - } - } + [FieldOffset(24)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - public string Value - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal*) __Instance)->value)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C expression; - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal*)__Instance)->value), value); - } - } + [FieldOffset(88)] + internal int lineNumberStart; + + [FieldOffset(92)] + internal int lineNumberEnd; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15MacroDefinitionC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15MacroDefinitionC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15MacroDefinitionD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.HTMLStartTagComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.MacroDefinition __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.HTMLStartTagComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.MacroDefinition(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.HTMLStartTagComment __CreateInstance(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.MacroDefinition __CreateInstance(global::CppSharp.Parser.AST.MacroDefinition.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.HTMLStartTagComment(native, skipVTables); + return new global::CppSharp.Parser.AST.MacroDefinition(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.MacroDefinition.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal)); - global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); + global::CppSharp.Parser.AST.MacroDefinition.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private HTMLStartTagComment(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal native, bool skipVTables = false) + private MacroDefinition(global::CppSharp.Parser.AST.MacroDefinition.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected HTMLStartTagComment(void* native, bool skipVTables = false) + protected MacroDefinition(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -16547,19 +16648,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public HTMLStartTagComment() + public MacroDefinition() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public HTMLStartTagComment(global::CppSharp.Parser.AST.HTMLStartTagComment _0) + public MacroDefinition(global::CppSharp.Parser.AST.MacroDefinition _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -16572,7 +16673,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Comment __dummy; + global::CppSharp.Parser.AST.PreprocessedEntity __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -16581,31 +16682,27 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute GetAttributes(uint i) - { - var __ret = new global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal(); - __Internal.GetAttributes(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__CreateInstance(__ret); - } - - public void AddAttributes(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute s) + public string Name { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddAttributes((__Instance + __PointerAdjustment), __arg0); - } + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->name)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - public void ClearAttributes() - { - __Internal.ClearAttributes((__Instance + __PointerAdjustment)); + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->name), value); + } } - public string TagName + public string Expression { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal*) __Instance)->tagName)); + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->expression)); var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); __basicStringRet0.Dispose(false); return __stringRet0; @@ -16613,75 +16710,101 @@ namespace CppSharp set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal*)__Instance)->tagName), value); + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->expression), value); } } - public uint AttributesCount + public int LineNumberStart { get { - var __ret = __Internal.GetAttributesCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->lineNumberStart; + } + + set + { + ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->lineNumberStart = value; + } + } + + public int LineNumberEnd + { + get + { + return ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->lineNumberEnd; + } + + set + { + ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->lineNumberEnd = value; } } } - public unsafe partial class HTMLEndTagComment : global::CppSharp.Parser.AST.HTMLTagComment, IDisposable + public unsafe partial class MacroExpansion : global::CppSharp.Parser.AST.PreprocessedEntity, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 96)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; - - [FieldOffset(4)] - internal byte hasTrailingNewline; + internal global::CppSharp.Parser.AST.MacroLocation macroLocation; [FieldOffset(8)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C tagName; + internal global::System.IntPtr originalPtr; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(24)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; + + [FieldOffset(88)] + internal global::System.IntPtr definition; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17HTMLEndTagCommentC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST14MacroExpansionC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17HTMLEndTagCommentC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST14MacroExpansionC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17HTMLEndTagCommentD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST14MacroExpansionD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.HTMLEndTagComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.MacroExpansion __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.HTMLEndTagComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.MacroExpansion(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.HTMLEndTagComment __CreateInstance(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.MacroExpansion __CreateInstance(global::CppSharp.Parser.AST.MacroExpansion.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.HTMLEndTagComment(native, skipVTables); + return new global::CppSharp.Parser.AST.MacroExpansion(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.MacroExpansion.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); - global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); + global::CppSharp.Parser.AST.MacroExpansion.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private HTMLEndTagComment(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal native, bool skipVTables = false) + private MacroExpansion(global::CppSharp.Parser.AST.MacroExpansion.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected HTMLEndTagComment(void* native, bool skipVTables = false) + protected MacroExpansion(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -16690,19 +16813,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public HTMLEndTagComment() + public MacroExpansion() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public HTMLEndTagComment(global::CppSharp.Parser.AST.HTMLEndTagComment _0) + public MacroExpansion(global::CppSharp.Parser.AST.MacroExpansion _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -16715,7 +16838,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Comment __dummy; + global::CppSharp.Parser.AST.PreprocessedEntity __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -16724,11 +16847,11 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public string TagName + public string Name { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal*) __Instance)->tagName)); + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->name)); var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); __basicStringRet0.Dispose(false); return __stringRet0; @@ -16736,66 +16859,216 @@ namespace CppSharp set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal*)__Instance)->tagName), value); + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*)__Instance)->name), value); + } + } + + public string Text + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->text)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*)__Instance)->text), value); + } + } + + public global::CppSharp.Parser.AST.MacroDefinition Definition + { + get + { + global::CppSharp.Parser.AST.MacroDefinition __result0; + if (((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition)) + __result0 = (global::CppSharp.Parser.AST.MacroDefinition) global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap[((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition]; + else __result0 = global::CppSharp.Parser.AST.MacroDefinition.__CreateInstance(((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.MacroExpansion.__Internal*)__Instance)->definition = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class TextComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable + public unsafe partial class TranslationUnit : global::CppSharp.Parser.AST.Namespace, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 560)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal byte hasTrailingNewline; + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(72)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(136)] + internal byte isIncomplete; + + [FieldOffset(137)] + internal byte isDependent; + + [FieldOffset(138)] + internal byte isImplicit; + + [FieldOffset(139)] + internal byte isInvalid; + + [FieldOffset(144)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(152)] + internal uint definitionOrder; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(184)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(208)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(216)] + internal global::System.IntPtr comment; + + [FieldOffset(224)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; + + [FieldOffset(248)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; + + [FieldOffset(272)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; + + [FieldOffset(296)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; + + [FieldOffset(320)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; + + [FieldOffset(344)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; + + [FieldOffset(368)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; + + [FieldOffset(392)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; + + [FieldOffset(416)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; + + [FieldOffset(440)] + internal global::Std.Map.__Internalc__N_std_S_map____N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + + [FieldOffset(488)] + internal byte isAnonymous; + + [FieldOffset(489)] + internal byte isInline; + + [FieldOffset(496)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C fileName; + + [FieldOffset(528)] + internal byte isSystemHeader; + + [FieldOffset(536)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_MacroDefinition___N_std_S_allocator__S0_ Macros; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TextCommentC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnitC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TextCommentC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnitC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TextCommentD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnitD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnit9getMacrosEj")] + internal static extern global::System.IntPtr GetMacros(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnit9addMacrosERPNS1_15MacroDefinitionE")] + internal static extern void AddMacros(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnit11clearMacrosEv")] + internal static extern void ClearMacros(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnit14getMacrosCountEv")] + internal static extern uint GetMacrosCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.TextComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TranslationUnit __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TextComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TranslationUnit(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TextComment __CreateInstance(global::CppSharp.Parser.AST.TextComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TranslationUnit __CreateInstance(global::CppSharp.Parser.AST.TranslationUnit.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TextComment(native, skipVTables); + return new global::CppSharp.Parser.AST.TranslationUnit(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TextComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TranslationUnit.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); - global::CppSharp.Parser.AST.TextComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); + global::CppSharp.Parser.AST.TranslationUnit.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TextComment(global::CppSharp.Parser.AST.TextComment.__Internal native, bool skipVTables = false) + private TranslationUnit(global::CppSharp.Parser.AST.TranslationUnit.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TextComment(void* native, bool skipVTables = false) + protected TranslationUnit(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -16804,19 +17077,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TextComment() + public TranslationUnit() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TextComment(global::CppSharp.Parser.AST.TextComment _0) + public TranslationUnit(global::CppSharp.Parser.AST.TranslationUnit _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -16829,7 +17102,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Comment __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -16838,106 +17111,168 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public string Text + public global::CppSharp.Parser.AST.MacroDefinition GetMacros(uint i) + { + var __ret = __Internal.GetMacros((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.MacroDefinition __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.MacroDefinition) global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.MacroDefinition.__CreateInstance(__ret); + return __result0; + } + + public void AddMacros(global::CppSharp.Parser.AST.MacroDefinition s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddMacros((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearMacros() + { + __Internal.ClearMacros((__Instance + __PointerAdjustment)); + } + + public string FileName { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TextComment.__Internal*) __Instance)->text)); + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TranslationUnit.__Internal*) __Instance)->fileName)); var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); __basicStringRet0.Dispose(false); return __stringRet0; } - set + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TranslationUnit.__Internal*)__Instance)->fileName), value); + } + } + + public bool IsSystemHeader + { + get + { + return ((global::CppSharp.Parser.AST.TranslationUnit.__Internal*) __Instance)->isSystemHeader != 0; + } + + set + { + ((global::CppSharp.Parser.AST.TranslationUnit.__Internal*)__Instance)->isSystemHeader = (byte) (value ? 1 : 0); + } + } + + public uint MacrosCount + { + get { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TextComment.__Internal*)__Instance)->text), value); + var __ret = __Internal.GetMacrosCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class RawComment : IDisposable + public unsafe partial class ASTContext : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 80)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.RawCommentKind kind; - - [FieldOffset(8)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C briefText; - - [FieldOffset(72)] - internal global::System.IntPtr fullCommentBlock; + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TranslationUnit___N_std_S_allocator__S0_ TranslationUnits; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10RawCommentC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContextC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10RawCommentC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContextC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10RawCommentD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContextD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext18FindOrCreateModuleENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE")] + internal static extern global::System.IntPtr FindOrCreateModule(global::System.IntPtr __instance, global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C File); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext19getTranslationUnitsEj")] + internal static extern global::System.IntPtr GetTranslationUnits(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext19addTranslationUnitsERPNS1_15TranslationUnitE")] + internal static extern void AddTranslationUnits(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext21clearTranslationUnitsEv")] + internal static extern void ClearTranslationUnits(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext24getTranslationUnitsCountEv")] + internal static extern uint GetTranslationUnitsCount(global::System.IntPtr __instance); } public global::System.IntPtr __Instance { get; protected set; } protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); protected internal void*[] __OriginalVTables; protected bool __ownsNativeInstance; - internal static global::CppSharp.Parser.AST.RawComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.ASTContext __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.RawComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.ASTContext(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.RawComment __CreateInstance(global::CppSharp.Parser.AST.RawComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.ASTContext __CreateInstance(global::CppSharp.Parser.AST.ASTContext.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.RawComment(native, skipVTables); + return new global::CppSharp.Parser.AST.ASTContext(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.RawComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ASTContext.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); - global::CppSharp.Parser.AST.RawComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); + global::CppSharp.Parser.AST.ASTContext.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private RawComment(global::CppSharp.Parser.AST.RawComment.__Internal native, bool skipVTables = false) + private ASTContext(global::CppSharp.Parser.AST.ASTContext.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected RawComment(void* native, bool skipVTables = false) + protected ASTContext(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public RawComment() + public ASTContext() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public RawComment(global::CppSharp.Parser.AST.RawComment _0) + public ASTContext(global::CppSharp.Parser.AST.ASTContext _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -16955,7 +17290,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.RawComment __dummy; + global::CppSharp.Parser.AST.ASTContext __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -16964,66 +17299,51 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.RawCommentKind Kind + public global::CppSharp.Parser.AST.TranslationUnit FindOrCreateModule(string File) { - get - { - return ((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->kind; - } - - set - { - ((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->kind = value; - } + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, File); + var __arg0 = *(global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C*) __basicString0.__Instance; + var __ret = __Internal.FindOrCreateModule((__Instance + __PointerAdjustment), __arg0); + __basicString0.Dispose(false); + global::CppSharp.Parser.AST.TranslationUnit __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.TranslationUnit) global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.TranslationUnit.__CreateInstance(__ret); + return __result0; } - public string Text + public global::CppSharp.Parser.AST.TranslationUnit GetTranslationUnits(uint i) { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->text)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->text), value); - } + var __ret = __Internal.GetTranslationUnits((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.TranslationUnit __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.TranslationUnit) global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.TranslationUnit.__CreateInstance(__ret); + return __result0; } - public string BriefText + public void AddTranslationUnits(global::CppSharp.Parser.AST.TranslationUnit s) { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->briefText)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddTranslationUnits((__Instance + __PointerAdjustment), __arg0); + } - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->briefText), value); - } + public void ClearTranslationUnits() + { + __Internal.ClearTranslationUnits((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.FullComment FullCommentBlock + public uint TranslationUnitsCount { get { - global::CppSharp.Parser.AST.FullComment __result0; - if (((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.FullComment.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock)) - __result0 = (global::CppSharp.Parser.AST.FullComment) global::CppSharp.Parser.AST.FullComment.NativeToManagedMap[((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock]; - else __result0 = global::CppSharp.Parser.AST.FullComment.__CreateInstance(((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->fullCommentBlock = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + var __ret = __Internal.GetTranslationUnitsCount((__Instance + __PointerAdjustment)); + return __ret; } } } @@ -17031,99 +17351,6 @@ namespace CppSharp } } -namespace CppSharp -{ - namespace Parser - { - public unsafe partial struct SourceLocation - { - [StructLayout(LayoutKind.Explicit, Size = 4)] - public partial struct __Internal - { - [FieldOffset(0)] - internal uint ID; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser14SourceLocationC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser14SourceLocationC2Ej")] - internal static extern void ctor(global::System.IntPtr __instance, uint ID); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser14SourceLocationC2ERKS1_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - } - - private SourceLocation.__Internal __instance; - internal SourceLocation.__Internal __Instance { get { return __instance; } } - - internal static global::CppSharp.Parser.SourceLocation __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.SourceLocation(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.SourceLocation __CreateInstance(global::CppSharp.Parser.SourceLocation.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.SourceLocation(native, skipVTables); - } - - private SourceLocation(global::CppSharp.Parser.SourceLocation.__Internal native, bool skipVTables = false) - : this() - { - __instance = native; - } - - private SourceLocation(void* native, bool skipVTables = false) : this() - { - __instance = *(global::CppSharp.Parser.SourceLocation.__Internal*) native; - } - - public SourceLocation(uint ID) - : this() - { - fixed (__Internal* __instancePtr = &__instance) - { - __Internal.ctor(new global::System.IntPtr(__instancePtr), ID); - } - } - - public SourceLocation(global::CppSharp.Parser.SourceLocation _0) - : this() - { - var ____arg0 = _0.__Instance; - var __arg0 = new global::System.IntPtr(&____arg0); - fixed (__Internal* __instancePtr = &__instance) - { - __Internal.cctor(new global::System.IntPtr(__instancePtr), __arg0); - } - } - - public static implicit operator global::CppSharp.Parser.SourceLocation(uint ID) - { - return new global::CppSharp.Parser.SourceLocation(ID); - } - - public uint ID - { - get - { - return __instance.ID; - } - - set - { - __instance.ID = value; - } - } - } - } -} - namespace CppSharp { namespace Parser diff --git a/src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/Std.cs b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/Std.cs index 6f206e0a..3479e018 100644 --- a/src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/Std.cs +++ b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/Std.cs @@ -283,7 +283,7 @@ namespace Std } [StructLayout(LayoutKind.Explicit, Size = 24)] - public unsafe partial struct __Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expression___N_std_S_allocator__S0_ + public unsafe partial struct __Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_ExpressionObsolete___N_std_S_allocator__S0_ { [FieldOffset(0)] internal global::Std.VectorBase.VectorImpl.__Internal _M_impl; @@ -545,7 +545,7 @@ namespace Std } [StructLayout(LayoutKind.Explicit, Size = 24)] - public unsafe partial struct __Internalc__N_std_S__Vector_base_____N_CppSharp_N_CppParser_N_AST_S_Expression___N_std_S_allocator__S0_ + public unsafe partial struct __Internalc__N_std_S__Vector_base_____N_CppSharp_N_CppParser_N_AST_S_ExpressionObsolete___N_std_S_allocator__S0_ { [FieldOffset(0)] internal global::Std.VectorBase.VectorImpl.__Internal _M_impl; @@ -655,8 +655,6 @@ namespace Std { public enum RbTreeColor : uint { - S_red = 0, - S_black = 1 } namespace RbTree diff --git a/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/CppSharp.CppParser.cs b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/CppSharp.CppParser.cs index 8590bac8..4df89207 100644 --- a/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/CppSharp.CppParser.cs +++ b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/CppSharp.CppParser.cs @@ -17,79 +17,6 @@ namespace CppSharp { namespace AST { - public enum TypeKind - { - Tag = 0, - Array = 1, - Function = 2, - Pointer = 3, - MemberPointer = 4, - Typedef = 5, - Attributed = 6, - Decayed = 7, - TemplateSpecialization = 8, - DependentTemplateSpecialization = 9, - TemplateParameter = 10, - TemplateParameterSubstitution = 11, - InjectedClassName = 12, - DependentName = 13, - PackExpansion = 14, - Builtin = 15, - UnaryTransform = 16, - Vector = 17 - } - - public enum DeclarationKind - { - DeclarationContext = 0, - Typedef = 1, - TypeAlias = 2, - Parameter = 3, - Function = 4, - Method = 5, - Enumeration = 6, - EnumerationItem = 7, - Variable = 8, - Field = 9, - AccessSpecifier = 10, - Class = 11, - Template = 12, - TypeAliasTemplate = 13, - ClassTemplate = 14, - ClassTemplateSpecialization = 15, - ClassTemplatePartialSpecialization = 16, - FunctionTemplate = 17, - Namespace = 18, - PreprocessedEntity = 19, - MacroDefinition = 20, - MacroExpansion = 21, - TranslationUnit = 22, - Friend = 23, - TemplateTemplateParm = 24, - TemplateTypeParm = 25, - NonTypeTemplateParm = 26, - VarTemplate = 27, - VarTemplateSpecialization = 28, - VarTemplatePartialSpecialization = 29 - } - - public enum AccessSpecifier - { - Private = 0, - Protected = 1, - Public = 2 - } - - public enum MacroLocation - { - Unknown = 0, - ClassHead = 1, - ClassBody = 2, - FunctionHead = 3, - FunctionParameters = 4, - FunctionBody = 5 - } - public enum RawCommentKind { Invalid = 0, @@ -121,176 +48,6 @@ namespace CppSharp VerbatimBlockLineComment = 14 } - public enum FriendKind - { - None = 0, - Declared = 1, - Undeclared = 2 - } - - public enum CXXOperatorKind - { - None = 0, - New = 1, - Delete = 2, - ArrayNew = 3, - ArrayDelete = 4, - Plus = 5, - Minus = 6, - Star = 7, - Slash = 8, - Percent = 9, - Caret = 10, - Amp = 11, - Pipe = 12, - Tilde = 13, - Exclaim = 14, - Equal = 15, - Less = 16, - Greater = 17, - PlusEqual = 18, - MinusEqual = 19, - StarEqual = 20, - SlashEqual = 21, - PercentEqual = 22, - CaretEqual = 23, - AmpEqual = 24, - PipeEqual = 25, - LessLess = 26, - GreaterGreater = 27, - LessLessEqual = 28, - GreaterGreaterEqual = 29, - EqualEqual = 30, - ExclaimEqual = 31, - LessEqual = 32, - GreaterEqual = 33, - Spaceship = 34, - AmpAmp = 35, - PipePipe = 36, - PlusPlus = 37, - MinusMinus = 38, - Comma = 39, - ArrowStar = 40, - Arrow = 41, - Call = 42, - Subscript = 43, - Conditional = 44, - Coawait = 45 - } - - public enum CallingConvention - { - Default = 0, - C = 1, - StdCall = 2, - ThisCall = 3, - FastCall = 4, - Unknown = 5 - } - - public enum StatementClass - { - Any = 0, - BinaryOperator = 1, - CallExprClass = 2, - DeclRefExprClass = 3, - CXXConstructExprClass = 4, - CXXOperatorCallExpr = 5, - ImplicitCastExpr = 6, - ExplicitCastExpr = 7 - } - - public enum TemplateSpecializationKind - { - Undeclared = 0, - ImplicitInstantiation = 1, - ExplicitSpecialization = 2, - ExplicitInstantiationDeclaration = 3, - ExplicitInstantiationDefinition = 4 - } - - public enum CXXMethodKind - { - Normal = 0, - Constructor = 1, - Destructor = 2, - Conversion = 3, - Operator = 4, - UsingDirective = 5 - } - - public enum RefQualifierKind - { - None = 0, - LValue = 1, - RValue = 2 - } - - public enum CppAbi - { - Itanium = 0, - Microsoft = 1, - ARM = 2, - iOS = 3, - iOS64 = 4 - } - - public enum VTableComponentKind - { - VCallOffset = 0, - VBaseOffset = 1, - OffsetToTop = 2, - RTTI = 3, - FunctionPointer = 4, - CompleteDtorPointer = 5, - DeletingDtorPointer = 6, - UnusedFunctionPointer = 7 - } - - public enum PrimitiveType - { - Null = 0, - Void = 1, - Bool = 2, - WideChar = 3, - Char = 4, - SChar = 5, - UChar = 6, - Char16 = 7, - Char32 = 8, - Short = 9, - UShort = 10, - Int = 11, - UInt = 12, - Long = 13, - ULong = 14, - LongLong = 15, - ULongLong = 16, - Int128 = 17, - UInt128 = 18, - Half = 19, - Float = 20, - Double = 21, - LongDouble = 22, - Float128 = 23, - IntPtr = 24 - } - - public enum ExceptionSpecType - { - None = 0, - DynamicNone = 1, - Dynamic = 2, - MSAny = 3, - BasicNoexcept = 4, - DependentNoexcept = 5, - NoexceptFalse = 6, - NoexceptTrue = 7, - Unevaluated = 8, - Uninstantiated = 9, - Unparsed = 10 - } - public enum ArchType { UnknownArch = 0, @@ -298,78 +55,129 @@ namespace CppSharp X86_64 = 2 } - public unsafe partial class Type : IDisposable + public unsafe partial class NativeLibrary : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 64)] public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C fileName; - [FieldOffset(4)] - internal byte isDependent; + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.ArchType archType; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST4TypeC2ENS1_8TypeKindE")] - internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.TypeKind kind); + [FieldOffset(16)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C___N_std_S_allocator__S0_ Symbols; + + [FieldOffset(40)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C___N_std_S_allocator__S0_ Dependencies; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST4TypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibraryC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibraryC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibraryD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary10getSymbolsEj")] + internal static extern global::System.IntPtr GetSymbols(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary10addSymbolsEPKc")] + internal static extern void AddSymbols(global::System.IntPtr __instance, [MarshalAs(UnmanagedType.LPStr)] string s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary12clearSymbolsEv")] + internal static extern void ClearSymbols(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary15getDependenciesEj")] + internal static extern global::System.IntPtr GetDependencies(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary15addDependenciesEPKc")] + internal static extern void AddDependencies(global::System.IntPtr __instance, [MarshalAs(UnmanagedType.LPStr)] string s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary17clearDependenciesEv")] + internal static extern void ClearDependencies(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary15getSymbolsCountEv")] + internal static extern uint GetSymbolsCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary20getDependenciesCountEv")] + internal static extern uint GetDependenciesCount(global::System.IntPtr __instance); } public global::System.IntPtr __Instance { get; protected set; } protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); protected internal void*[] __OriginalVTables; protected bool __ownsNativeInstance; - internal static global::CppSharp.Parser.AST.Type __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.NativeLibrary __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Type(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.NativeLibrary(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Type __CreateInstance(global::CppSharp.Parser.AST.Type.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.NativeLibrary __CreateInstance(global::CppSharp.Parser.AST.NativeLibrary.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Type(native, skipVTables); + return new global::CppSharp.Parser.AST.NativeLibrary(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Type.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.NativeLibrary.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Type.__Internal)); - global::CppSharp.Parser.AST.Type.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); + global::CppSharp.Parser.AST.NativeLibrary.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Type(global::CppSharp.Parser.AST.Type.__Internal native, bool skipVTables = false) + private NativeLibrary(global::CppSharp.Parser.AST.NativeLibrary.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Type(void* native, bool skipVTables = false) + protected NativeLibrary(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public Type(global::CppSharp.Parser.AST.TypeKind kind) + public NativeLibrary() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Type.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), kind); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public Type(global::CppSharp.Parser.AST.Type _0) + public NativeLibrary(global::CppSharp.Parser.AST.NativeLibrary _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Type.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -387,117 +195,167 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Type __dummy; + global::CppSharp.Parser.AST.NativeLibrary __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - public static implicit operator global::CppSharp.Parser.AST.Type(global::CppSharp.Parser.AST.TypeKind kind) + public string GetSymbols(uint i) { - return new global::CppSharp.Parser.AST.Type(kind); + var __ret = __Internal.GetSymbols((__Instance + __PointerAdjustment), i); + return Marshal.PtrToStringAnsi(__ret); } - public global::CppSharp.Parser.AST.TypeKind Kind + public void AddSymbols(string s) + { + __Internal.AddSymbols((__Instance + __PointerAdjustment), s); + } + + public void ClearSymbols() + { + __Internal.ClearSymbols((__Instance + __PointerAdjustment)); + } + + public string GetDependencies(uint i) + { + var __ret = __Internal.GetDependencies((__Instance + __PointerAdjustment), i); + return Marshal.PtrToStringAnsi(__ret); + } + + public void AddDependencies(string s) + { + __Internal.AddDependencies((__Instance + __PointerAdjustment), s); + } + + public void ClearDependencies() + { + __Internal.ClearDependencies((__Instance + __PointerAdjustment)); + } + + public string FileName { get { - return ((global::CppSharp.Parser.AST.Type.__Internal*) __Instance)->kind; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.NativeLibrary.__Internal*) __Instance)->fileName)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.Type.__Internal*)__Instance)->kind = value; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.NativeLibrary.__Internal*)__Instance)->fileName), value); } } - public bool IsDependent + public global::CppSharp.Parser.AST.ArchType ArchType { get { - return ((global::CppSharp.Parser.AST.Type.__Internal*) __Instance)->isDependent != 0; + return ((global::CppSharp.Parser.AST.NativeLibrary.__Internal*) __Instance)->archType; } set { - ((global::CppSharp.Parser.AST.Type.__Internal*)__Instance)->isDependent = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.NativeLibrary.__Internal*)__Instance)->archType = value; + } + } + + public uint SymbolsCount + { + get + { + var __ret = __Internal.GetSymbolsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public uint DependenciesCount + { + get + { + var __ret = __Internal.GetDependenciesCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class TypeQualifiers : IDisposable + public unsafe partial class Comment : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 3)] + [StructLayout(LayoutKind.Explicit, Size = 4)] public partial struct __Internal { [FieldOffset(0)] - internal byte isConst; - - [FieldOffset(1)] - internal byte isVolatile; + internal global::CppSharp.Parser.AST.CommentKind kind; - [FieldOffset(2)] - internal byte isRestrict; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST7CommentC2ENS1_11CommentKindE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.CommentKind kind); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14TypeQualifiersC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST7CommentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); } public global::System.IntPtr __Instance { get; protected set; } protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); protected internal void*[] __OriginalVTables; protected bool __ownsNativeInstance; - internal static global::CppSharp.Parser.AST.TypeQualifiers __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Comment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypeQualifiers(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Comment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TypeQualifiers __CreateInstance(global::CppSharp.Parser.AST.TypeQualifiers.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Comment __CreateInstance(global::CppSharp.Parser.AST.Comment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypeQualifiers(native, skipVTables); + return new global::CppSharp.Parser.AST.Comment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypeQualifiers.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Comment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeQualifiers.__Internal)); - *(global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) ret = native; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); + *(global::CppSharp.Parser.AST.Comment.__Internal*) ret = native; return ret.ToPointer(); } - private TypeQualifiers(global::CppSharp.Parser.AST.TypeQualifiers.__Internal native, bool skipVTables = false) + private Comment(global::CppSharp.Parser.AST.Comment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TypeQualifiers(void* native, bool skipVTables = false) + protected Comment(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public TypeQualifiers(global::CppSharp.Parser.AST.TypeQualifiers _0) + public Comment(global::CppSharp.Parser.AST.CommentKind kind) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeQualifiers.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) _0.__Instance); + __Internal.ctor((__Instance + __PointerAdjustment), kind); } - public TypeQualifiers() + public Comment(global::CppSharp.Parser.AST.Comment _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeQualifiers.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.Comment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.Comment.__Internal*) _0.__Instance); } public void Dispose() @@ -509,228 +367,194 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.TypeQualifiers __dummy; + global::CppSharp.Parser.AST.Comment __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - public bool IsConst - { - get - { - return ((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) __Instance)->isConst != 0; - } - - set - { - ((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*)__Instance)->isConst = (byte) (value ? 1 : 0); - } - } - - public bool IsVolatile + public static implicit operator global::CppSharp.Parser.AST.Comment(global::CppSharp.Parser.AST.CommentKind kind) { - get - { - return ((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) __Instance)->isVolatile != 0; - } - - set - { - ((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*)__Instance)->isVolatile = (byte) (value ? 1 : 0); - } + return new global::CppSharp.Parser.AST.Comment(kind); } - public bool IsRestrict + public global::CppSharp.Parser.AST.CommentKind Kind { get { - return ((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) __Instance)->isRestrict != 0; + return ((global::CppSharp.Parser.AST.Comment.__Internal*) __Instance)->kind; } set { - ((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*)__Instance)->isRestrict = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Comment.__Internal*)__Instance)->kind = value; } } } - public unsafe partial class QualifiedType : IDisposable + public unsafe partial class BlockContentComment : global::CppSharp.Parser.AST.Comment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 16)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 4)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::System.IntPtr type; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.TypeQualifiers.__Internal qualifiers; + internal global::CppSharp.Parser.AST.CommentKind kind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13QualifiedTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockContentCommentC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13QualifiedTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockContentCommentC2ENS1_11CommentKindE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.CommentKind Kind); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockContentCommentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); } - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.QualifiedType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.BlockContentComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.QualifiedType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.BlockContentComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.QualifiedType __CreateInstance(global::CppSharp.Parser.AST.QualifiedType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.BlockContentComment __CreateInstance(global::CppSharp.Parser.AST.BlockContentComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.QualifiedType(native, skipVTables); + return new global::CppSharp.Parser.AST.BlockContentComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.QualifiedType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.BlockContentComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.QualifiedType.__Internal)); - *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) ret = native; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); + *(global::CppSharp.Parser.AST.BlockContentComment.__Internal*) ret = native; return ret.ToPointer(); } - private QualifiedType(global::CppSharp.Parser.AST.QualifiedType.__Internal native, bool skipVTables = false) + private BlockContentComment(global::CppSharp.Parser.AST.BlockContentComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected QualifiedType(void* native, bool skipVTables = false) + protected BlockContentComment(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public QualifiedType() + public BlockContentComment() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.QualifiedType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public QualifiedType(global::CppSharp.Parser.AST.QualifiedType _0) + public BlockContentComment(global::CppSharp.Parser.AST.CommentKind Kind) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.QualifiedType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.QualifiedType.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.QualifiedType.__Internal*) _0.__Instance); - } - - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.QualifiedType __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + __Internal.ctor((__Instance + __PointerAdjustment), Kind); } - public global::CppSharp.Parser.AST.Type Type + public BlockContentComment(global::CppSharp.Parser.AST.BlockContentComment _0) + : this((void*) null) { - get - { - global::CppSharp.Parser.AST.Type __result0; - if (((global::CppSharp.Parser.AST.QualifiedType.__Internal*) __Instance)->type == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.QualifiedType.__Internal*) __Instance)->type)) - __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((global::CppSharp.Parser.AST.QualifiedType.__Internal*) __Instance)->type]; - else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((global::CppSharp.Parser.AST.QualifiedType.__Internal*) __Instance)->type); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.QualifiedType.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.BlockContentComment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BlockContentComment.__Internal*) _0.__Instance); } - public global::CppSharp.Parser.AST.TypeQualifiers Qualifiers + public static implicit operator global::CppSharp.Parser.AST.BlockContentComment(global::CppSharp.Parser.AST.CommentKind Kind) { - get - { - return global::CppSharp.Parser.AST.TypeQualifiers.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.QualifiedType.__Internal*) __Instance)->qualifiers)); - } - - set - { - ((global::CppSharp.Parser.AST.QualifiedType.__Internal*)__Instance)->qualifiers = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.TypeQualifiers.__Internal() : *(global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) value.__Instance; - } + return new global::CppSharp.Parser.AST.BlockContentComment(Kind); } } - public unsafe partial class TagType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class FullComment : global::CppSharp.Parser.AST.Comment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 16)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - internal byte isDependent; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(8)] - internal global::System.IntPtr declaration; + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BlockContentComment___N_std_S_allocator__S0_ Blocks; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST7TagTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11FullCommentC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST7TagTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST11FullCommentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11FullCommentD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11FullComment9getBlocksEj")] + internal static extern global::System.IntPtr GetBlocks(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11FullComment9addBlocksERPNS1_19BlockContentCommentE")] + internal static extern void AddBlocks(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11FullComment11clearBlocksEv")] + internal static extern void ClearBlocks(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11FullComment14getBlocksCountEv")] + internal static extern uint GetBlocksCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.TagType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.FullComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TagType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.FullComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TagType __CreateInstance(global::CppSharp.Parser.AST.TagType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.FullComment __CreateInstance(global::CppSharp.Parser.AST.FullComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TagType(native, skipVTables); + return new global::CppSharp.Parser.AST.FullComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TagType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.FullComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); - global::CppSharp.Parser.AST.TagType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); + global::CppSharp.Parser.AST.FullComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TagType(global::CppSharp.Parser.AST.TagType.__Internal native, bool skipVTables = false) + private FullComment(global::CppSharp.Parser.AST.FullComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TagType(void* native, bool skipVTables = false) + protected FullComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -739,19 +563,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TagType() + public FullComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TagType(global::CppSharp.Parser.AST.TagType _0) + public FullComment(global::CppSharp.Parser.AST.FullComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -760,92 +584,105 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.Declaration Declaration + public override void Dispose(bool disposing) { - get - { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration); - return __result0; - } + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Comment __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } - set + public global::CppSharp.Parser.AST.BlockContentComment GetBlocks(uint i) + { + var __ret = __Internal.GetBlocks((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.BlockContentComment __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.BlockContentComment.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.BlockContentComment) global::CppSharp.Parser.AST.BlockContentComment.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.BlockContentComment.__CreateInstance(__ret); + return __result0; + } + + public void AddBlocks(global::CppSharp.Parser.AST.BlockContentComment s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddBlocks((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearBlocks() + { + __Internal.ClearBlocks((__Instance + __PointerAdjustment)); + } + + public uint BlocksCount + { + get { - ((global::CppSharp.Parser.AST.TagType.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + var __ret = __Internal.GetBlocksCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class ArrayType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class InlineContentComment : global::CppSharp.Parser.AST.Comment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(4)] - internal byte isDependent; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - - [FieldOffset(24)] - internal global::CppSharp.Parser.AST.ArrayType.ArraySize sizeType; - - [FieldOffset(32)] - internal long size; - - [FieldOffset(40)] - internal long elementSize; + internal byte hasTrailingNewline; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9ArrayTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST20InlineContentCommentC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9ArrayTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST20InlineContentCommentC2ENS1_11CommentKindE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.CommentKind Kind); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20InlineContentCommentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); } - public enum ArraySize + internal static new global::CppSharp.Parser.AST.InlineContentComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - Constant = 0, - Variable = 1, - Dependent = 2, - Incomplete = 3 + return new global::CppSharp.Parser.AST.InlineContentComment(native.ToPointer(), skipVTables); } - internal static new global::CppSharp.Parser.AST.ArrayType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.InlineContentComment __CreateInstance(global::CppSharp.Parser.AST.InlineContentComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ArrayType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.InlineContentComment(native, skipVTables); } - internal static global::CppSharp.Parser.AST.ArrayType __CreateInstance(global::CppSharp.Parser.AST.ArrayType.__Internal native, bool skipVTables = false) + private static void* __CopyValue(global::CppSharp.Parser.AST.InlineContentComment.__Internal native) { - return new global::CppSharp.Parser.AST.ArrayType(native, skipVTables); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal)); + *(global::CppSharp.Parser.AST.InlineContentComment.__Internal*) ret = native; + return ret.ToPointer(); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ArrayType.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); - global::CppSharp.Parser.AST.ArrayType.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private ArrayType(global::CppSharp.Parser.AST.ArrayType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + private InlineContentComment(global::CppSharp.Parser.AST.InlineContentComment.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected ArrayType(void* native, bool skipVTables = false) + protected InlineContentComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -854,164 +691,127 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public ArrayType() + public InlineContentComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public ArrayType(global::CppSharp.Parser.AST.ArrayType _0) + public InlineContentComment(global::CppSharp.Parser.AST.CommentKind Kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } - - public global::CppSharp.Parser.AST.QualifiedType QualifiedType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->qualifiedType)); - } - - set - { - ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } + __Internal.ctor((__Instance + __PointerAdjustment), Kind); } - public global::CppSharp.Parser.AST.ArrayType.ArraySize SizeType + public InlineContentComment(global::CppSharp.Parser.AST.InlineContentComment _0) + : this((void*) null) { - get - { - return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->sizeType; - } - - set - { - ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->sizeType = value; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.InlineContentComment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.InlineContentComment.__Internal*) _0.__Instance); } - public long Size + public static implicit operator global::CppSharp.Parser.AST.InlineContentComment(global::CppSharp.Parser.AST.CommentKind Kind) { - get - { - return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->size; - } - - set - { - ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->size = value; - } + return new global::CppSharp.Parser.AST.InlineContentComment(Kind); } - public long ElementSize + public bool HasTrailingNewline { get { - return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->elementSize; + return ((global::CppSharp.Parser.AST.InlineContentComment.__Internal*) __Instance)->hasTrailingNewline != 0; } set { - ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->elementSize = value; + ((global::CppSharp.Parser.AST.InlineContentComment.__Internal*)__Instance)->hasTrailingNewline = (byte) (value ? 1 : 0); } } } - public unsafe partial class FunctionType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class ParagraphComment : global::CppSharp.Parser.AST.BlockContentComment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 56)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(4)] - internal byte isDependent; + internal byte isWhitespace; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; - - [FieldOffset(24)] - internal global::CppSharp.Parser.AST.CallingConvention callingConvention; - - [FieldOffset(28)] - internal global::CppSharp.Parser.AST.ExceptionSpecType exceptionSpecType; - - [FieldOffset(32)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_S_allocator__S0_ Parameters; + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_InlineContentComment___N_std_S_allocator__S0_ Content; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST16ParagraphCommentC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST16ParagraphCommentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionTypeD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST16ParagraphCommentD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType13getParametersEj")] - internal static extern global::System.IntPtr GetParameters(global::System.IntPtr __instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST16ParagraphComment10getContentEj")] + internal static extern global::System.IntPtr GetContent(global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType13addParametersERPNS1_9ParameterE")] - internal static extern void AddParameters(global::System.IntPtr __instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST16ParagraphComment10addContentERPNS1_20InlineContentCommentE")] + internal static extern void AddContent(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType15clearParametersEv")] - internal static extern void ClearParameters(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST16ParagraphComment12clearContentEv")] + internal static extern void ClearContent(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType18getParametersCountEv")] - internal static extern uint GetParametersCount(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST16ParagraphComment15getContentCountEv")] + internal static extern uint GetContentCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.FunctionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.ParagraphComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FunctionType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.ParagraphComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.FunctionType __CreateInstance(global::CppSharp.Parser.AST.FunctionType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.ParagraphComment __CreateInstance(global::CppSharp.Parser.AST.ParagraphComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FunctionType(native, skipVTables); + return new global::CppSharp.Parser.AST.ParagraphComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ParagraphComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); - global::CppSharp.Parser.AST.FunctionType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParagraphComment.__Internal)); + global::CppSharp.Parser.AST.ParagraphComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private FunctionType(global::CppSharp.Parser.AST.FunctionType.__Internal native, bool skipVTables = false) + private ParagraphComment(global::CppSharp.Parser.AST.ParagraphComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected FunctionType(void* native, bool skipVTables = false) + protected ParagraphComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -1020,19 +820,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public FunctionType() + public ParagraphComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParagraphComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public FunctionType(global::CppSharp.Parser.AST.FunctionType _0) + public ParagraphComment(global::CppSharp.Parser.AST.ParagraphComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParagraphComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -1045,7 +845,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Type __dummy; + global::CppSharp.Parser.AST.Comment __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -1054,246 +854,253 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.Parameter GetParameters(uint i) + public global::CppSharp.Parser.AST.InlineContentComment GetContent(uint i) { - var __ret = __Internal.GetParameters((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Parameter __result0; + var __ret = __Internal.GetContent((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.InlineContentComment __result0; if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Parameter.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Parameter) global::CppSharp.Parser.AST.Parameter.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Parameter.__CreateInstance(__ret); + else if (global::CppSharp.Parser.AST.InlineContentComment.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.InlineContentComment) global::CppSharp.Parser.AST.InlineContentComment.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.InlineContentComment.__CreateInstance(__ret); return __result0; } - public void AddParameters(global::CppSharp.Parser.AST.Parameter s) + public void AddContent(global::CppSharp.Parser.AST.InlineContentComment s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddParameters((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearParameters() - { - __Internal.ClearParameters((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.QualifiedType ReturnType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->returnType)); - } - - set - { - ((global::CppSharp.Parser.AST.FunctionType.__Internal*)__Instance)->returnType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } + __Internal.AddContent((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.CallingConvention CallingConvention + public void ClearContent() { - get - { - return ((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->callingConvention; - } - - set - { - ((global::CppSharp.Parser.AST.FunctionType.__Internal*)__Instance)->callingConvention = value; - } + __Internal.ClearContent((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.ExceptionSpecType ExceptionSpecType + public bool IsWhitespace { get { - return ((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->exceptionSpecType; + return ((global::CppSharp.Parser.AST.ParagraphComment.__Internal*) __Instance)->isWhitespace != 0; } set { - ((global::CppSharp.Parser.AST.FunctionType.__Internal*)__Instance)->exceptionSpecType = value; + ((global::CppSharp.Parser.AST.ParagraphComment.__Internal*)__Instance)->isWhitespace = (byte) (value ? 1 : 0); } } - public uint ParametersCount + public uint ContentCount { get { - var __ret = __Internal.GetParametersCount((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetContentCount((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class PointerType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class BlockCommandComment : global::CppSharp.Parser.AST.BlockContentComment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(4)] - internal byte isDependent; + internal uint commandId; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedPointee; + internal global::System.IntPtr paragraphComment; - [FieldOffset(24)] - internal global::CppSharp.Parser.AST.PointerType.TypeModifier modifier; + [FieldOffset(16)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_S_allocator__S0_ Arguments; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11PointerTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandCommentC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11PointerTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandCommentC2ENS1_11CommentKindE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.CommentKind Kind); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandCommentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - } - public enum TypeModifier - { - Value = 0, - Pointer = 1, - LVReference = 2, - RVReference = 3 - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandCommentD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); - internal static new global::CppSharp.Parser.AST.PointerType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.PointerType(native.ToPointer(), skipVTables); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandComment12getArgumentsEj")] + internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); - internal static global::CppSharp.Parser.AST.PointerType __CreateInstance(global::CppSharp.Parser.AST.PointerType.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.PointerType(native, skipVTables); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandComment12addArgumentsERNS2_8ArgumentE")] + internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); - private static void* __CopyValue(global::CppSharp.Parser.AST.PointerType.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); - global::CppSharp.Parser.AST.PointerType.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandComment14clearArgumentsEv")] + internal static extern void ClearArguments(global::System.IntPtr __instance); - private PointerType(global::CppSharp.Parser.AST.PointerType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandComment17getArgumentsCountEv")] + internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); } - protected PointerType(void* native, bool skipVTables = false) - : base((void*) null) + public unsafe partial class Argument : IDisposable { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [StructLayout(LayoutKind.Explicit, Size = 8)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; - public PointerType() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandComment8ArgumentC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); - public PointerType(global::CppSharp.Parser.AST.PointerType _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandComment8ArgumentC2ERKS3_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - public global::CppSharp.Parser.AST.QualifiedType QualifiedPointee - { - get + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandComment8ArgumentD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.BlockCommandComment.Argument __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->qualifiedPointee)); + return new global::CppSharp.Parser.AST.BlockCommandComment.Argument(native.ToPointer(), skipVTables); } - set + internal static global::CppSharp.Parser.AST.BlockCommandComment.Argument __CreateInstance(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal native, bool skipVTables = false) { - ((global::CppSharp.Parser.AST.PointerType.__Internal*)__Instance)->qualifiedPointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + return new global::CppSharp.Parser.AST.BlockCommandComment.Argument(native, skipVTables); } - } - public global::CppSharp.Parser.AST.PointerType.TypeModifier Modifier - { - get + private static void* __CopyValue(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal native) { - return ((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->modifier; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal)); + global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - set + private Argument(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - ((global::CppSharp.Parser.AST.PointerType.__Internal*)__Instance)->modifier = value; + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; } - } - } - public unsafe partial class MemberPointerType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 24)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + protected Argument(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(4)] - internal byte isDependent; + public Argument() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; + public Argument(global::CppSharp.Parser.AST.BlockCommandComment.Argument _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17MemberPointerTypeC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + public void Dispose() + { + Dispose(disposing: true); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17MemberPointerTypeC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.BlockCommandComment.Argument __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public string Text + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal*) __Instance)->text)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal*)__Instance)->text), value); + } + } } - internal static new global::CppSharp.Parser.AST.MemberPointerType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.BlockCommandComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.MemberPointerType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.BlockCommandComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.MemberPointerType __CreateInstance(global::CppSharp.Parser.AST.MemberPointerType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.BlockCommandComment __CreateInstance(global::CppSharp.Parser.AST.BlockCommandComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.MemberPointerType(native, skipVTables); + return new global::CppSharp.Parser.AST.BlockCommandComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.MemberPointerType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.BlockCommandComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); - global::CppSharp.Parser.AST.MemberPointerType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__Internal)); + global::CppSharp.Parser.AST.BlockCommandComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType.__Internal native, bool skipVTables = false) + private BlockCommandComment(global::CppSharp.Parser.AST.BlockCommandComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected MemberPointerType(void* native, bool skipVTables = false) + protected BlockCommandComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -1302,19 +1109,28 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public MemberPointerType() + public BlockCommandComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType _0) + public BlockCommandComment(global::CppSharp.Parser.AST.CommentKind Kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), Kind); + } + + public BlockCommandComment(global::CppSharp.Parser.AST.BlockCommandComment _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -1323,171 +1139,156 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Pointee + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Comment __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.BlockCommandComment.Argument GetArguments(uint i) + { + var __ret = new global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal(); + __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.BlockCommandComment.Argument.__CreateInstance(__ret); + } + + public void AddArguments(global::CppSharp.Parser.AST.BlockCommandComment.Argument s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearArguments() + { + __Internal.ClearArguments((__Instance + __PointerAdjustment)); + } + + public static implicit operator global::CppSharp.Parser.AST.BlockCommandComment(global::CppSharp.Parser.AST.CommentKind Kind) + { + return new global::CppSharp.Parser.AST.BlockCommandComment(Kind); + } + + public uint CommandId { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MemberPointerType.__Internal*) __Instance)->pointee)); + return ((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*) __Instance)->commandId; } set { - ((global::CppSharp.Parser.AST.MemberPointerType.__Internal*)__Instance)->pointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*)__Instance)->commandId = value; } } - } - public unsafe partial class TypedefType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 16)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - internal byte isDependent; - - [FieldOffset(8)] - internal global::System.IntPtr declaration; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefTypeC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefTypeC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - } - - internal static new global::CppSharp.Parser.AST.TypedefType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.TypedefType(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.TypedefType __CreateInstance(global::CppSharp.Parser.AST.TypedefType.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.TypedefType(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefType.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); - global::CppSharp.Parser.AST.TypedefType.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private TypedefType(global::CppSharp.Parser.AST.TypedefType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected TypedefType(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public TypedefType() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } - - public TypedefType(global::CppSharp.Parser.AST.TypedefType _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } - - public global::CppSharp.Parser.AST.TypedefNameDecl Declaration + public global::CppSharp.Parser.AST.ParagraphComment ParagraphComment { get { - global::CppSharp.Parser.AST.TypedefNameDecl __result0; - if (((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TypedefNameDecl.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration)) - __result0 = (global::CppSharp.Parser.AST.TypedefNameDecl) global::CppSharp.Parser.AST.TypedefNameDecl.NativeToManagedMap[((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration]; - else __result0 = global::CppSharp.Parser.AST.TypedefNameDecl.__CreateInstance(((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration); + global::CppSharp.Parser.AST.ParagraphComment __result0; + if (((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*) __Instance)->paragraphComment == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ParagraphComment.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*) __Instance)->paragraphComment)) + __result0 = (global::CppSharp.Parser.AST.ParagraphComment) global::CppSharp.Parser.AST.ParagraphComment.NativeToManagedMap[((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*) __Instance)->paragraphComment]; + else __result0 = global::CppSharp.Parser.AST.ParagraphComment.__CreateInstance(((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*) __Instance)->paragraphComment); return __result0; } set { - ((global::CppSharp.Parser.AST.TypedefType.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*)__Instance)->paragraphComment = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public uint ArgumentsCount + { + get + { + var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class AttributedType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class ParamCommandComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 48)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(4)] - internal byte isDependent; + internal uint commandId; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal modified; + internal global::System.IntPtr paragraphComment; - [FieldOffset(24)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal equivalent; + [FieldOffset(16)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_S_allocator__S0_ Arguments; + + [FieldOffset(40)] + internal global::CppSharp.Parser.AST.ParamCommandComment.PassDirection direction; + + [FieldOffset(44)] + internal uint paramIndex; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14AttributedTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST19ParamCommandCommentC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14AttributedTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST19ParamCommandCommentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19ParamCommandCommentD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.AttributedType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public enum PassDirection : uint { - return new global::CppSharp.Parser.AST.AttributedType(native.ToPointer(), skipVTables); + In = 0, + Out = 1, + InOut = 2 } - internal static global::CppSharp.Parser.AST.AttributedType __CreateInstance(global::CppSharp.Parser.AST.AttributedType.__Internal native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.ParamCommandComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.AttributedType(native, skipVTables); + return new global::CppSharp.Parser.AST.ParamCommandComment(native.ToPointer(), skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.AttributedType.__Internal native) + internal static global::CppSharp.Parser.AST.ParamCommandComment __CreateInstance(global::CppSharp.Parser.AST.ParamCommandComment.__Internal native, bool skipVTables = false) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); - global::CppSharp.Parser.AST.AttributedType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return new global::CppSharp.Parser.AST.ParamCommandComment(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ParamCommandComment.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParamCommandComment.__Internal)); + global::CppSharp.Parser.AST.ParamCommandComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private AttributedType(global::CppSharp.Parser.AST.AttributedType.__Internal native, bool skipVTables = false) + private ParamCommandComment(global::CppSharp.Parser.AST.ParamCommandComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected AttributedType(void* native, bool skipVTables = false) + protected ParamCommandComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -1496,19 +1297,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public AttributedType() + public ParamCommandComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParamCommandComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public AttributedType(global::CppSharp.Parser.AST.AttributedType _0) + public ParamCommandComment(global::CppSharp.Parser.AST.ParamCommandComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParamCommandComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -1517,89 +1318,127 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Modified + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Comment __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.ParamCommandComment.PassDirection Direction { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.AttributedType.__Internal*) __Instance)->modified)); + return ((global::CppSharp.Parser.AST.ParamCommandComment.__Internal*) __Instance)->direction; } set { - ((global::CppSharp.Parser.AST.AttributedType.__Internal*)__Instance)->modified = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.ParamCommandComment.__Internal*)__Instance)->direction = value; } } - public global::CppSharp.Parser.AST.QualifiedType Equivalent + public uint ParamIndex { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.AttributedType.__Internal*) __Instance)->equivalent)); + return ((global::CppSharp.Parser.AST.ParamCommandComment.__Internal*) __Instance)->paramIndex; } set { - ((global::CppSharp.Parser.AST.AttributedType.__Internal*)__Instance)->equivalent = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.ParamCommandComment.__Internal*)__Instance)->paramIndex = value; } } } - public unsafe partial class DecayedType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class TParamCommandComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 56)] + [StructLayout(LayoutKind.Explicit, Size = 64)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(4)] - internal byte isDependent; + internal uint commandId; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal decayed; + internal global::System.IntPtr paragraphComment; - [FieldOffset(24)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal original; + [FieldOffset(16)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_S_allocator__S0_ Arguments; [FieldOffset(40)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; + internal global::Std.Vector.__Internalc__N_std_S_vector__i___N_std_S_allocator__i Position; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11DecayedTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST20TParamCommandCommentC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11DecayedTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST20TParamCommandCommentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20TParamCommandCommentD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20TParamCommandComment11getPositionEj")] + internal static extern uint GetPosition(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20TParamCommandComment11addPositionERj")] + internal static extern void AddPosition(global::System.IntPtr __instance, uint* s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20TParamCommandComment13clearPositionEv")] + internal static extern void ClearPosition(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20TParamCommandComment16getPositionCountEv")] + internal static extern uint GetPositionCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.DecayedType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TParamCommandComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.DecayedType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TParamCommandComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.DecayedType __CreateInstance(global::CppSharp.Parser.AST.DecayedType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TParamCommandComment __CreateInstance(global::CppSharp.Parser.AST.TParamCommandComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.DecayedType(native, skipVTables); + return new global::CppSharp.Parser.AST.TParamCommandComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.DecayedType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TParamCommandComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); - global::CppSharp.Parser.AST.DecayedType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TParamCommandComment.__Internal)); + global::CppSharp.Parser.AST.TParamCommandComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private DecayedType(global::CppSharp.Parser.AST.DecayedType.__Internal native, bool skipVTables = false) + private TParamCommandComment(global::CppSharp.Parser.AST.TParamCommandComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected DecayedType(void* native, bool skipVTables = false) + protected TParamCommandComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -1608,19 +1447,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public DecayedType() + public TParamCommandComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TParamCommandComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public DecayedType(global::CppSharp.Parser.AST.DecayedType _0) + public TParamCommandComment(global::CppSharp.Parser.AST.TParamCommandComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TParamCommandComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -1629,296 +1468,241 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Decayed + public override void Dispose(bool disposing) { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->decayed)); - } - - set - { - ((global::CppSharp.Parser.AST.DecayedType.__Internal*)__Instance)->decayed = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Comment __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.QualifiedType Original + public uint GetPosition(uint i) { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->original)); - } + var __ret = __Internal.GetPosition((__Instance + __PointerAdjustment), i); + return __ret; + } - set + public void AddPosition(ref uint s) + { + fixed (uint* __s0 = &s) { - ((global::CppSharp.Parser.AST.DecayedType.__Internal*)__Instance)->original = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + var __arg0 = __s0; + __Internal.AddPosition((__Instance + __PointerAdjustment), __arg0); } } - public global::CppSharp.Parser.AST.QualifiedType Pointee + public void ClearPosition() { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->pointee)); - } + __Internal.ClearPosition((__Instance + __PointerAdjustment)); + } - set + public uint PositionCount + { + get { - ((global::CppSharp.Parser.AST.DecayedType.__Internal*)__Instance)->pointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + var __ret = __Internal.GetPositionCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class TemplateArgument : IDisposable + public unsafe partial class VerbatimBlockLineComment : global::CppSharp.Parser.AST.Comment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 40)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 16)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; - - [FieldOffset(24)] - internal global::System.IntPtr declaration; - - [FieldOffset(32)] - internal long integral; + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16TemplateArgumentC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST24VerbatimBlockLineCommentC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16TemplateArgumentC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST24VerbatimBlockLineCommentC2ERKS2_")] internal static extern void cctor(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 + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24VerbatimBlockLineCommentD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); } - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.TemplateArgument __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.VerbatimBlockLineComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateArgument(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.VerbatimBlockLineComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TemplateArgument __CreateInstance(global::CppSharp.Parser.AST.TemplateArgument.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VerbatimBlockLineComment __CreateInstance(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateArgument(native, skipVTables); + return new global::CppSharp.Parser.AST.VerbatimBlockLineComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateArgument.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); - *(global::CppSharp.Parser.AST.TemplateArgument.__Internal*) ret = native; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal)); + global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument.__Internal native, bool skipVTables = false) + private VerbatimBlockLineComment(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TemplateArgument(void* native, bool skipVTables = false) + protected VerbatimBlockLineComment(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public TemplateArgument() + public VerbatimBlockLineComment() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument _0) + public VerbatimBlockLineComment(global::CppSharp.Parser.AST.VerbatimBlockLineComment _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) _0.__Instance); - } - - public void Dispose() - { - Dispose(disposing: true); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.TemplateArgument __dummy; + global::CppSharp.Parser.AST.Comment __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind Kind - { - get - { - return ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->kind; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->kind = value; - } - } - - public global::CppSharp.Parser.AST.QualifiedType Type - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->type)); - } - - set - { - ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } - - public global::CppSharp.Parser.AST.Declaration Declaration - { - get - { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - - public long Integral + public string Text { get { - return ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->integral; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal*) __Instance)->text)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->integral = value; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal*)__Instance)->text), value); } } } - public unsafe partial class TemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class VerbatimBlockComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 56)] + [StructLayout(LayoutKind.Explicit, Size = 64)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(4)] - internal byte isDependent; + internal uint commandId; [FieldOffset(8)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; + internal global::System.IntPtr paragraphComment; - [FieldOffset(32)] - internal global::System.IntPtr _template; + [FieldOffset(16)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_S_allocator__S0_ Arguments; [FieldOffset(40)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_VerbatimBlockLineComment___N_std_S_allocator__S0_ Lines; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST20VerbatimBlockCommentC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST20VerbatimBlockCommentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST20VerbatimBlockCommentD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType12getArgumentsEj")] - internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST20VerbatimBlockComment8getLinesEj")] + internal static extern global::System.IntPtr GetLines(global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType12addArgumentsERNS1_16TemplateArgumentE")] - internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST20VerbatimBlockComment8addLinesERPNS1_24VerbatimBlockLineCommentE")] + internal static extern void AddLines(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType14clearArgumentsEv")] - internal static extern void ClearArguments(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST20VerbatimBlockComment10clearLinesEv")] + internal static extern void ClearLines(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType17getArgumentsCountEv")] - internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST20VerbatimBlockComment13getLinesCountEv")] + internal static extern uint GetLinesCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.TemplateSpecializationType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.VerbatimBlockComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateSpecializationType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.VerbatimBlockComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TemplateSpecializationType __CreateInstance(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VerbatimBlockComment __CreateInstance(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateSpecializationType(native, skipVTables); + return new global::CppSharp.Parser.AST.VerbatimBlockComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); - global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal)); + global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native, bool skipVTables = false) + private VerbatimBlockComment(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TemplateSpecializationType(void* native, bool skipVTables = false) + protected VerbatimBlockComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -1927,19 +1711,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TemplateSpecializationType() + public VerbatimBlockComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType _0) + public VerbatimBlockComment(global::CppSharp.Parser.AST.VerbatimBlockComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -1952,7 +1736,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Type __dummy; + global::CppSharp.Parser.AST.Comment __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -1961,145 +1745,101 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) + public global::CppSharp.Parser.AST.VerbatimBlockLineComment GetLines(uint i) { - var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); - __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); + var __ret = __Internal.GetLines((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.VerbatimBlockLineComment __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.VerbatimBlockLineComment.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.VerbatimBlockLineComment) global::CppSharp.Parser.AST.VerbatimBlockLineComment.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.VerbatimBlockLineComment.__CreateInstance(__ret); + return __result0; } - public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + public void AddLines(global::CppSharp.Parser.AST.VerbatimBlockLineComment s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearArguments() - { - __Internal.ClearArguments((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.Template Template - { - get - { - global::CppSharp.Parser.AST.Template __result0; - if (((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Template.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template)) - __result0 = (global::CppSharp.Parser.AST.Template) global::CppSharp.Parser.AST.Template.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template]; - else __result0 = global::CppSharp.Parser.AST.Template.__CreateInstance(((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*)__Instance)->_template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + __Internal.AddLines((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Desugared + public void ClearLines() { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->desugared)); - } - - set - { - ((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*)__Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } + __Internal.ClearLines((__Instance + __PointerAdjustment)); } - public uint ArgumentsCount + public uint LinesCount { get { - var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetLinesCount((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class DependentTemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class VerbatimLineComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable { [StructLayout(LayoutKind.Explicit, Size = 48)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(4)] - internal byte isDependent; + internal uint commandId; [FieldOffset(8)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; + internal global::System.IntPtr paragraphComment; - [FieldOffset(32)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; + [FieldOffset(16)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_S_allocator__S0_ Arguments; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST19VerbatimLineCommentC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST19VerbatimLineCommentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationTypeD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST19VerbatimLineCommentD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType12getArgumentsEj")] - internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType12addArgumentsERNS1_16TemplateArgumentE")] - internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType14clearArgumentsEv")] - internal static extern void ClearArguments(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType17getArgumentsCountEv")] - internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.DependentTemplateSpecializationType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.VerbatimLineComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.DependentTemplateSpecializationType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.VerbatimLineComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.DependentTemplateSpecializationType __CreateInstance(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VerbatimLineComment __CreateInstance(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.DependentTemplateSpecializationType(native, skipVTables); + return new global::CppSharp.Parser.AST.VerbatimLineComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); - global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal)); + global::CppSharp.Parser.AST.VerbatimLineComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native, bool skipVTables = false) + private VerbatimLineComment(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected DependentTemplateSpecializationType(void* native, bool skipVTables = false) + protected VerbatimLineComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2108,19 +1848,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public DependentTemplateSpecializationType() + public VerbatimLineComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType _0) + public VerbatimLineComment(global::CppSharp.Parser.AST.VerbatimLineComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -2133,7 +1873,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Type __dummy; + global::CppSharp.Parser.AST.Comment __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -2142,266 +1882,229 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) - { - var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); - __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); - } - - public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearArguments() - { - __Internal.ClearArguments((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.QualifiedType Desugared + public string Text { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal*) __Instance)->desugared)); + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VerbatimLineComment.__Internal*) __Instance)->text)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal*)__Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } - - public uint ArgumentsCount - { - get - { - var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); - return __ret; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VerbatimLineComment.__Internal*)__Instance)->text), value); } } } - public unsafe partial class TemplateParameterType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class InlineCommandComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(4)] - internal byte isDependent; + internal byte hasTrailingNewline; [FieldOffset(8)] - internal global::System.IntPtr parameter; - - [FieldOffset(16)] - internal uint depth; + internal uint commandId; - [FieldOffset(20)] - internal uint index; + [FieldOffset(12)] + internal global::CppSharp.Parser.AST.InlineCommandComment.RenderKind commentRenderKind; - [FieldOffset(24)] - internal byte isParameterPack; + [FieldOffset(16)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_InlineCommandComment_S_Argument___N_std_S_allocator__S0_ Arguments; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandCommentC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandCommentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandCommentD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); - } - - internal static new global::CppSharp.Parser.AST.TemplateParameterType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.TemplateParameterType(native.ToPointer(), skipVTables); - } - internal static global::CppSharp.Parser.AST.TemplateParameterType __CreateInstance(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.TemplateParameterType(native, skipVTables); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandComment12getArgumentsEj")] + internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); - global::CppSharp.Parser.AST.TemplateParameterType.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandComment12addArgumentsERNS2_8ArgumentE")] + internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); - private TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandComment14clearArgumentsEv")] + internal static extern void ClearArguments(global::System.IntPtr __instance); - protected TemplateParameterType(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandComment17getArgumentsCountEv")] + internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); } - public TemplateParameterType() - : this((void*) null) + public enum RenderKind : uint { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + RenderNormal = 0, + RenderBold = 1, + RenderMonospaced = 2, + RenderEmphasized = 3 } - public TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType _0) - : this((void*) null) + public unsafe partial class Argument : IDisposable { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [StructLayout(LayoutKind.Explicit, Size = 8)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Type __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandComment8ArgumentC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); - public global::CppSharp.Parser.AST.TypeTemplateParameter Parameter - { - get - { - global::CppSharp.Parser.AST.TypeTemplateParameter __result0; - if (((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TypeTemplateParameter.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter)) - __result0 = (global::CppSharp.Parser.AST.TypeTemplateParameter) global::CppSharp.Parser.AST.TypeTemplateParameter.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter]; - else __result0 = global::CppSharp.Parser.AST.TypeTemplateParameter.__CreateInstance(((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter); - return __result0; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandComment8ArgumentC2ERKS3_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandComment8ArgumentD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); } - set + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.InlineCommandComment.Argument __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->parameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + return new global::CppSharp.Parser.AST.InlineCommandComment.Argument(native.ToPointer(), skipVTables); } - } - public uint Depth - { - get + internal static global::CppSharp.Parser.AST.InlineCommandComment.Argument __CreateInstance(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal native, bool skipVTables = false) { - return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->depth; + return new global::CppSharp.Parser.AST.InlineCommandComment.Argument(native, skipVTables); } - set + private static void* __CopyValue(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal native) { - ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->depth = value; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal)); + global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - } - public uint Index - { - get + private Argument(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->index; + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; } - set + protected Argument(void* native, bool skipVTables = false) { - ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->index = value; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - } - public bool IsParameterPack - { - get + public Argument() { - return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->isParameterPack != 0; + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); } - set + public Argument(global::CppSharp.Parser.AST.InlineCommandComment.Argument _0) { - ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->isParameterPack = (byte) (value ? 1 : 0); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - } - } - - public unsafe partial class TemplateParameterSubstitutionType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 32)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - internal byte isDependent; - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal replacement; + public void Dispose() + { + Dispose(disposing: true); + } - [FieldOffset(24)] - internal global::System.IntPtr replacedParameter; + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.InlineCommandComment.Argument __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST33TemplateParameterSubstitutionTypeC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + public string Text + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal*) __Instance)->text)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST33TemplateParameterSubstitutionTypeC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal*)__Instance)->text), value); + } + } } - internal static new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.InlineCommandComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.InlineCommandComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TemplateParameterSubstitutionType __CreateInstance(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.InlineCommandComment __CreateInstance(global::CppSharp.Parser.AST.InlineCommandComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType(native, skipVTables); + return new global::CppSharp.Parser.AST.InlineCommandComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.InlineCommandComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); - global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.__Internal)); + global::CppSharp.Parser.AST.InlineCommandComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native, bool skipVTables = false) + private InlineCommandComment(global::CppSharp.Parser.AST.InlineCommandComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TemplateParameterSubstitutionType(void* native, bool skipVTables = false) + protected InlineCommandComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2410,19 +2113,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TemplateParameterSubstitutionType() + public InlineCommandComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType _0) + public InlineCommandComment(global::CppSharp.Parser.AST.InlineCommandComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -2431,91 +2134,127 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Replacement + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Comment __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.InlineCommandComment.Argument GetArguments(uint i) + { + var __ret = new global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal(); + __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.InlineCommandComment.Argument.__CreateInstance(__ret); + } + + public void AddArguments(global::CppSharp.Parser.AST.InlineCommandComment.Argument s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearArguments() + { + __Internal.ClearArguments((__Instance + __PointerAdjustment)); + } + + public uint CommandId { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacement)); + return ((global::CppSharp.Parser.AST.InlineCommandComment.__Internal*) __Instance)->commandId; } set { - ((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*)__Instance)->replacement = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.InlineCommandComment.__Internal*)__Instance)->commandId = value; } } - public global::CppSharp.Parser.AST.TemplateParameterType ReplacedParameter + public global::CppSharp.Parser.AST.InlineCommandComment.RenderKind CommentRenderKind { get { - global::CppSharp.Parser.AST.TemplateParameterType __result0; - if (((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TemplateParameterType.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter)) - __result0 = (global::CppSharp.Parser.AST.TemplateParameterType) global::CppSharp.Parser.AST.TemplateParameterType.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter]; - else __result0 = global::CppSharp.Parser.AST.TemplateParameterType.__CreateInstance(((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter); - return __result0; + return ((global::CppSharp.Parser.AST.InlineCommandComment.__Internal*) __Instance)->commentRenderKind; } set { - ((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*)__Instance)->replacedParameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.InlineCommandComment.__Internal*)__Instance)->commentRenderKind = value; + } + } + + public uint ArgumentsCount + { + get + { + var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class InjectedClassNameType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class HTMLTagComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(4)] - internal byte isDependent; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal injectedSpecializationType; - - [FieldOffset(24)] - internal global::System.IntPtr _class; + internal byte hasTrailingNewline; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21InjectedClassNameTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST14HTMLTagCommentC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21InjectedClassNameTypeC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - } + EntryPoint="_ZN8CppSharp9CppParser3AST14HTMLTagCommentC2ENS1_11CommentKindE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.CommentKind Kind); - internal static new global::CppSharp.Parser.AST.InjectedClassNameType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14HTMLTagCommentC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.HTMLTagComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.InjectedClassNameType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.HTMLTagComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.InjectedClassNameType __CreateInstance(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.HTMLTagComment __CreateInstance(global::CppSharp.Parser.AST.HTMLTagComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.InjectedClassNameType(native, skipVTables); + return new global::CppSharp.Parser.AST.HTMLTagComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.HTMLTagComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); - global::CppSharp.Parser.AST.InjectedClassNameType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal)); + *(global::CppSharp.Parser.AST.HTMLTagComment.__Internal*) ret = native; return ret.ToPointer(); } - private InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native, bool skipVTables = false) + private HTMLTagComment(global::CppSharp.Parser.AST.HTMLTagComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected InjectedClassNameType(void* native, bool skipVTables = false) + protected HTMLTagComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2524,236 +2263,253 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public InjectedClassNameType() + public HTMLTagComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType _0) + public HTMLTagComment(global::CppSharp.Parser.AST.CommentKind Kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + __Internal.ctor((__Instance + __PointerAdjustment), Kind); } - public global::CppSharp.Parser.AST.QualifiedType InjectedSpecializationType + public HTMLTagComment(global::CppSharp.Parser.AST.HTMLTagComment _0) + : this((void*) null) { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->injectedSpecializationType)); - } - - set - { - ((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*)__Instance)->injectedSpecializationType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.HTMLTagComment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.HTMLTagComment.__Internal*) _0.__Instance); } - public global::CppSharp.Parser.AST.Class Class + public static implicit operator global::CppSharp.Parser.AST.HTMLTagComment(global::CppSharp.Parser.AST.CommentKind Kind) { - get - { - global::CppSharp.Parser.AST.Class __result0; - if (((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class)) - __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class]; - else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*)__Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + return new global::CppSharp.Parser.AST.HTMLTagComment(Kind); } } - public unsafe partial class DependentNameType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class HTMLStartTagComment : global::CppSharp.Parser.AST.HTMLTagComment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(4)] - internal byte isDependent; + internal byte hasTrailingNewline; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifier; + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C tagName; - [FieldOffset(24)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C identifier; + [FieldOffset(16)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_HTMLStartTagComment_S_Attribute___N_std_S_allocator__S0_ Attributes; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17DependentNameTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagCommentC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17DependentNameTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagCommentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17DependentNameTypeD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagCommentD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); - } - internal static new global::CppSharp.Parser.AST.DependentNameType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.DependentNameType(native.ToPointer(), skipVTables); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagComment13getAttributesEj")] + internal static extern void GetAttributes(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); - internal static global::CppSharp.Parser.AST.DependentNameType __CreateInstance(global::CppSharp.Parser.AST.DependentNameType.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.DependentNameType(native, skipVTables); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagComment13addAttributesERNS2_9AttributeE")] + internal static extern void AddAttributes(global::System.IntPtr __instance, global::System.IntPtr s); - private static void* __CopyValue(global::CppSharp.Parser.AST.DependentNameType.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); - global::CppSharp.Parser.AST.DependentNameType.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagComment15clearAttributesEv")] + internal static extern void ClearAttributes(global::System.IntPtr __instance); - private DependentNameType(global::CppSharp.Parser.AST.DependentNameType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagComment18getAttributesCountEv")] + internal static extern uint GetAttributesCount(global::System.IntPtr __instance); } - protected DependentNameType(void* native, bool skipVTables = false) - : base((void*) null) + public unsafe partial class Attribute : IDisposable { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [StructLayout(LayoutKind.Explicit, Size = 16)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - public DependentNameType() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + [FieldOffset(8)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C value; - public DependentNameType(global::CppSharp.Parser.AST.DependentNameType _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagComment9AttributeC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Type __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagComment9AttributeC2ERKS3_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - public global::CppSharp.Parser.AST.QualifiedType Qualifier - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentNameType.__Internal*) __Instance)->qualifier)); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagComment9AttributeD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); } - set + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - ((global::CppSharp.Parser.AST.DependentNameType.__Internal*)__Instance)->qualifier = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + return new global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute(native.ToPointer(), skipVTables); } - } - public string Identifier - { - get + internal static global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute __CreateInstance(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal native, bool skipVTables = false) { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentNameType.__Internal*) __Instance)->identifier)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + return new global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute(native, skipVTables); } - set + private static void* __CopyValue(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal native) { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentNameType.__Internal*)__Instance)->identifier), value); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal)); + global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - } - } - public unsafe partial class PackExpansionType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 8)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + private Attribute(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(4)] - internal byte isDependent; + protected Attribute(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17PackExpansionTypeC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + public Attribute() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17PackExpansionTypeC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - } + public Attribute(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - internal static new global::CppSharp.Parser.AST.PackExpansionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public string Name + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal*) __Instance)->name)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal*)__Instance)->name), value); + } + } + + public string Value + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal*) __Instance)->value)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal*)__Instance)->value), value); + } + } + } + + internal static new global::CppSharp.Parser.AST.HTMLStartTagComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.PackExpansionType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.HTMLStartTagComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.PackExpansionType __CreateInstance(global::CppSharp.Parser.AST.PackExpansionType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.HTMLStartTagComment __CreateInstance(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.PackExpansionType(native, skipVTables); + return new global::CppSharp.Parser.AST.HTMLStartTagComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.PackExpansionType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); - global::CppSharp.Parser.AST.PackExpansionType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal)); + global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private PackExpansionType(global::CppSharp.Parser.AST.PackExpansionType.__Internal native, bool skipVTables = false) + private HTMLStartTagComment(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected PackExpansionType(void* native, bool skipVTables = false) + protected HTMLStartTagComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2762,19 +2518,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public PackExpansionType() + public HTMLStartTagComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public PackExpansionType(global::CppSharp.Parser.AST.PackExpansionType _0) + public HTMLStartTagComment(global::CppSharp.Parser.AST.HTMLStartTagComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -2782,61 +2538,121 @@ namespace CppSharp var __arg0 = _0.__Instance; __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Comment __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute GetAttributes(uint i) + { + var __ret = new global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal(); + __Internal.GetAttributes(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__CreateInstance(__ret); + } + + public void AddAttributes(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddAttributes((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearAttributes() + { + __Internal.ClearAttributes((__Instance + __PointerAdjustment)); + } + + public string TagName + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal*) __Instance)->tagName)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal*)__Instance)->tagName), value); + } + } + + public uint AttributesCount + { + get + { + var __ret = __Internal.GetAttributesCount((__Instance + __PointerAdjustment)); + return __ret; + } + } } - public unsafe partial class UnaryTransformType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class HTMLEndTagComment : global::CppSharp.Parser.AST.HTMLTagComment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 16)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(4)] - internal byte isDependent; + internal byte hasTrailingNewline; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; - - [FieldOffset(24)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal baseType; + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C tagName; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18UnaryTransformTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST17HTMLEndTagCommentC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18UnaryTransformTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST17HTMLEndTagCommentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17HTMLEndTagCommentD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.UnaryTransformType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.HTMLEndTagComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.UnaryTransformType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.HTMLEndTagComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.UnaryTransformType __CreateInstance(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.HTMLEndTagComment __CreateInstance(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.UnaryTransformType(native, skipVTables); + return new global::CppSharp.Parser.AST.HTMLEndTagComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); - global::CppSharp.Parser.AST.UnaryTransformType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); + global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native, bool skipVTables = false) + private HTMLEndTagComment(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected UnaryTransformType(void* native, bool skipVTables = false) + protected HTMLEndTagComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2845,19 +2661,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public UnaryTransformType() + public HTMLEndTagComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType _0) + public HTMLEndTagComment(global::CppSharp.Parser.AST.HTMLEndTagComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -2866,86 +2682,91 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Desugared + public override void Dispose(bool disposing) { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*) __Instance)->desugared)); - } - - set - { - ((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*)__Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Comment __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.QualifiedType BaseType + public string TagName { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*) __Instance)->baseType)); + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal*) __Instance)->tagName)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*)__Instance)->baseType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal*)__Instance)->tagName), value); } } } - public unsafe partial class VectorType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class TextComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 16)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(4)] - internal byte isDependent; + internal byte hasTrailingNewline; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal elementType; - - [FieldOffset(24)] - internal uint numElements; + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10VectorTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11TextCommentC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10VectorTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST11TextCommentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11TextCommentD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.VectorType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TextComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VectorType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TextComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.VectorType __CreateInstance(global::CppSharp.Parser.AST.VectorType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TextComment __CreateInstance(global::CppSharp.Parser.AST.TextComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VectorType(native, skipVTables); + return new global::CppSharp.Parser.AST.TextComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.VectorType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TextComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); - global::CppSharp.Parser.AST.VectorType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); + global::CppSharp.Parser.AST.TextComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private VectorType(global::CppSharp.Parser.AST.VectorType.__Internal native, bool skipVTables = false) + private TextComment(global::CppSharp.Parser.AST.TextComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected VectorType(void* native, bool skipVTables = false) + protected TextComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2954,19 +2775,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public VectorType() + public TextComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public VectorType(global::CppSharp.Parser.AST.VectorType _0) + public TextComment(global::CppSharp.Parser.AST.TextComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -2975,204 +2796,125 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType ElementType + public override void Dispose(bool disposing) { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->elementType)); - } - - set - { - ((global::CppSharp.Parser.AST.VectorType.__Internal*)__Instance)->elementType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Comment __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } - public uint NumElements + public string Text { get { - return ((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->numElements; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TextComment.__Internal*) __Instance)->text)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.VectorType.__Internal*)__Instance)->numElements = value; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TextComment.__Internal*)__Instance)->text), value); } } } - public unsafe partial class BuiltinType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class RawComment : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 12)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 32)] + public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - internal byte isDependent; + internal global::CppSharp.Parser.AST.RawCommentKind kind; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.PrimitiveType type; + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; + + [FieldOffset(16)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C briefText; + + [FieldOffset(24)] + internal global::System.IntPtr fullCommentBlock; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11BuiltinTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST10RawCommentC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11BuiltinTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST10RawCommentC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - } - - internal static new global::CppSharp.Parser.AST.BuiltinType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.BuiltinType(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.BuiltinType __CreateInstance(global::CppSharp.Parser.AST.BuiltinType.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.BuiltinType(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.BuiltinType.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); - global::CppSharp.Parser.AST.BuiltinType.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private BuiltinType(global::CppSharp.Parser.AST.BuiltinType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected BuiltinType(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public BuiltinType() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } - - public BuiltinType(global::CppSharp.Parser.AST.BuiltinType _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } - - public global::CppSharp.Parser.AST.PrimitiveType Type - { - get - { - return ((global::CppSharp.Parser.AST.BuiltinType.__Internal*) __Instance)->type; - } - - set - { - ((global::CppSharp.Parser.AST.BuiltinType.__Internal*)__Instance)->type = value; - } - } - } - - public unsafe partial class VTableComponent : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 16)] - public partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.VTableComponentKind kind; - - [FieldOffset(4)] - internal uint offset; - - [FieldOffset(8)] - internal global::System.IntPtr declaration; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15VTableComponentC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15VTableComponentC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST10RawCommentD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); } public global::System.IntPtr __Instance { get; protected set; } protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); protected internal void*[] __OriginalVTables; protected bool __ownsNativeInstance; - internal static global::CppSharp.Parser.AST.VTableComponent __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.RawComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VTableComponent(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.RawComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.VTableComponent __CreateInstance(global::CppSharp.Parser.AST.VTableComponent.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.RawComment __CreateInstance(global::CppSharp.Parser.AST.RawComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VTableComponent(native, skipVTables); + return new global::CppSharp.Parser.AST.RawComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.VTableComponent.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.RawComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); - *(global::CppSharp.Parser.AST.VTableComponent.__Internal*) ret = native; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); + global::CppSharp.Parser.AST.RawComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private VTableComponent(global::CppSharp.Parser.AST.VTableComponent.__Internal native, bool skipVTables = false) + private RawComment(global::CppSharp.Parser.AST.RawComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected VTableComponent(void* native, bool skipVTables = false) + protected RawComment(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public VTableComponent() + public RawComment() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public VTableComponent(global::CppSharp.Parser.AST.VTableComponent _0) + public RawComment(global::CppSharp.Parser.AST.RawComment _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.VTableComponent.__Internal*) _0.__Instance); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } public void Dispose() @@ -3184,290 +2926,449 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.VTableComponent __dummy; + global::CppSharp.Parser.AST.RawComment __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.VTableComponentKind Kind + public global::CppSharp.Parser.AST.RawCommentKind Kind { get { - return ((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->kind; + return ((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->kind; } set { - ((global::CppSharp.Parser.AST.VTableComponent.__Internal*)__Instance)->kind = value; + ((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->kind = value; } } - public uint Offset + public string Text { get { - return ((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->offset; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->text)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.VTableComponent.__Internal*)__Instance)->offset = value; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->text), value); } } - public global::CppSharp.Parser.AST.Declaration Declaration + public string BriefText { get { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration); - return __result0; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->briefText)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.VTableComponent.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->briefText), value); } } - } - public unsafe partial class VTableLayout : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 24)] - public partial struct __Internal + public global::CppSharp.Parser.AST.FullComment FullCommentBlock { - [FieldOffset(0)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_VTableComponent___N_std_S_allocator__S0_ Components; + get + { + global::CppSharp.Parser.AST.FullComment __result0; + if (((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.FullComment.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock)) + __result0 = (global::CppSharp.Parser.AST.FullComment) global::CppSharp.Parser.AST.FullComment.NativeToManagedMap[((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock]; + else __result0 = global::CppSharp.Parser.AST.FullComment.__CreateInstance(((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock); + return __result0; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayoutC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + set + { + ((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->fullCommentBlock = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + } + } +} - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayoutC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); +namespace CppSharp +{ + namespace Parser + { + public unsafe partial struct SourceLocation + { + [StructLayout(LayoutKind.Explicit, Size = 4)] + public partial struct __Internal + { + [FieldOffset(0)] + internal uint ID; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayoutD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser14SourceLocationC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout13getComponentsEj")] - internal static extern global::CppSharp.Parser.AST.VTableComponent.__Internal GetComponents(global::System.IntPtr __instance, uint i); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser14SourceLocationC2Ej")] + internal static extern void ctor(global::System.IntPtr __instance, uint ID); - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout13addComponentsERNS1_15VTableComponentE")] - internal static extern void AddComponents(global::System.IntPtr __instance, global::System.IntPtr s); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser14SourceLocationC2ERKS1_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout15clearComponentsEv")] - internal static extern void ClearComponents(global::System.IntPtr __instance); + private SourceLocation.__Internal __instance; + internal SourceLocation.__Internal __Instance { get { return __instance; } } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout18getComponentsCountEv")] - internal static extern uint GetComponentsCount(global::System.IntPtr __instance); - } + internal static global::CppSharp.Parser.SourceLocation __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.SourceLocation(native.ToPointer(), skipVTables); + } - public global::System.IntPtr __Instance { get; protected set; } + internal static global::CppSharp.Parser.SourceLocation __CreateInstance(global::CppSharp.Parser.SourceLocation.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.SourceLocation(native, skipVTables); + } - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; + private SourceLocation(global::CppSharp.Parser.SourceLocation.__Internal native, bool skipVTables = false) + : this() + { + __instance = native; + } - protected bool __ownsNativeInstance; + private SourceLocation(void* native, bool skipVTables = false) : this() + { + __instance = *(global::CppSharp.Parser.SourceLocation.__Internal*) native; + } - internal static global::CppSharp.Parser.AST.VTableLayout __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public SourceLocation(uint ID) + : this() + { + fixed (__Internal* __instancePtr = &__instance) { - return new global::CppSharp.Parser.AST.VTableLayout(native.ToPointer(), skipVTables); + __Internal.ctor(new global::System.IntPtr(__instancePtr), ID); } + } - internal static global::CppSharp.Parser.AST.VTableLayout __CreateInstance(global::CppSharp.Parser.AST.VTableLayout.__Internal native, bool skipVTables = false) + public SourceLocation(global::CppSharp.Parser.SourceLocation _0) + : this() + { + var ____arg0 = _0.__Instance; + var __arg0 = new global::System.IntPtr(&____arg0); + fixed (__Internal* __instancePtr = &__instance) { - return new global::CppSharp.Parser.AST.VTableLayout(native, skipVTables); + __Internal.cctor(new global::System.IntPtr(__instancePtr), __arg0); } + } - private static void* __CopyValue(global::CppSharp.Parser.AST.VTableLayout.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); - global::CppSharp.Parser.AST.VTableLayout.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + public static implicit operator global::CppSharp.Parser.SourceLocation(uint ID) + { + return new global::CppSharp.Parser.SourceLocation(ID); + } - private VTableLayout(global::CppSharp.Parser.AST.VTableLayout.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + public uint ID + { + get { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + return __instance.ID; } - protected VTableLayout(void* native, bool skipVTables = false) + set { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); + __instance.ID = value; } + } + } - public VTableLayout() - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + public unsafe partial class SourceRange : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 8)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; - public VTableLayout(global::CppSharp.Parser.AST.VTableLayout _0) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; - public void Dispose() - { - Dispose(disposing: true); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser11SourceRangeC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.VTableLayout __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser11SourceRangeC2ERKS1_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } - public global::CppSharp.Parser.AST.VTableComponent GetComponents(uint i) - { - var __ret = __Internal.GetComponents((__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.VTableComponent.__CreateInstance(__ret); - } + public global::System.IntPtr __Instance { get; protected set; } - public void AddComponents(global::CppSharp.Parser.AST.VTableComponent s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddComponents((__Instance + __PointerAdjustment), __arg0); - } + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; - public void ClearComponents() - { - __Internal.ClearComponents((__Instance + __PointerAdjustment)); - } + protected bool __ownsNativeInstance; - public uint ComponentsCount - { - get - { - var __ret = __Internal.GetComponentsCount((__Instance + __PointerAdjustment)); - return __ret; - } - } + internal static global::CppSharp.Parser.SourceRange __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.SourceRange(native.ToPointer(), skipVTables); } - public unsafe partial class VFTableInfo : IDisposable + internal static global::CppSharp.Parser.SourceRange __CreateInstance(global::CppSharp.Parser.SourceRange.__Internal native, bool skipVTables = false) { - [StructLayout(LayoutKind.Explicit, Size = 40)] - public partial struct __Internal - { - [FieldOffset(0)] - internal ulong VBTableIndex; - - [FieldOffset(8)] - internal uint VFPtrOffset; - - [FieldOffset(12)] - internal uint VFPtrFullOffset; + return new global::CppSharp.Parser.SourceRange(native, skipVTables); + } - [FieldOffset(16)] - internal global::CppSharp.Parser.AST.VTableLayout.__Internal layout; + private static void* __CopyValue(global::CppSharp.Parser.SourceRange.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.SourceRange.__Internal)); + *(global::CppSharp.Parser.SourceRange.__Internal*) ret = native; + return ret.ToPointer(); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VFTableInfoC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + private SourceRange(global::CppSharp.Parser.SourceRange.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VFTableInfoC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + protected SourceRange(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VFTableInfoD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); - } + public SourceRange() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.SourceRange.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - public global::System.IntPtr __Instance { get; protected set; } + public SourceRange(global::CppSharp.Parser.SourceRange _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.SourceRange.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.SourceRange.__Internal*) __Instance) = *((global::CppSharp.Parser.SourceRange.__Internal*) _0.__Instance); + } - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; + public void Dispose() + { + Dispose(disposing: true); + } - protected bool __ownsNativeInstance; + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.SourceRange __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } - internal static global::CppSharp.Parser.AST.VFTableInfo __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::CppSharp.Parser.SourceLocation BeginLoc + { + get { - return new global::CppSharp.Parser.AST.VFTableInfo(native.ToPointer(), skipVTables); + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.SourceRange.__Internal*) __Instance)->beginLoc); } - internal static global::CppSharp.Parser.AST.VFTableInfo __CreateInstance(global::CppSharp.Parser.AST.VFTableInfo.__Internal native, bool skipVTables = false) + set { - return new global::CppSharp.Parser.AST.VFTableInfo(native, skipVTables); + ((global::CppSharp.Parser.SourceRange.__Internal*)__Instance)->beginLoc = value.__Instance; } + } - private static void* __CopyValue(global::CppSharp.Parser.AST.VFTableInfo.__Internal native) + public global::CppSharp.Parser.SourceLocation EndLoc + { + get { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); - global::CppSharp.Parser.AST.VFTableInfo.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.SourceRange.__Internal*) __Instance)->endLoc); + } + + set + { + ((global::CppSharp.Parser.SourceRange.__Internal*)__Instance)->endLoc = value.__Instance; + } + } + } + } +} + +namespace CppSharp +{ + namespace Parser + { + namespace AST + { + public enum TypeKind + { + Tag = 0, + Array = 1, + Function = 2, + Pointer = 3, + MemberPointer = 4, + Typedef = 5, + Attributed = 6, + Decayed = 7, + TemplateSpecialization = 8, + DependentTemplateSpecialization = 9, + TemplateParameter = 10, + TemplateParameterSubstitution = 11, + InjectedClassName = 12, + DependentName = 13, + PackExpansion = 14, + Builtin = 15, + UnaryTransform = 16, + Vector = 17 + } + + public enum CallingConvention + { + Default = 0, + C = 1, + StdCall = 2, + ThisCall = 3, + FastCall = 4, + Unknown = 5 + } + + public enum PrimitiveType + { + Null = 0, + Void = 1, + Bool = 2, + WideChar = 3, + Char = 4, + SChar = 5, + UChar = 6, + Char16 = 7, + Char32 = 8, + Short = 9, + UShort = 10, + Int = 11, + UInt = 12, + Long = 13, + ULong = 14, + LongLong = 15, + ULongLong = 16, + Int128 = 17, + UInt128 = 18, + Half = 19, + Float = 20, + Double = 21, + LongDouble = 22, + Float128 = 23, + IntPtr = 24 + } + + public enum ExceptionSpecType + { + None = 0, + DynamicNone = 1, + Dynamic = 2, + MSAny = 3, + BasicNoexcept = 4, + DependentNoexcept = 5, + NoexceptFalse = 6, + NoexceptTrue = 7, + Unevaluated = 8, + Uninstantiated = 9, + Unparsed = 10 + } + + public unsafe partial class Type : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 8)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + internal byte isDependent; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST4TypeC2ENS1_8TypeKindE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.TypeKind kind); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST4TypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.Type __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Type(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.Type __CreateInstance(global::CppSharp.Parser.AST.Type.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Type(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.Type.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Type.__Internal)); + global::CppSharp.Parser.AST.Type.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private VFTableInfo(global::CppSharp.Parser.AST.VFTableInfo.__Internal native, bool skipVTables = false) + private Type(global::CppSharp.Parser.AST.Type.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected VFTableInfo(void* native, bool skipVTables = false) + protected Type(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public VFTableInfo() + public Type(global::CppSharp.Parser.AST.TypeKind kind) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Type.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + __Internal.ctor((__Instance + __PointerAdjustment), kind); } - public VFTableInfo(global::CppSharp.Parser.AST.VFTableInfo _0) + public Type(global::CppSharp.Parser.AST.Type _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Type.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -3485,157 +3386,117 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.VFTableInfo __dummy; + global::CppSharp.Parser.AST.Type __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - public ulong VBTableIndex - { - get - { - return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VBTableIndex; - } - - set - { - ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->VBTableIndex = value; - } - } - - public uint VFPtrOffset + public static implicit operator global::CppSharp.Parser.AST.Type(global::CppSharp.Parser.AST.TypeKind kind) { - get - { - return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VFPtrOffset; - } - - set - { - ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->VFPtrOffset = value; - } + return new global::CppSharp.Parser.AST.Type(kind); } - public uint VFPtrFullOffset + public global::CppSharp.Parser.AST.TypeKind Kind { get { - return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VFPtrFullOffset; + return ((global::CppSharp.Parser.AST.Type.__Internal*) __Instance)->kind; } set { - ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->VFPtrFullOffset = value; + ((global::CppSharp.Parser.AST.Type.__Internal*)__Instance)->kind = value; } } - public global::CppSharp.Parser.AST.VTableLayout Layout + public bool IsDependent { get { - return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->layout)); + return ((global::CppSharp.Parser.AST.Type.__Internal*) __Instance)->isDependent != 0; } set { - ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->layout = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.VTableLayout.__Internal() : *(global::CppSharp.Parser.AST.VTableLayout.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.Type.__Internal*)__Instance)->isDependent = (byte) (value ? 1 : 0); } } } - public unsafe partial class LayoutField : IDisposable + public unsafe partial class TypeQualifiers : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 3)] public partial struct __Internal { [FieldOffset(0)] - internal uint offset; - - [FieldOffset(8)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(16)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - - [FieldOffset(32)] - internal global::System.IntPtr fieldPtr; + internal byte isConst; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutFieldC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + [FieldOffset(1)] + internal byte isVolatile; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutFieldC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr other); + [FieldOffset(2)] + internal byte isRestrict; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutFieldD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST14TypeQualifiersC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); } public global::System.IntPtr __Instance { get; protected set; } protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); protected internal void*[] __OriginalVTables; protected bool __ownsNativeInstance; - internal static global::CppSharp.Parser.AST.LayoutField __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TypeQualifiers __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.LayoutField(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TypeQualifiers(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.LayoutField __CreateInstance(global::CppSharp.Parser.AST.LayoutField.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TypeQualifiers __CreateInstance(global::CppSharp.Parser.AST.TypeQualifiers.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.LayoutField(native, skipVTables); + return new global::CppSharp.Parser.AST.TypeQualifiers(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.LayoutField.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypeQualifiers.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); - global::CppSharp.Parser.AST.LayoutField.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeQualifiers.__Internal)); + *(global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) ret = native; return ret.ToPointer(); } - private LayoutField(global::CppSharp.Parser.AST.LayoutField.__Internal native, bool skipVTables = false) + private TypeQualifiers(global::CppSharp.Parser.AST.TypeQualifiers.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected LayoutField(void* native, bool skipVTables = false) + protected TypeQualifiers(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public LayoutField() + public TypeQualifiers(global::CppSharp.Parser.AST.TypeQualifiers _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeQualifiers.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + *((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) _0.__Instance); } - public LayoutField(global::CppSharp.Parser.AST.LayoutField other) + public TypeQualifiers() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeQualifiers.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(other, null)) - throw new global::System.ArgumentNullException("other", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = other.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } public void Dispose() @@ -3647,154 +3508,128 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.LayoutField __dummy; + global::CppSharp.Parser.AST.TypeQualifiers __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - public uint Offset - { - get - { - return ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->offset; - } - - set - { - ((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->offset = value; - } - } - - public string Name + public bool IsConst { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->name)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + return ((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) __Instance)->isConst != 0; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->name), value); + ((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*)__Instance)->isConst = (byte) (value ? 1 : 0); } } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType + public bool IsVolatile { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->qualifiedType)); + return ((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) __Instance)->isVolatile != 0; } set { - ((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*)__Instance)->isVolatile = (byte) (value ? 1 : 0); } } - public global::System.IntPtr FieldPtr + public bool IsRestrict { get { - return ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->fieldPtr; + return ((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) __Instance)->isRestrict != 0; } set { - ((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->fieldPtr = (global::System.IntPtr) value; + ((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*)__Instance)->isRestrict = (byte) (value ? 1 : 0); } } } - public unsafe partial class LayoutBase : IDisposable + public unsafe partial class QualifiedType : IDisposable { [StructLayout(LayoutKind.Explicit, Size = 16)] public partial struct __Internal { [FieldOffset(0)] - internal uint offset; + internal global::System.IntPtr type; [FieldOffset(8)] - internal global::System.IntPtr _class; + internal global::CppSharp.Parser.AST.TypeQualifiers.__Internal qualifiers; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10LayoutBaseC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST13QualifiedTypeC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10LayoutBaseC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr other); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10LayoutBaseD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST13QualifiedTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); } public global::System.IntPtr __Instance { get; protected set; } protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); protected internal void*[] __OriginalVTables; protected bool __ownsNativeInstance; - internal static global::CppSharp.Parser.AST.LayoutBase __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.QualifiedType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.LayoutBase(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.QualifiedType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.LayoutBase __CreateInstance(global::CppSharp.Parser.AST.LayoutBase.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.QualifiedType __CreateInstance(global::CppSharp.Parser.AST.QualifiedType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.LayoutBase(native, skipVTables); + return new global::CppSharp.Parser.AST.QualifiedType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.LayoutBase.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.QualifiedType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); - global::CppSharp.Parser.AST.LayoutBase.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.QualifiedType.__Internal)); + *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) ret = native; return ret.ToPointer(); } - private LayoutBase(global::CppSharp.Parser.AST.LayoutBase.__Internal native, bool skipVTables = false) + private QualifiedType(global::CppSharp.Parser.AST.QualifiedType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected LayoutBase(void* native, bool skipVTables = false) + protected QualifiedType(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public LayoutBase() + public QualifiedType() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.QualifiedType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public LayoutBase(global::CppSharp.Parser.AST.LayoutBase other) + public QualifiedType(global::CppSharp.Parser.AST.QualifiedType _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.QualifiedType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(other, null)) - throw new global::System.ArgumentNullException("other", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = other.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + *((global::CppSharp.Parser.AST.QualifiedType.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.QualifiedType.__Internal*) _0.__Instance); } public void Dispose() @@ -3806,208 +3641,116 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.LayoutBase __dummy; + global::CppSharp.Parser.AST.QualifiedType __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - public uint Offset + public global::CppSharp.Parser.AST.Type Type { get { - return ((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->offset; + global::CppSharp.Parser.AST.Type __result0; + if (((global::CppSharp.Parser.AST.QualifiedType.__Internal*) __Instance)->type == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.QualifiedType.__Internal*) __Instance)->type)) + __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((global::CppSharp.Parser.AST.QualifiedType.__Internal*) __Instance)->type]; + else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((global::CppSharp.Parser.AST.QualifiedType.__Internal*) __Instance)->type); + return __result0; } set { - ((global::CppSharp.Parser.AST.LayoutBase.__Internal*)__Instance)->offset = value; + ((global::CppSharp.Parser.AST.QualifiedType.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public global::CppSharp.Parser.AST.Class Class + public global::CppSharp.Parser.AST.TypeQualifiers Qualifiers { get { - global::CppSharp.Parser.AST.Class __result0; - if (((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class)) - __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class]; - else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class); - return __result0; + return global::CppSharp.Parser.AST.TypeQualifiers.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.QualifiedType.__Internal*) __Instance)->qualifiers)); } set { - ((global::CppSharp.Parser.AST.LayoutBase.__Internal*)__Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.QualifiedType.__Internal*)__Instance)->qualifiers = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.TypeQualifiers.__Internal() : *(global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) value.__Instance; } } } - public unsafe partial class ClassLayout : IDisposable + public unsafe partial class TagType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 136)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 16)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CppAbi ABI; - - [FieldOffset(8)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_VFTableInfo___N_std_S_allocator__S0_ VFTables; - - [FieldOffset(32)] - internal global::CppSharp.Parser.AST.VTableLayout.__Internal layout; - - [FieldOffset(56)] - internal byte hasOwnVFPtr; - - [FieldOffset(64)] - internal long VBPtrOffset; - - [FieldOffset(72)] - internal int alignment; - - [FieldOffset(76)] - internal int size; - - [FieldOffset(80)] - internal int dataSize; + internal global::CppSharp.Parser.AST.TypeKind kind; - [FieldOffset(88)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_LayoutField___N_std_S_allocator__S0_ Fields; + [FieldOffset(4)] + internal byte isDependent; - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_LayoutBase___N_std_S_allocator__S0_ Bases; + [FieldOffset(8)] + internal global::System.IntPtr declaration; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayoutC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST7TagTypeC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayoutC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST7TagTypeC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayoutD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout11getVFTablesEj")] - internal static extern void GetVFTables(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout11addVFTablesERNS1_11VFTableInfoE")] - internal static extern void AddVFTables(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout13clearVFTablesEv")] - internal static extern void ClearVFTables(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout9getFieldsEj")] - internal static extern void GetFields(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout9addFieldsERNS1_11LayoutFieldE")] - internal static extern void AddFields(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout11clearFieldsEv")] - internal static extern void ClearFields(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout8getBasesEj")] - internal static extern void GetBases(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout8addBasesERNS1_10LayoutBaseE")] - internal static extern void AddBases(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout10clearBasesEv")] - internal static extern void ClearBases(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout16getVFTablesCountEv")] - internal static extern uint GetVFTablesCount(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout14getFieldsCountEv")] - internal static extern uint GetFieldsCount(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout13getBasesCountEv")] - internal static extern uint GetBasesCount(global::System.IntPtr __instance); } - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.ClassLayout __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TagType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ClassLayout(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TagType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.ClassLayout __CreateInstance(global::CppSharp.Parser.AST.ClassLayout.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TagType __CreateInstance(global::CppSharp.Parser.AST.TagType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ClassLayout(native, skipVTables); + return new global::CppSharp.Parser.AST.TagType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ClassLayout.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TagType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); - global::CppSharp.Parser.AST.ClassLayout.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); + global::CppSharp.Parser.AST.TagType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private ClassLayout(global::CppSharp.Parser.AST.ClassLayout.__Internal native, bool skipVTables = false) + private TagType(global::CppSharp.Parser.AST.TagType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected ClassLayout(void* native, bool skipVTables = false) + protected TagType(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public ClassLayout() + public TagType() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public ClassLayout(global::CppSharp.Parser.AST.ClassLayout _0) + public TagType(global::CppSharp.Parser.AST.TagType _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -4016,374 +3759,279 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public void Dispose() + public global::CppSharp.Parser.AST.Declaration Declaration { - Dispose(disposing: true); - } + get + { + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration); + return __result0; + } - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.ClassLayout __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + set + { + ((global::CppSharp.Parser.AST.TagType.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } } + } - public global::CppSharp.Parser.AST.VFTableInfo GetVFTables(uint i) + public unsafe partial class ArrayType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal { - var __ret = new global::CppSharp.Parser.AST.VFTableInfo.__Internal(); - __Internal.GetVFTables(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.VFTableInfo.__CreateInstance(__ret); - } + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; - public void AddVFTables(global::CppSharp.Parser.AST.VFTableInfo s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddVFTables((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(4)] + internal byte isDependent; - public void ClearVFTables() - { - __Internal.ClearVFTables((__Instance + __PointerAdjustment)); - } + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - public global::CppSharp.Parser.AST.LayoutField GetFields(uint i) - { - var __ret = new global::CppSharp.Parser.AST.LayoutField.__Internal(); - __Internal.GetFields(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.LayoutField.__CreateInstance(__ret); - } + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.ArrayType.ArraySize sizeType; - public void AddFields(global::CppSharp.Parser.AST.LayoutField s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddFields((__Instance + __PointerAdjustment), __arg0); + [FieldOffset(32)] + internal long size; + + [FieldOffset(40)] + internal long elementSize; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9ArrayTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9ArrayTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); } - public void ClearFields() + public enum ArraySize { - __Internal.ClearFields((__Instance + __PointerAdjustment)); + Constant = 0, + Variable = 1, + Dependent = 2, + Incomplete = 3 } - public global::CppSharp.Parser.AST.LayoutBase GetBases(uint i) + internal static new global::CppSharp.Parser.AST.ArrayType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - var __ret = new global::CppSharp.Parser.AST.LayoutBase.__Internal(); - __Internal.GetBases(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.LayoutBase.__CreateInstance(__ret); + return new global::CppSharp.Parser.AST.ArrayType(native.ToPointer(), skipVTables); } - public void AddBases(global::CppSharp.Parser.AST.LayoutBase s) + internal static global::CppSharp.Parser.AST.ArrayType __CreateInstance(global::CppSharp.Parser.AST.ArrayType.__Internal native, bool skipVTables = false) { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddBases((__Instance + __PointerAdjustment), __arg0); + return new global::CppSharp.Parser.AST.ArrayType(native, skipVTables); } - public void ClearBases() + private static void* __CopyValue(global::CppSharp.Parser.AST.ArrayType.__Internal native) { - __Internal.ClearBases((__Instance + __PointerAdjustment)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); + global::CppSharp.Parser.AST.ArrayType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - public global::CppSharp.Parser.AST.CppAbi ABI + private ArrayType(global::CppSharp.Parser.AST.ArrayType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - get - { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->ABI; - } - - set - { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->ABI = value; - } + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; } - public global::CppSharp.Parser.AST.VTableLayout Layout + protected ArrayType(void* native, bool skipVTables = false) + : base((void*) null) { - get - { - return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->layout)); - } - - set - { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->layout = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.VTableLayout.__Internal() : *(global::CppSharp.Parser.AST.VTableLayout.__Internal*) value.__Instance; - } + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - public bool HasOwnVFPtr + public ArrayType() + : this((void*) null) { - get - { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->hasOwnVFPtr != 0; - } - - set - { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->hasOwnVFPtr = (byte) (value ? 1 : 0); - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); } - public long VBPtrOffset + public ArrayType(global::CppSharp.Parser.AST.ArrayType _0) + : this((void*) null) { - get - { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->VBPtrOffset; - } - - set - { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->VBPtrOffset = value; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public int Alignment + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { get { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->alignment; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->qualifiedType)); } set { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->alignment = value; + ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public int Size + public global::CppSharp.Parser.AST.ArrayType.ArraySize SizeType { get { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->size; + return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->sizeType; } set { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->size = value; + ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->sizeType = value; } } - public int DataSize + public long Size { get { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->dataSize; + return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->size; } set { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->dataSize = value; - } - } - - public uint VFTablesCount - { - get - { - var __ret = __Internal.GetVFTablesCount((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->size = value; } } - public uint FieldsCount + public long ElementSize { get { - var __ret = __Internal.GetFieldsCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->elementSize; } - } - public uint BasesCount - { - get + set { - var __ret = __Internal.GetBasesCount((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->elementSize = value; } } } - public unsafe partial class Declaration : IDisposable + public unsafe partial class FunctionType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 152)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - internal int maxFieldAlignment; + internal byte isDependent; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + internal global::CppSharp.Parser.AST.CallingConvention callingConvention; [FieldOffset(28)] - internal int lineNumberStart; + internal global::CppSharp.Parser.AST.ExceptionSpecType exceptionSpecType; [FieldOffset(32)] - internal int lineNumberEnd; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(48)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - - [FieldOffset(56)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - - [FieldOffset(64)] - internal byte isIncomplete; - - [FieldOffset(65)] - internal byte isDependent; - - [FieldOffset(66)] - internal byte isImplicit; - - [FieldOffset(67)] - internal byte isInvalid; - - [FieldOffset(72)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(80)] - internal uint definitionOrder; - - [FieldOffset(88)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - - [FieldOffset(136)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(144)] - internal global::System.IntPtr comment; + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_S_allocator__S0_ Parameters; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11DeclarationC2ENS1_15DeclarationKindE")] - internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.DeclarationKind kind); + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11DeclarationC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionTypeC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11DeclarationD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionTypeD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration23getPreprocessedEntitiesEj")] - internal static extern global::System.IntPtr GetPreprocessedEntities(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration23addPreprocessedEntitiesERPNS1_18PreprocessedEntityE")] - internal static extern void AddPreprocessedEntities(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration25clearPreprocessedEntitiesEv")] - internal static extern void ClearPreprocessedEntities(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration17getRedeclarationsEj")] - internal static extern global::System.IntPtr GetRedeclarations(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration17addRedeclarationsERPS2_")] - internal static extern void AddRedeclarations(global::System.IntPtr __instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType13getParametersEj")] + internal static extern global::System.IntPtr GetParameters(global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration19clearRedeclarationsEv")] - internal static extern void ClearRedeclarations(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType13addParametersERPNS1_9ParameterE")] + internal static extern void AddParameters(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration28getPreprocessedEntitiesCountEv")] - internal static extern uint GetPreprocessedEntitiesCount(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType15clearParametersEv")] + internal static extern void ClearParameters(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration22getRedeclarationsCountEv")] - internal static extern uint GetRedeclarationsCount(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType18getParametersCountEv")] + internal static extern uint GetParametersCount(global::System.IntPtr __instance); } - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.Declaration __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.FunctionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Declaration(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.FunctionType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Declaration __CreateInstance(global::CppSharp.Parser.AST.Declaration.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.FunctionType __CreateInstance(global::CppSharp.Parser.AST.FunctionType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Declaration(native, skipVTables); + return new global::CppSharp.Parser.AST.FunctionType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Declaration.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); - global::CppSharp.Parser.AST.Declaration.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); + global::CppSharp.Parser.AST.FunctionType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Declaration(global::CppSharp.Parser.AST.Declaration.__Internal native, bool skipVTables = false) + private FunctionType(global::CppSharp.Parser.AST.FunctionType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Declaration(void* native, bool skipVTables = false) + protected FunctionType(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public Declaration(global::CppSharp.Parser.AST.DeclarationKind kind) + public FunctionType() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), kind); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public Declaration(global::CppSharp.Parser.AST.Declaration _0) + public FunctionType(global::CppSharp.Parser.AST.FunctionType _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -4392,16 +4040,11 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.Type __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -4410,655 +4053,552 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.PreprocessedEntity GetPreprocessedEntities(uint i) - { - var __ret = __Internal.GetPreprocessedEntities((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.PreprocessedEntity __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.PreprocessedEntity.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.PreprocessedEntity) global::CppSharp.Parser.AST.PreprocessedEntity.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.PreprocessedEntity.__CreateInstance(__ret); - return __result0; - } - - public void AddPreprocessedEntities(global::CppSharp.Parser.AST.PreprocessedEntity s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddPreprocessedEntities((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearPreprocessedEntities() - { - __Internal.ClearPreprocessedEntities((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.Declaration GetRedeclarations(uint i) + public global::CppSharp.Parser.AST.Parameter GetParameters(uint i) { - var __ret = __Internal.GetRedeclarations((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Declaration __result0; + var __ret = __Internal.GetParameters((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Parameter __result0; if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(__ret); + else if (global::CppSharp.Parser.AST.Parameter.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Parameter) global::CppSharp.Parser.AST.Parameter.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Parameter.__CreateInstance(__ret); return __result0; } - public void AddRedeclarations(global::CppSharp.Parser.AST.Declaration s) + public void AddParameters(global::CppSharp.Parser.AST.Parameter s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddRedeclarations((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearRedeclarations() - { - __Internal.ClearRedeclarations((__Instance + __PointerAdjustment)); + __Internal.AddParameters((__Instance + __PointerAdjustment), __arg0); } - public static implicit operator global::CppSharp.Parser.AST.Declaration(global::CppSharp.Parser.AST.DeclarationKind kind) + public void ClearParameters() { - return new global::CppSharp.Parser.AST.Declaration(kind); + __Internal.ClearParameters((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.DeclarationKind Kind + public global::CppSharp.Parser.AST.QualifiedType ReturnType { get { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->kind; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->returnType)); } set { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->kind = value; + ((global::CppSharp.Parser.AST.FunctionType.__Internal*)__Instance)->returnType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public int MaxFieldAlignment + public global::CppSharp.Parser.AST.CallingConvention CallingConvention { get { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->maxFieldAlignment; + return ((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->callingConvention; } set { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->maxFieldAlignment = value; + ((global::CppSharp.Parser.AST.FunctionType.__Internal*)__Instance)->callingConvention = value; } } - public global::CppSharp.Parser.AST.AccessSpecifier Access + public global::CppSharp.Parser.AST.ExceptionSpecType ExceptionSpecType { get { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->access; + return ((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->exceptionSpecType; } set { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->access = value; + ((global::CppSharp.Parser.AST.FunctionType.__Internal*)__Instance)->exceptionSpecType = value; } } - public global::CppSharp.Parser.AST.DeclarationContext Namespace + public uint ParametersCount { get { - global::CppSharp.Parser.AST.DeclarationContext __result0; - if (((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.DeclarationContext.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace)) - __result0 = (global::CppSharp.Parser.AST.DeclarationContext) global::CppSharp.Parser.AST.DeclarationContext.NativeToManagedMap[((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace]; - else __result0 = global::CppSharp.Parser.AST.DeclarationContext.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->_namespace = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + var __ret = __Internal.GetParametersCount((__Instance + __PointerAdjustment)); + return __ret; } } + } - public global::CppSharp.Parser.SourceLocation Location + public unsafe partial class PointerType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal { - get - { - return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->location); - } + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->location = value.__Instance; - } - } + [FieldOffset(4)] + internal byte isDependent; - public int LineNumberStart - { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->lineNumberStart; - } + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedPointee; - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->lineNumberStart = value; - } + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.PointerType.TypeModifier modifier; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11PointerTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11PointerTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); } - public int LineNumberEnd + public enum TypeModifier { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->lineNumberEnd; - } - - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->lineNumberEnd = value; - } + Value = 0, + Pointer = 1, + LVReference = 2, + RVReference = 3 } - public string Name + internal static new global::CppSharp.Parser.AST.PointerType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->name)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->name), value); - } + return new global::CppSharp.Parser.AST.PointerType(native.ToPointer(), skipVTables); } - public string USR + internal static global::CppSharp.Parser.AST.PointerType __CreateInstance(global::CppSharp.Parser.AST.PointerType.__Internal native, bool skipVTables = false) { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->USR)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + return new global::CppSharp.Parser.AST.PointerType(native, skipVTables); + } - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->USR), value); - } + private static void* __CopyValue(global::CppSharp.Parser.AST.PointerType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); + global::CppSharp.Parser.AST.PointerType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - public string DebugText + private PointerType(global::CppSharp.Parser.AST.PointerType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->debugText)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->debugText), value); - } + protected PointerType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - public bool IsIncomplete + public PointerType() + : this((void*) null) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isIncomplete != 0; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isIncomplete = (byte) (value ? 1 : 0); - } + public PointerType(global::CppSharp.Parser.AST.PointerType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public bool IsDependent + public global::CppSharp.Parser.AST.QualifiedType QualifiedPointee { get { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isDependent != 0; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->qualifiedPointee)); } set { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isDependent = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.PointerType.__Internal*)__Instance)->qualifiedPointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public bool IsImplicit + public global::CppSharp.Parser.AST.PointerType.TypeModifier Modifier { get { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isImplicit != 0; + return ((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->modifier; } set { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isImplicit = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.PointerType.__Internal*)__Instance)->modifier = value; } } + } - public bool IsInvalid + public unsafe partial class MemberPointerType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public new partial struct __Internal { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isInvalid != 0; - } + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isInvalid = (byte) (value ? 1 : 0); - } + [FieldOffset(4)] + internal byte isDependent; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17MemberPointerTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17MemberPointerTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); } - public global::CppSharp.Parser.AST.Declaration CompleteDeclaration + internal static new global::CppSharp.Parser.AST.MemberPointerType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - get - { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->completeDeclaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + return new global::CppSharp.Parser.AST.MemberPointerType(native.ToPointer(), skipVTables); } - public uint DefinitionOrder + internal static global::CppSharp.Parser.AST.MemberPointerType __CreateInstance(global::CppSharp.Parser.AST.MemberPointerType.__Internal native, bool skipVTables = false) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->definitionOrder; - } + return new global::CppSharp.Parser.AST.MemberPointerType(native, skipVTables); + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->definitionOrder = value; - } + private static void* __CopyValue(global::CppSharp.Parser.AST.MemberPointerType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); + global::CppSharp.Parser.AST.MemberPointerType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - public global::System.IntPtr OriginalPtr + private MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->originalPtr; - } + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->originalPtr = (global::System.IntPtr) value; - } + protected MemberPointerType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - public global::CppSharp.Parser.AST.RawComment Comment + public MemberPointerType() + : this((void*) null) { - get - { - global::CppSharp.Parser.AST.RawComment __result0; - if (((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.RawComment.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment)) - __result0 = (global::CppSharp.Parser.AST.RawComment) global::CppSharp.Parser.AST.RawComment.NativeToManagedMap[((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment]; - else __result0 = global::CppSharp.Parser.AST.RawComment.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment); - return __result0; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->comment = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + public MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public uint PreprocessedEntitiesCount + public global::CppSharp.Parser.AST.QualifiedType Pointee { get { - var __ret = __Internal.GetPreprocessedEntitiesCount((__Instance + __PointerAdjustment)); - return __ret; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MemberPointerType.__Internal*) __Instance)->pointee)); } - } - public uint RedeclarationsCount - { - get + set { - var __ret = __Internal.GetRedeclarationsCount((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.MemberPointerType.__Internal*)__Instance)->pointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } } - public unsafe partial class DeclarationContext : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class TypedefType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 424)] + [StructLayout(LayoutKind.Explicit, Size = 16)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - internal int maxFieldAlignment; + internal byte isDependent; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + internal global::System.IntPtr declaration; - [FieldOffset(16)] - internal global::System.IntPtr _namespace; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } - [FieldOffset(28)] - internal int lineNumberStart; + internal static new global::CppSharp.Parser.AST.TypedefType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TypedefType(native.ToPointer(), skipVTables); + } - [FieldOffset(32)] - internal int lineNumberEnd; + internal static global::CppSharp.Parser.AST.TypedefType __CreateInstance(global::CppSharp.Parser.AST.TypedefType.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TypedefType(native, skipVTables); + } - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); + global::CppSharp.Parser.AST.TypedefType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(48)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + private TypedefType(global::CppSharp.Parser.AST.TypedefType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(56)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + protected TypedefType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(64)] - internal byte isIncomplete; + public TypedefType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [FieldOffset(65)] - internal byte isDependent; + public TypedefType(global::CppSharp.Parser.AST.TypedefType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(66)] - internal byte isImplicit; + public global::CppSharp.Parser.AST.TypedefNameDecl Declaration + { + get + { + global::CppSharp.Parser.AST.TypedefNameDecl __result0; + if (((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TypedefNameDecl.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration)) + __result0 = (global::CppSharp.Parser.AST.TypedefNameDecl) global::CppSharp.Parser.AST.TypedefNameDecl.NativeToManagedMap[((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration]; + else __result0 = global::CppSharp.Parser.AST.TypedefNameDecl.__CreateInstance(((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration); + return __result0; + } - [FieldOffset(67)] - internal byte isInvalid; + set + { + ((global::CppSharp.Parser.AST.TypedefType.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } - [FieldOffset(72)] - internal global::System.IntPtr completeDeclaration; + public unsafe partial class AttributedType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; - [FieldOffset(80)] - internal uint definitionOrder; + [FieldOffset(4)] + internal byte isDependent; - [FieldOffset(88)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal modified; - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal equivalent; - [FieldOffset(136)] - internal global::System.IntPtr originalPtr; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14AttributedTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); - [FieldOffset(144)] - internal global::System.IntPtr comment; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14AttributedTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } - [FieldOffset(152)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; + internal static new global::CppSharp.Parser.AST.AttributedType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AttributedType(native.ToPointer(), skipVTables); + } - [FieldOffset(176)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; + internal static global::CppSharp.Parser.AST.AttributedType __CreateInstance(global::CppSharp.Parser.AST.AttributedType.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AttributedType(native, skipVTables); + } - [FieldOffset(200)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; + private static void* __CopyValue(global::CppSharp.Parser.AST.AttributedType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + global::CppSharp.Parser.AST.AttributedType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(224)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; + private AttributedType(global::CppSharp.Parser.AST.AttributedType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(248)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; + protected AttributedType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(272)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; + public AttributedType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [FieldOffset(296)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; + public AttributedType(global::CppSharp.Parser.AST.AttributedType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(320)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; + public global::CppSharp.Parser.AST.QualifiedType Modified + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.AttributedType.__Internal*) __Instance)->modified)); + } - [FieldOffset(344)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; + set + { + ((global::CppSharp.Parser.AST.AttributedType.__Internal*)__Instance)->modified = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } - [FieldOffset(368)] - internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + public global::CppSharp.Parser.AST.QualifiedType Equivalent + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.AttributedType.__Internal*) __Instance)->equivalent)); + } - [FieldOffset(416)] - internal byte isAnonymous; + set + { + ((global::CppSharp.Parser.AST.AttributedType.__Internal*)__Instance)->equivalent = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContextC2ENS1_15DeclarationKindE")] - internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.DeclarationKind kind); + public unsafe partial class DecayedType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContextC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + [FieldOffset(4)] + internal byte isDependent; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContextD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal decayed; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext13getNamespacesEj")] - internal static extern global::System.IntPtr GetNamespaces(global::System.IntPtr __instance, uint i); + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal original; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext13addNamespacesERPNS1_9NamespaceE")] - internal static extern void AddNamespaces(global::System.IntPtr __instance, global::System.IntPtr s); + [FieldOffset(40)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext15clearNamespacesEv")] - internal static extern void ClearNamespaces(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11DecayedTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext8getEnumsEj")] - internal static extern global::System.IntPtr GetEnums(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext8addEnumsERPNS1_11EnumerationE")] - internal static extern void AddEnums(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10clearEnumsEv")] - internal static extern void ClearEnums(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12getFunctionsEj")] - internal static extern global::System.IntPtr GetFunctions(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12addFunctionsERPNS1_8FunctionE")] - internal static extern void AddFunctions(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14clearFunctionsEv")] - internal static extern void ClearFunctions(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10getClassesEj")] - internal static extern global::System.IntPtr GetClasses(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10addClassesERPNS1_5ClassE")] - internal static extern void AddClasses(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12clearClassesEv")] - internal static extern void ClearClasses(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12getTemplatesEj")] - internal static extern global::System.IntPtr GetTemplates(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12addTemplatesERPNS1_8TemplateE")] - internal static extern void AddTemplates(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14clearTemplatesEv")] - internal static extern void ClearTemplates(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext11getTypedefsEj")] - internal static extern global::System.IntPtr GetTypedefs(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext11addTypedefsERPNS1_11TypedefDeclE")] - internal static extern void AddTypedefs(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext13clearTypedefsEv")] - internal static extern void ClearTypedefs(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14getTypeAliasesEj")] - internal static extern global::System.IntPtr GetTypeAliases(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14addTypeAliasesERPNS1_9TypeAliasE")] - internal static extern void AddTypeAliases(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext16clearTypeAliasesEv")] - internal static extern void ClearTypeAliases(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12getVariablesEj")] - internal static extern global::System.IntPtr GetVariables(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12addVariablesERPNS1_8VariableE")] - internal static extern void AddVariables(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14clearVariablesEv")] - internal static extern void ClearVariables(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10getFriendsEj")] - internal static extern global::System.IntPtr GetFriends(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10addFriendsERPNS1_6FriendE")] - internal static extern void AddFriends(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12clearFriendsEv")] - internal static extern void ClearFriends(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext18getNamespacesCountEv")] - internal static extern uint GetNamespacesCount(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext13getEnumsCountEv")] - internal static extern uint GetEnumsCount(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext17getFunctionsCountEv")] - internal static extern uint GetFunctionsCount(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext15getClassesCountEv")] - internal static extern uint GetClassesCount(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext17getTemplatesCountEv")] - internal static extern uint GetTemplatesCount(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext16getTypedefsCountEv")] - internal static extern uint GetTypedefsCount(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext19getTypeAliasesCountEv")] - internal static extern uint GetTypeAliasesCount(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext17getVariablesCountEv")] - internal static extern uint GetVariablesCount(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext15getFriendsCountEv")] - internal static extern uint GetFriendsCount(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11DecayedTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); } - internal static new global::CppSharp.Parser.AST.DeclarationContext __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.DecayedType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.DeclarationContext(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.DecayedType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.DeclarationContext __CreateInstance(global::CppSharp.Parser.AST.DeclarationContext.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.DecayedType __CreateInstance(global::CppSharp.Parser.AST.DecayedType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.DeclarationContext(native, skipVTables); + return new global::CppSharp.Parser.AST.DecayedType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.DeclarationContext.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.DecayedType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); - global::CppSharp.Parser.AST.DeclarationContext.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); + global::CppSharp.Parser.AST.DecayedType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private DeclarationContext(global::CppSharp.Parser.AST.DeclarationContext.__Internal native, bool skipVTables = false) + private DecayedType(global::CppSharp.Parser.AST.DecayedType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected DeclarationContext(void* native, bool skipVTables = false) + protected DecayedType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -5067,19 +4607,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public DeclarationContext(global::CppSharp.Parser.AST.DeclarationKind kind) + public DecayedType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), kind); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public DeclarationContext(global::CppSharp.Parser.AST.DeclarationContext _0) + public DecayedType(global::CppSharp.Parser.AST.DecayedType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -5088,444 +4628,296 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public global::CppSharp.Parser.AST.QualifiedType Decayed { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->decayed)); + } - public global::CppSharp.Parser.AST.Namespace GetNamespaces(uint i) - { - var __ret = __Internal.GetNamespaces((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Namespace __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Namespace.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Namespace) global::CppSharp.Parser.AST.Namespace.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Namespace.__CreateInstance(__ret); - return __result0; + set + { + ((global::CppSharp.Parser.AST.DecayedType.__Internal*)__Instance)->decayed = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } - public void AddNamespaces(global::CppSharp.Parser.AST.Namespace s) + public global::CppSharp.Parser.AST.QualifiedType Original { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddNamespaces((__Instance + __PointerAdjustment), __arg0); - } + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->original)); + } - public void ClearNamespaces() - { - __Internal.ClearNamespaces((__Instance + __PointerAdjustment)); + set + { + ((global::CppSharp.Parser.AST.DecayedType.__Internal*)__Instance)->original = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } - public global::CppSharp.Parser.AST.Enumeration GetEnums(uint i) + public global::CppSharp.Parser.AST.QualifiedType Pointee { - var __ret = __Internal.GetEnums((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Enumeration __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Enumeration.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Enumeration) global::CppSharp.Parser.AST.Enumeration.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Enumeration.__CreateInstance(__ret); - return __result0; + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->pointee)); + } + + set + { + ((global::CppSharp.Parser.AST.DecayedType.__Internal*)__Instance)->pointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } + } - public void AddEnums(global::CppSharp.Parser.AST.Enumeration s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddEnums((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearEnums() - { - __Internal.ClearEnums((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.Function GetFunctions(uint i) - { - var __ret = __Internal.GetFunctions((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Function __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(__ret); - return __result0; - } - - public void AddFunctions(global::CppSharp.Parser.AST.Function s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddFunctions((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearFunctions() - { - __Internal.ClearFunctions((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.Class GetClasses(uint i) + public unsafe partial class TemplateArgument : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public partial struct __Internal { - var __ret = __Internal.GetClasses((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Class __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(__ret); - return __result0; - } + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind kind; - public void AddClasses(global::CppSharp.Parser.AST.Class s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddClasses((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; - public void ClearClasses() - { - __Internal.ClearClasses((__Instance + __PointerAdjustment)); - } + [FieldOffset(24)] + internal global::System.IntPtr declaration; - public global::CppSharp.Parser.AST.Template GetTemplates(uint i) - { - var __ret = __Internal.GetTemplates((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Template __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Template.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Template) global::CppSharp.Parser.AST.Template.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Template.__CreateInstance(__ret); - return __result0; - } + [FieldOffset(32)] + internal long integral; - public void AddTemplates(global::CppSharp.Parser.AST.Template s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddTemplates((__Instance + __PointerAdjustment), __arg0); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16TemplateArgumentC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); - public void ClearTemplates() - { - __Internal.ClearTemplates((__Instance + __PointerAdjustment)); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16TemplateArgumentC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); } - public global::CppSharp.Parser.AST.TypedefDecl GetTypedefs(uint i) + public enum ArgumentKind { - var __ret = __Internal.GetTypedefs((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.TypedefDecl __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TypedefDecl.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.TypedefDecl) global::CppSharp.Parser.AST.TypedefDecl.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.TypedefDecl.__CreateInstance(__ret); - return __result0; + Type = 0, + Declaration = 1, + NullPtr = 2, + Integral = 3, + Template = 4, + TemplateExpansion = 5, + Expression = 6, + Pack = 7 } - public void AddTypedefs(global::CppSharp.Parser.AST.TypedefDecl s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddTypedefs((__Instance + __PointerAdjustment), __arg0); - } + public global::System.IntPtr __Instance { get; protected set; } - public void ClearTypedefs() - { - __Internal.ClearTypedefs((__Instance + __PointerAdjustment)); - } + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; - public global::CppSharp.Parser.AST.TypeAlias GetTypeAliases(uint i) - { - var __ret = __Internal.GetTypeAliases((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.TypeAlias __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TypeAlias.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.TypeAlias) global::CppSharp.Parser.AST.TypeAlias.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.TypeAlias.__CreateInstance(__ret); - return __result0; - } + protected bool __ownsNativeInstance; - public void AddTypeAliases(global::CppSharp.Parser.AST.TypeAlias s) + internal static global::CppSharp.Parser.AST.TemplateArgument __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddTypeAliases((__Instance + __PointerAdjustment), __arg0); + return new global::CppSharp.Parser.AST.TemplateArgument(native.ToPointer(), skipVTables); } - public void ClearTypeAliases() + internal static global::CppSharp.Parser.AST.TemplateArgument __CreateInstance(global::CppSharp.Parser.AST.TemplateArgument.__Internal native, bool skipVTables = false) { - __Internal.ClearTypeAliases((__Instance + __PointerAdjustment)); + return new global::CppSharp.Parser.AST.TemplateArgument(native, skipVTables); } - public global::CppSharp.Parser.AST.Variable GetVariables(uint i) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateArgument.__Internal native) { - var __ret = __Internal.GetVariables((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Variable __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Variable.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Variable) global::CppSharp.Parser.AST.Variable.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Variable.__CreateInstance(__ret); - return __result0; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + *(global::CppSharp.Parser.AST.TemplateArgument.__Internal*) ret = native; + return ret.ToPointer(); } - public void AddVariables(global::CppSharp.Parser.AST.Variable s) + private TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddVariables((__Instance + __PointerAdjustment), __arg0); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; } - public void ClearVariables() + protected TemplateArgument(void* native, bool skipVTables = false) { - __Internal.ClearVariables((__Instance + __PointerAdjustment)); + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - public global::CppSharp.Parser.AST.Friend GetFriends(uint i) + public TemplateArgument() { - var __ret = __Internal.GetFriends((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Friend __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Friend.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Friend) global::CppSharp.Parser.AST.Friend.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Friend.__CreateInstance(__ret); - return __result0; + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); } - public void AddFriends(global::CppSharp.Parser.AST.Friend s) + public TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument _0) { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddFriends((__Instance + __PointerAdjustment), __arg0); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) _0.__Instance); } - public void ClearFriends() + public void Dispose() { - __Internal.ClearFriends((__Instance + __PointerAdjustment)); + Dispose(disposing: true); } - public static implicit operator global::CppSharp.Parser.AST.DeclarationContext(global::CppSharp.Parser.AST.DeclarationKind kind) + public virtual void Dispose(bool disposing) { - return new global::CppSharp.Parser.AST.DeclarationContext(kind); + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.TemplateArgument __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } - public bool IsAnonymous + public global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind Kind { get { - return ((global::CppSharp.Parser.AST.DeclarationContext.__Internal*) __Instance)->isAnonymous != 0; + return ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->kind; } set { - ((global::CppSharp.Parser.AST.DeclarationContext.__Internal*)__Instance)->isAnonymous = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->kind = value; } } - public uint NamespacesCount + public global::CppSharp.Parser.AST.QualifiedType Type { get { - var __ret = __Internal.GetNamespacesCount((__Instance + __PointerAdjustment)); - return __ret; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->type)); } - } - public uint EnumsCount - { - get + set { - var __ret = __Internal.GetEnumsCount((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public uint FunctionsCount + public global::CppSharp.Parser.AST.Declaration Declaration { get { - var __ret = __Internal.GetFunctionsCount((__Instance + __PointerAdjustment)); - return __ret; + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration); + return __result0; } - } - public uint ClassesCount - { - get + set { - var __ret = __Internal.GetClassesCount((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public uint TemplatesCount + public long Integral { get { - var __ret = __Internal.GetTemplatesCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->integral; } - } - public uint TypedefsCount - { - get - { - var __ret = __Internal.GetTypedefsCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint TypeAliasesCount - { - get - { - var __ret = __Internal.GetTypeAliasesCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint VariablesCount - { - get - { - var __ret = __Internal.GetVariablesCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint FriendsCount - { - get + set { - var __ret = __Internal.GetFriendsCount((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->integral = value; } } } - public unsafe partial class TypedefNameDecl : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class TemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 168)] + [StructLayout(LayoutKind.Explicit, Size = 56)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - internal int maxFieldAlignment; + internal byte isDependent; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; [FieldOffset(32)] - internal int lineNumberEnd; + internal global::System.IntPtr _template; [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(48)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - - [FieldOffset(56)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - - [FieldOffset(64)] - internal byte isIncomplete; - - [FieldOffset(65)] - internal byte isDependent; - - [FieldOffset(66)] - internal byte isImplicit; - - [FieldOffset(67)] - internal byte isInvalid; - - [FieldOffset(72)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(80)] - internal uint definitionOrder; - - [FieldOffset(88)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); - [FieldOffset(136)] - internal global::System.IntPtr originalPtr; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - [FieldOffset(144)] - internal global::System.IntPtr comment; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); - [FieldOffset(152)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType12getArgumentsEj")] + internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TypedefNameDeclC2ENS1_15DeclarationKindE")] - internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.DeclarationKind kind); + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType12addArgumentsERNS1_16TemplateArgumentE")] + internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TypedefNameDeclC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType14clearArgumentsEv")] + internal static extern void ClearArguments(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TypedefNameDeclD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType17getArgumentsCountEv")] + internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.TypedefNameDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TemplateSpecializationType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypedefNameDecl(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TemplateSpecializationType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TypedefNameDecl __CreateInstance(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TemplateSpecializationType __CreateInstance(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypedefNameDecl(native, skipVTables); + return new global::CppSharp.Parser.AST.TemplateSpecializationType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); - global::CppSharp.Parser.AST.TypedefNameDecl.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); + global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native, bool skipVTables = false) + private TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TypedefNameDecl(void* native, bool skipVTables = false) + protected TemplateSpecializationType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -5534,19 +4926,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) + public TemplateSpecializationType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), kind); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl _0) + public TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -5559,7 +4951,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.Type __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -5568,134 +4960,145 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public static implicit operator global::CppSharp.Parser.AST.TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) { - return new global::CppSharp.Parser.AST.TypedefNameDecl(kind); + var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); + __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType + public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearArguments() + { + __Internal.ClearArguments((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Template Template { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TypedefNameDecl.__Internal*) __Instance)->qualifiedType)); + global::CppSharp.Parser.AST.Template __result0; + if (((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Template.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template)) + __result0 = (global::CppSharp.Parser.AST.Template) global::CppSharp.Parser.AST.Template.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template]; + else __result0 = global::CppSharp.Parser.AST.Template.__CreateInstance(((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template); + return __result0; } set { - ((global::CppSharp.Parser.AST.TypedefNameDecl.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*)__Instance)->_template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType Desugared + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->desugared)); + } + + set + { + ((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*)__Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public uint ArgumentsCount + { + get + { + var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class TypedefDecl : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable + public unsafe partial class DependentTemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 168)] + [StructLayout(LayoutKind.Explicit, Size = 48)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - internal int maxFieldAlignment; + internal byte isDependent; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; [FieldOffset(32)] - internal int lineNumberEnd; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; - [FieldOffset(48)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); - [FieldOffset(56)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - [FieldOffset(64)] - internal byte isIncomplete; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationTypeD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); - [FieldOffset(65)] - internal byte isDependent; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType12getArgumentsEj")] + internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); - [FieldOffset(66)] - internal byte isImplicit; - - [FieldOffset(67)] - internal byte isInvalid; - - [FieldOffset(72)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(80)] - internal uint definitionOrder; - - [FieldOffset(88)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - - [FieldOffset(136)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(144)] - internal global::System.IntPtr comment; - - [FieldOffset(152)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType12addArgumentsERNS1_16TemplateArgumentE")] + internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefDeclC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefDeclC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType14clearArgumentsEv")] + internal static extern void ClearArguments(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefDeclD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType17getArgumentsCountEv")] + internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.TypedefDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.DependentTemplateSpecializationType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypedefDecl(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.DependentTemplateSpecializationType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TypedefDecl __CreateInstance(global::CppSharp.Parser.AST.TypedefDecl.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.DependentTemplateSpecializationType __CreateInstance(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypedefDecl(native, skipVTables); + return new global::CppSharp.Parser.AST.DependentTemplateSpecializationType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefDecl.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); - global::CppSharp.Parser.AST.TypedefDecl.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); + global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl.__Internal native, bool skipVTables = false) + private DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TypedefDecl(void* native, bool skipVTables = false) + protected DependentTemplateSpecializationType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -5704,19 +5107,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TypedefDecl() + public DependentTemplateSpecializationType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl _0) + public DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -5729,7 +5132,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.Type __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -5737,120 +5140,114 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - } - public unsafe partial class TypeAlias : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 176)] - public new partial struct __Internal + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); + __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); + } - [FieldOffset(28)] - internal int lineNumberStart; + public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(32)] - internal int lineNumberEnd; + public void ClearArguments() + { + __Internal.ClearArguments((__Instance + __PointerAdjustment)); + } - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + public global::CppSharp.Parser.AST.QualifiedType Desugared + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal*) __Instance)->desugared)); + } - [FieldOffset(48)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + set + { + ((global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal*)__Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } - [FieldOffset(56)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + public uint ArgumentsCount + { + get + { + var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } - [FieldOffset(64)] - internal byte isIncomplete; + public unsafe partial class TemplateParameterType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; - [FieldOffset(65)] + [FieldOffset(4)] internal byte isDependent; - [FieldOffset(66)] - internal byte isImplicit; - - [FieldOffset(67)] - internal byte isInvalid; - - [FieldOffset(72)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(80)] - internal uint definitionOrder; - - [FieldOffset(88)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - - [FieldOffset(136)] - internal global::System.IntPtr originalPtr; + [FieldOffset(8)] + internal global::System.IntPtr parameter; - [FieldOffset(144)] - internal global::System.IntPtr comment; + [FieldOffset(16)] + internal uint depth; - [FieldOffset(152)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + [FieldOffset(20)] + internal uint index; - [FieldOffset(168)] - internal global::System.IntPtr describedAliasTemplate; + [FieldOffset(24)] + internal byte isParameterPack; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9TypeAliasC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9TypeAliasC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9TypeAliasD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.TypeAlias __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TemplateParameterType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypeAlias(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TemplateParameterType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TypeAlias __CreateInstance(global::CppSharp.Parser.AST.TypeAlias.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TemplateParameterType __CreateInstance(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypeAlias(native, skipVTables); + return new global::CppSharp.Parser.AST.TemplateParameterType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypeAlias.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); - global::CppSharp.Parser.AST.TypeAlias.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); + global::CppSharp.Parser.AST.TemplateParameterType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TypeAlias(global::CppSharp.Parser.AST.TypeAlias.__Internal native, bool skipVTables = false) + private TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TypeAlias(void* native, bool skipVTables = false) + protected TemplateParameterType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -5859,19 +5256,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TypeAlias() + public TemplateParameterType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TypeAlias(global::CppSharp.Parser.AST.TypeAlias _0) + public TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -5884,7 +5281,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.Type __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -5893,134 +5290,117 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TypeAliasTemplate DescribedAliasTemplate + public global::CppSharp.Parser.AST.TypeTemplateParameter Parameter { get { - global::CppSharp.Parser.AST.TypeAliasTemplate __result0; - if (((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TypeAliasTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate)) - __result0 = (global::CppSharp.Parser.AST.TypeAliasTemplate) global::CppSharp.Parser.AST.TypeAliasTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate]; - else __result0 = global::CppSharp.Parser.AST.TypeAliasTemplate.__CreateInstance(((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate); + global::CppSharp.Parser.AST.TypeTemplateParameter __result0; + if (((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TypeTemplateParameter.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter)) + __result0 = (global::CppSharp.Parser.AST.TypeTemplateParameter) global::CppSharp.Parser.AST.TypeTemplateParameter.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter]; + else __result0 = global::CppSharp.Parser.AST.TypeTemplateParameter.__CreateInstance(((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter); return __result0; } set { - ((global::CppSharp.Parser.AST.TypeAlias.__Internal*)__Instance)->describedAliasTemplate = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->parameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - } - public unsafe partial class Friend : global::CppSharp.Parser.AST.Declaration, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 160)] - public new partial struct __Internal + public uint Depth { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + get + { + return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->depth; + } - [FieldOffset(16)] - internal global::System.IntPtr _namespace; + set + { + ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->depth = value; + } + } - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + public uint Index + { + get + { + return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->index; + } - [FieldOffset(28)] - internal int lineNumberStart; - - [FieldOffset(32)] - internal int lineNumberEnd; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + set + { + ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->index = value; + } + } - [FieldOffset(48)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + public bool IsParameterPack + { + get + { + return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->isParameterPack != 0; + } - [FieldOffset(56)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + set + { + ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->isParameterPack = (byte) (value ? 1 : 0); + } + } + } - [FieldOffset(64)] - internal byte isIncomplete; + public unsafe partial class TemplateParameterSubstitutionType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; - [FieldOffset(65)] + [FieldOffset(4)] internal byte isDependent; - [FieldOffset(66)] - internal byte isImplicit; - - [FieldOffset(67)] - internal byte isInvalid; - - [FieldOffset(72)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(80)] - internal uint definitionOrder; - - [FieldOffset(88)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - - [FieldOffset(136)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(144)] - internal global::System.IntPtr comment; + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal replacement; - [FieldOffset(152)] - internal global::System.IntPtr declaration; + [FieldOffset(24)] + internal global::System.IntPtr replacedParameter; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6FriendC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST33TemplateParameterSubstitutionTypeC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6FriendC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST33TemplateParameterSubstitutionTypeC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6FriendD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.Friend __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Friend(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Friend __CreateInstance(global::CppSharp.Parser.AST.Friend.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TemplateParameterSubstitutionType __CreateInstance(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Friend(native, skipVTables); + return new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Friend.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); - global::CppSharp.Parser.AST.Friend.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); + global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Friend(global::CppSharp.Parser.AST.Friend.__Internal native, bool skipVTables = false) + private TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Friend(void* native, bool skipVTables = false) + protected TemplateParameterSubstitutionType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -6029,19 +5409,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Friend() + public TemplateParameterSubstitutionType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public Friend(global::CppSharp.Parser.AST.Friend _0) + public TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -6050,123 +5430,112 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public global::CppSharp.Parser.AST.QualifiedType Replacement { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacement)); + } + + set + { + ((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*)__Instance)->replacement = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } - public global::CppSharp.Parser.AST.Declaration Declaration + public global::CppSharp.Parser.AST.TemplateParameterType ReplacedParameter { get { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration); + global::CppSharp.Parser.AST.TemplateParameterType __result0; + if (((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TemplateParameterType.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter)) + __result0 = (global::CppSharp.Parser.AST.TemplateParameterType) global::CppSharp.Parser.AST.TemplateParameterType.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter]; + else __result0 = global::CppSharp.Parser.AST.TemplateParameterType.__CreateInstance(((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter); return __result0; } set { - ((global::CppSharp.Parser.AST.Friend.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*)__Instance)->replacedParameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class Statement : IDisposable + public unsafe partial class InjectedClassNameType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 24)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.StatementClass _class; + internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + internal byte isDependent; [FieldOffset(8)] - internal global::System.IntPtr decl; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal injectedSpecializationType; - [FieldOffset(16)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; + [FieldOffset(24)] + internal global::System.IntPtr _class; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9StatementC2ERKSsNS1_14StatementClassEPNS1_11DeclarationE")] - internal static extern void ctor(global::System.IntPtr __instance, global::System.IntPtr str, global::CppSharp.Parser.AST.StatementClass Class, global::System.IntPtr decl); + EntryPoint="_ZN8CppSharp9CppParser3AST21InjectedClassNameTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9StatementC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST21InjectedClassNameTypeC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9StatementD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); } - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.Statement __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.InjectedClassNameType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Statement(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.InjectedClassNameType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Statement __CreateInstance(global::CppSharp.Parser.AST.Statement.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.InjectedClassNameType __CreateInstance(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Statement(native, skipVTables); + return new global::CppSharp.Parser.AST.InjectedClassNameType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Statement.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Statement.__Internal)); - global::CppSharp.Parser.AST.Statement.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); + global::CppSharp.Parser.AST.InjectedClassNameType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Statement(global::CppSharp.Parser.AST.Statement.__Internal native, bool skipVTables = false) + private InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Statement(void* native, bool skipVTables = false) + protected InjectedClassNameType(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public Statement(string str, global::CppSharp.Parser.AST.StatementClass Class, global::CppSharp.Parser.AST.Declaration decl) + public InjectedClassNameType() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Statement.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, str); - var __arg0 = __basicString0.__Instance; - var __arg2 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; - __Internal.ctor((__Instance + __PointerAdjustment), __arg0, Class, __arg2); - __basicString0.Dispose(false); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public Statement(global::CppSharp.Parser.AST.Statement _0) + public InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Statement.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -6175,127 +5544,96 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Statement __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public global::CppSharp.Parser.AST.StatementClass Class + public global::CppSharp.Parser.AST.QualifiedType InjectedSpecializationType { get { - return ((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->_class; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->injectedSpecializationType)); } set { - ((global::CppSharp.Parser.AST.Statement.__Internal*)__Instance)->_class = value; + ((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*)__Instance)->injectedSpecializationType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public global::CppSharp.Parser.AST.Declaration Decl + public global::CppSharp.Parser.AST.Class Class { get { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl); + global::CppSharp.Parser.AST.Class __result0; + if (((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class)) + __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class]; + else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class); return __result0; } set { - ((global::CppSharp.Parser.AST.Statement.__Internal*)__Instance)->decl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - - public string String - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->@string)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Statement.__Internal*)__Instance)->@string), value); + ((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*)__Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class Expression : global::CppSharp.Parser.AST.Statement, IDisposable + public unsafe partial class DependentNameType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.StatementClass _class; + internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + internal byte isDependent; [FieldOffset(8)] - internal global::System.IntPtr decl; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifier; - [FieldOffset(16)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; + [FieldOffset(24)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C identifier; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ExpressionC2ERKSsNS1_14StatementClassEPNS1_11DeclarationE")] - internal static extern void ctor(global::System.IntPtr __instance, global::System.IntPtr str, global::CppSharp.Parser.AST.StatementClass Class, global::System.IntPtr decl); + EntryPoint="_ZN8CppSharp9CppParser3AST17DependentNameTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ExpressionC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST17DependentNameTypeC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ExpressionD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST17DependentNameTypeD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.Expression __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.DependentNameType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Expression(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.DependentNameType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Expression __CreateInstance(global::CppSharp.Parser.AST.Expression.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.DependentNameType __CreateInstance(global::CppSharp.Parser.AST.DependentNameType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Expression(native, skipVTables); + return new global::CppSharp.Parser.AST.DependentNameType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Expression.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.DependentNameType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expression.__Internal)); - global::CppSharp.Parser.AST.Expression.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); + global::CppSharp.Parser.AST.DependentNameType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Expression(global::CppSharp.Parser.AST.Expression.__Internal native, bool skipVTables = false) + private DependentNameType(global::CppSharp.Parser.AST.DependentNameType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Expression(void* native, bool skipVTables = false) + protected DependentNameType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -6304,24 +5642,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Expression(string str, global::CppSharp.Parser.AST.StatementClass Class, global::CppSharp.Parser.AST.Declaration decl) + public DependentNameType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expression.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, str); - var __arg0 = __basicString0.__Instance; - var __arg2 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; - __Internal.ctor((__Instance + __PointerAdjustment), __arg0, Class, __arg2); - __basicString0.Dispose(false); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public Expression(global::CppSharp.Parser.AST.Expression _0) + public DependentNameType(global::CppSharp.Parser.AST.DependentNameType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expression.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -6334,7 +5667,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Statement __dummy; + global::CppSharp.Parser.AST.Type __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -6342,72 +5675,84 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - } - public unsafe partial class BinaryOperator : global::CppSharp.Parser.AST.Expression, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 48)] - public new partial struct __Internal + public global::CppSharp.Parser.AST.QualifiedType Qualifier { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.StatementClass _class; + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentNameType.__Internal*) __Instance)->qualifier)); + } - [FieldOffset(8)] - internal global::System.IntPtr decl; + set + { + ((global::CppSharp.Parser.AST.DependentNameType.__Internal*)__Instance)->qualifier = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } - [FieldOffset(16)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; + public string Identifier + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentNameType.__Internal*) __Instance)->identifier)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - [FieldOffset(24)] - internal global::System.IntPtr LHS; + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentNameType.__Internal*)__Instance)->identifier), value); + } + } + } - [FieldOffset(32)] - internal global::System.IntPtr RHS; + public unsafe partial class PackExpansionType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 8)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C opcodeStr; + [FieldOffset(4)] + internal byte isDependent; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperatorC2ERKSsPNS1_10ExpressionES6_S4_")] - internal static extern void ctor(global::System.IntPtr __instance, global::System.IntPtr str, global::System.IntPtr lhs, global::System.IntPtr rhs, global::System.IntPtr opcodeStr); + EntryPoint="_ZN8CppSharp9CppParser3AST17PackExpansionTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperatorC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST17PackExpansionTypeC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperatorD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.BinaryOperator __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.PackExpansionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BinaryOperator(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.PackExpansionType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.BinaryOperator __CreateInstance(global::CppSharp.Parser.AST.BinaryOperator.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.PackExpansionType __CreateInstance(global::CppSharp.Parser.AST.PackExpansionType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BinaryOperator(native, skipVTables); + return new global::CppSharp.Parser.AST.PackExpansionType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.BinaryOperator.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.PackExpansionType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); - global::CppSharp.Parser.AST.BinaryOperator.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); + global::CppSharp.Parser.AST.PackExpansionType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private BinaryOperator(global::CppSharp.Parser.AST.BinaryOperator.__Internal native, bool skipVTables = false) + private PackExpansionType(global::CppSharp.Parser.AST.PackExpansionType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected BinaryOperator(void* native, bool skipVTables = false) + protected PackExpansionType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -6416,29 +5761,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public BinaryOperator(string str, global::CppSharp.Parser.AST.Expression lhs, global::CppSharp.Parser.AST.Expression rhs, string opcodeStr) + public PackExpansionType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, str); - var __arg0 = __basicString0.__Instance; - var __arg1 = ReferenceEquals(lhs, null) ? global::System.IntPtr.Zero : lhs.__Instance; - var __arg2 = ReferenceEquals(rhs, null) ? global::System.IntPtr.Zero : rhs.__Instance; - var __basicString3 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString3, opcodeStr); - var __arg3 = __basicString3.__Instance; - __Internal.ctor((__Instance + __PointerAdjustment), __arg0, __arg1, __arg2, __arg3); - __basicString0.Dispose(false); - __basicString3.Dispose(false); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public BinaryOperator(global::CppSharp.Parser.AST.BinaryOperator _0) + public PackExpansionType(global::CppSharp.Parser.AST.PackExpansionType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -6446,151 +5781,170 @@ namespace CppSharp var __arg0 = _0.__Instance; __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } + } - public override void Dispose(bool disposing) + public unsafe partial class UnaryTransformType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct __Internal { - if (__Instance == IntPtr.Zero) + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + internal byte isDependent; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal baseType; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18UnaryTransformTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18UnaryTransformTypeC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.UnaryTransformType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.UnaryTransformType(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.UnaryTransformType __CreateInstance(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.UnaryTransformType(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); + global::CppSharp.Parser.AST.UnaryTransformType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected UnaryTransformType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) return; - global::CppSharp.Parser.AST.Statement __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + __Instance = new global::System.IntPtr(native); } - public global::CppSharp.Parser.AST.Expression LHS + public UnaryTransformType() + : this((void*) null) { - get - { - global::CppSharp.Parser.AST.Expression __result0; - if (((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS)) - __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS]; - else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS); - return __result0; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - set - { - ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->LHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + public UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.Expression RHS + public global::CppSharp.Parser.AST.QualifiedType Desugared { get { - global::CppSharp.Parser.AST.Expression __result0; - if (((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS)) - __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS]; - else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS); - return __result0; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*) __Instance)->desugared)); } set { - ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->RHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*)__Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public string OpcodeStr + public global::CppSharp.Parser.AST.QualifiedType BaseType { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->opcodeStr)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*) __Instance)->baseType)); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->opcodeStr), value); + ((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*)__Instance)->baseType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } } - public unsafe partial class CallExpr : global::CppSharp.Parser.AST.Expression, IDisposable + public unsafe partial class VectorType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.StatementClass _class; + internal global::CppSharp.Parser.AST.TypeKind kind; - [FieldOffset(8)] - internal global::System.IntPtr decl; + [FieldOffset(4)] + internal byte isDependent; - [FieldOffset(16)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal elementType; [FieldOffset(24)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expression___N_std_S_allocator__S0_ Arguments; + internal uint numElements; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExprC2ERKSsPNS1_11DeclarationE")] - internal static extern void ctor(global::System.IntPtr __instance, global::System.IntPtr str, global::System.IntPtr decl); + EntryPoint="_ZN8CppSharp9CppParser3AST10VectorTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExprC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST10VectorTypeC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExprD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr12getArgumentsEj")] - internal static extern global::System.IntPtr GetArguments(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr12addArgumentsERPNS1_10ExpressionE")] - internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr14clearArgumentsEv")] - internal static extern void ClearArguments(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr17getArgumentsCountEv")] - internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.CallExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.VectorType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.CallExpr(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.VectorType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.CallExpr __CreateInstance(global::CppSharp.Parser.AST.CallExpr.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VectorType __CreateInstance(global::CppSharp.Parser.AST.VectorType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.CallExpr(native, skipVTables); + return new global::CppSharp.Parser.AST.VectorType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.CallExpr.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VectorType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); - global::CppSharp.Parser.AST.CallExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); + global::CppSharp.Parser.AST.VectorType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private CallExpr(global::CppSharp.Parser.AST.CallExpr.__Internal native, bool skipVTables = false) + private VectorType(global::CppSharp.Parser.AST.VectorType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected CallExpr(void* native, bool skipVTables = false) + protected VectorType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -6599,24 +5953,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public CallExpr(string str, global::CppSharp.Parser.AST.Declaration decl) + public VectorType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, str); - var __arg0 = __basicString0.__Instance; - var __arg1 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; - __Internal.ctor((__Instance + __PointerAdjustment), __arg0, __arg1); - __basicString0.Dispose(false); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public CallExpr(global::CppSharp.Parser.AST.CallExpr _0) + public VectorType(global::CppSharp.Parser.AST.VectorType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -6625,131 +5974,83 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Statement __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public global::CppSharp.Parser.AST.Expression GetArguments(uint i) - { - var __ret = __Internal.GetArguments((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Expression __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(__ret); - return __result0; - } - - public void AddArguments(global::CppSharp.Parser.AST.Expression s) + public global::CppSharp.Parser.AST.QualifiedType ElementType { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); - } + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->elementType)); + } - public void ClearArguments() - { - __Internal.ClearArguments((__Instance + __PointerAdjustment)); + set + { + ((global::CppSharp.Parser.AST.VectorType.__Internal*)__Instance)->elementType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } - public uint ArgumentsCount + public uint NumElements { get { - var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->numElements; + } + + set + { + ((global::CppSharp.Parser.AST.VectorType.__Internal*)__Instance)->numElements = value; } } } - public unsafe partial class CXXConstructExpr : global::CppSharp.Parser.AST.Expression, IDisposable + public unsafe partial class BuiltinType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.StatementClass _class; - - [FieldOffset(8)] - internal global::System.IntPtr decl; + internal global::CppSharp.Parser.AST.TypeKind kind; - [FieldOffset(16)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; + [FieldOffset(4)] + internal byte isDependent; - [FieldOffset(24)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expression___N_std_S_allocator__S0_ Arguments; + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.PrimitiveType type; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExprC2ERKSsPNS1_11DeclarationE")] - internal static extern void ctor(global::System.IntPtr __instance, global::System.IntPtr str, global::System.IntPtr decl); + EntryPoint="_ZN8CppSharp9CppParser3AST11BuiltinTypeC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExprC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST11BuiltinTypeC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExprD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr12getArgumentsEj")] - internal static extern global::System.IntPtr GetArguments(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr12addArgumentsERPNS1_10ExpressionE")] - internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr14clearArgumentsEv")] - internal static extern void ClearArguments(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr17getArgumentsCountEv")] - internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.CXXConstructExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.BuiltinType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.CXXConstructExpr(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.BuiltinType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.CXXConstructExpr __CreateInstance(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.BuiltinType __CreateInstance(global::CppSharp.Parser.AST.BuiltinType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.CXXConstructExpr(native, skipVTables); + return new global::CppSharp.Parser.AST.BuiltinType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.BuiltinType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); - global::CppSharp.Parser.AST.CXXConstructExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); + global::CppSharp.Parser.AST.BuiltinType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private CXXConstructExpr(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native, bool skipVTables = false) + private BuiltinType(global::CppSharp.Parser.AST.BuiltinType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected CXXConstructExpr(void* native, bool skipVTables = false) + protected BuiltinType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -6758,24 +6059,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public CXXConstructExpr(string str, global::CppSharp.Parser.AST.Declaration decl) + public BuiltinType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, str); - var __arg0 = __basicString0.__Instance; - var __arg1 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; - __Internal.ctor((__Instance + __PointerAdjustment), __arg0, __arg1); - __basicString0.Dispose(false); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public CXXConstructExpr(global::CppSharp.Parser.AST.CXXConstructExpr _0) + public BuiltinType(global::CppSharp.Parser.AST.BuiltinType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -6784,291 +6080,247 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Statement __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public global::CppSharp.Parser.AST.Expression GetArguments(uint i) - { - var __ret = __Internal.GetArguments((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Expression __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(__ret); - return __result0; - } - - public void AddArguments(global::CppSharp.Parser.AST.Expression s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearArguments() - { - __Internal.ClearArguments((__Instance + __PointerAdjustment)); - } - - public uint ArgumentsCount + public global::CppSharp.Parser.AST.PrimitiveType Type { get { - var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.BuiltinType.__Internal*) __Instance)->type; + } + + set + { + ((global::CppSharp.Parser.AST.BuiltinType.__Internal*)__Instance)->type = value; } } } + } + } +} - public unsafe partial class Parameter : global::CppSharp.Parser.AST.Declaration, IDisposable +namespace CppSharp +{ + namespace Parser + { + namespace AST + { + public enum DeclarationKind { - [StructLayout(LayoutKind.Explicit, Size = 184)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; - - [FieldOffset(32)] - internal int lineNumberEnd; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(48)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - - [FieldOffset(56)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - - [FieldOffset(64)] - internal byte isIncomplete; - - [FieldOffset(65)] - internal byte isDependent; - - [FieldOffset(66)] - internal byte isImplicit; - - [FieldOffset(67)] - internal byte isInvalid; + DeclarationContext = 0, + Typedef = 1, + TypeAlias = 2, + Parameter = 3, + Function = 4, + Method = 5, + Enumeration = 6, + EnumerationItem = 7, + Variable = 8, + Field = 9, + AccessSpecifier = 10, + Class = 11, + Template = 12, + TypeAliasTemplate = 13, + ClassTemplate = 14, + ClassTemplateSpecialization = 15, + ClassTemplatePartialSpecialization = 16, + FunctionTemplate = 17, + Namespace = 18, + PreprocessedEntity = 19, + MacroDefinition = 20, + MacroExpansion = 21, + TranslationUnit = 22, + Friend = 23, + TemplateTemplateParm = 24, + TemplateTypeParm = 25, + NonTypeTemplateParm = 26, + VarTemplate = 27, + VarTemplateSpecialization = 28, + VarTemplatePartialSpecialization = 29 + } - [FieldOffset(72)] - internal global::System.IntPtr completeDeclaration; + public enum AccessSpecifier + { + Private = 0, + Protected = 1, + Public = 2 + } - [FieldOffset(80)] - internal uint definitionOrder; + public enum MacroLocation + { + Unknown = 0, + ClassHead = 1, + ClassBody = 2, + FunctionHead = 3, + FunctionParameters = 4, + FunctionBody = 5 + } - [FieldOffset(88)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + public enum FriendKind + { + None = 0, + Declared = 1, + Undeclared = 2 + } - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + public enum CXXOperatorKind + { + None = 0, + New = 1, + Delete = 2, + ArrayNew = 3, + ArrayDelete = 4, + Plus = 5, + Minus = 6, + Star = 7, + Slash = 8, + Percent = 9, + Caret = 10, + Amp = 11, + Pipe = 12, + Tilde = 13, + Exclaim = 14, + Equal = 15, + Less = 16, + Greater = 17, + PlusEqual = 18, + MinusEqual = 19, + StarEqual = 20, + SlashEqual = 21, + PercentEqual = 22, + CaretEqual = 23, + AmpEqual = 24, + PipeEqual = 25, + LessLess = 26, + GreaterGreater = 27, + LessLessEqual = 28, + GreaterGreaterEqual = 29, + EqualEqual = 30, + ExclaimEqual = 31, + LessEqual = 32, + GreaterEqual = 33, + Spaceship = 34, + AmpAmp = 35, + PipePipe = 36, + PlusPlus = 37, + MinusMinus = 38, + Comma = 39, + ArrowStar = 40, + Arrow = 41, + Call = 42, + Subscript = 43, + Conditional = 44, + Coawait = 45 + } - [FieldOffset(136)] - internal global::System.IntPtr originalPtr; + public enum StatementClassObsolete + { + Any = 0, + BinaryOperator = 1, + CallExprClass = 2, + DeclRefExprClass = 3, + CXXConstructExprClass = 4, + CXXOperatorCallExpr = 5, + ImplicitCastExpr = 6, + ExplicitCastExpr = 7 + } - [FieldOffset(144)] - internal global::System.IntPtr comment; + public enum TemplateSpecializationKind + { + Undeclared = 0, + ImplicitInstantiation = 1, + ExplicitSpecialization = 2, + ExplicitInstantiationDeclaration = 3, + ExplicitInstantiationDefinition = 4 + } - [FieldOffset(152)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + public enum CXXMethodKind + { + Normal = 0, + Constructor = 1, + Destructor = 2, + Conversion = 3, + Operator = 4, + UsingDirective = 5 + } - [FieldOffset(168)] - internal byte isIndirect; + public enum RefQualifierKind + { + None = 0, + LValue = 1, + RValue = 2 + } - [FieldOffset(169)] - internal byte hasDefaultValue; + public enum CppAbi + { + Itanium = 0, + Microsoft = 1, + ARM = 2, + iOS = 3, + iOS64 = 4 + } - [FieldOffset(172)] - internal uint index; + public enum VTableComponentKind + { + VCallOffset = 0, + VBaseOffset = 1, + OffsetToTop = 2, + RTTI = 3, + FunctionPointer = 4, + CompleteDtorPointer = 5, + DeletingDtorPointer = 6, + UnusedFunctionPointer = 7 + } - [FieldOffset(176)] - internal global::System.IntPtr defaultArgument; + public unsafe partial class Expr + { + [StructLayout(LayoutKind.Explicit, Size = 0)] + public partial struct __Internal + { + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9ParameterC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + public global::System.IntPtr __Instance { get; protected set; } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9ParameterC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9ParameterD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); - } + protected bool __ownsNativeInstance; - internal static new global::CppSharp.Parser.AST.Parameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Expr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Parameter(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Expr(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Parameter __CreateInstance(global::CppSharp.Parser.AST.Parameter.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Expr __CreateInstance(global::CppSharp.Parser.AST.Expr.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Parameter(native, skipVTables); + return new global::CppSharp.Parser.AST.Expr(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Parameter.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Expr.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); - global::CppSharp.Parser.AST.Parameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.__Internal)); + *(global::CppSharp.Parser.AST.Expr.__Internal*) ret = native; return ret.ToPointer(); } - private Parameter(global::CppSharp.Parser.AST.Parameter.__Internal native, bool skipVTables = false) + private Expr(global::CppSharp.Parser.AST.Expr.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Parameter(void* native, bool skipVTables = false) - : base((void*) null) + protected Expr(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - - public Parameter() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } - - public Parameter(global::CppSharp.Parser.AST.Parameter _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } - - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public global::CppSharp.Parser.AST.QualifiedType QualifiedType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->qualifiedType)); - } - - set - { - ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } - - public bool IsIndirect - { - get - { - return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->isIndirect != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->isIndirect = (byte) (value ? 1 : 0); - } - } - - public bool HasDefaultValue - { - get - { - return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->hasDefaultValue != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->hasDefaultValue = (byte) (value ? 1 : 0); - } - } - - public uint Index - { - get - { - return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->index; - } - - set - { - ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->index = value; - } - } - - public global::CppSharp.Parser.AST.Expression DefaultArgument - { - get - { - global::CppSharp.Parser.AST.Expression __result0; - if (((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument)) - __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument]; - else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->defaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } } - public unsafe partial class Function : global::CppSharp.Parser.AST.DeclarationContext, IDisposable + public unsafe partial class Declaration : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 544)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 152)] + public partial struct __Internal { [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; @@ -7130,178 +6382,112 @@ namespace CppSharp [FieldOffset(144)] internal global::System.IntPtr comment; - [FieldOffset(152)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; - - [FieldOffset(176)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; - - [FieldOffset(200)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; - - [FieldOffset(224)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; - - [FieldOffset(248)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; - - [FieldOffset(272)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; - - [FieldOffset(296)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; - - [FieldOffset(320)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; - - [FieldOffset(344)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; - - [FieldOffset(368)] - internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; - - [FieldOffset(416)] - internal byte isAnonymous; - - [FieldOffset(424)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; - - [FieldOffset(440)] - internal byte isReturnIndirect; - - [FieldOffset(441)] - internal byte hasThisReturn; - - [FieldOffset(442)] - internal byte isConstExpr; - - [FieldOffset(443)] - internal byte isVariadic; - - [FieldOffset(444)] - internal byte isInline; - - [FieldOffset(445)] - internal byte isPure; - - [FieldOffset(446)] - internal byte isDeleted; - - [FieldOffset(447)] - internal byte isDefaulted; - - [FieldOffset(448)] - internal global::CppSharp.Parser.AST.FriendKind friendKind; - - [FieldOffset(452)] - internal global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; - - [FieldOffset(456)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; - - [FieldOffset(464)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C signature; - - [FieldOffset(472)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C body; - - [FieldOffset(480)] - internal global::CppSharp.Parser.AST.CallingConvention callingConvention; - - [FieldOffset(488)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_S_allocator__S0_ Parameters; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11DeclarationC2ENS1_15DeclarationKindE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.DeclarationKind kind); - [FieldOffset(512)] - internal global::System.IntPtr specializationInfo; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11DeclarationC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - [FieldOffset(520)] - internal global::System.IntPtr instantiatedFrom; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11DeclarationD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); - [FieldOffset(528)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration23getPreprocessedEntitiesEj")] + internal static extern global::System.IntPtr GetPreprocessedEntities(global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8FunctionC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration23addPreprocessedEntitiesERPNS1_18PreprocessedEntityE")] + internal static extern void AddPreprocessedEntities(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8FunctionC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration25clearPreprocessedEntitiesEv")] + internal static extern void ClearPreprocessedEntities(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8FunctionD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration17getRedeclarationsEj")] + internal static extern global::System.IntPtr GetRedeclarations(global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Function13getParametersEj")] - internal static extern global::System.IntPtr GetParameters(global::System.IntPtr __instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration17addRedeclarationsERPS2_")] + internal static extern void AddRedeclarations(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Function13addParametersERPNS1_9ParameterE")] - internal static extern void AddParameters(global::System.IntPtr __instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration19clearRedeclarationsEv")] + internal static extern void ClearRedeclarations(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Function15clearParametersEv")] - internal static extern void ClearParameters(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration28getPreprocessedEntitiesCountEv")] + internal static extern uint GetPreprocessedEntitiesCount(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Function18getParametersCountEv")] - internal static extern uint GetParametersCount(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration22getRedeclarationsCountEv")] + internal static extern uint GetRedeclarationsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.Function __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.Declaration __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Function(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Declaration(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Function __CreateInstance(global::CppSharp.Parser.AST.Function.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Declaration __CreateInstance(global::CppSharp.Parser.AST.Declaration.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Function(native, skipVTables); + return new global::CppSharp.Parser.AST.Declaration(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Function.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Declaration.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); - global::CppSharp.Parser.AST.Function.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); + global::CppSharp.Parser.AST.Declaration.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Function(global::CppSharp.Parser.AST.Function.__Internal native, bool skipVTables = false) + private Declaration(global::CppSharp.Parser.AST.Declaration.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Function(void* native, bool skipVTables = false) - : base((void*) null) + protected Declaration(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public Function() - : this((void*) null) + public Declaration(global::CppSharp.Parser.AST.DeclarationKind kind) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + __Internal.ctor((__Instance + __PointerAdjustment), kind); } - public Function(global::CppSharp.Parser.AST.Function _0) - : this((void*) null) + public Declaration(global::CppSharp.Parser.AST.Declaration _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -7310,7 +6496,12 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; @@ -7323,296 +6514,339 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.Parameter GetParameters(uint i) + public global::CppSharp.Parser.AST.PreprocessedEntity GetPreprocessedEntities(uint i) { - var __ret = __Internal.GetParameters((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Parameter __result0; + var __ret = __Internal.GetPreprocessedEntities((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.PreprocessedEntity __result0; if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Parameter.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Parameter) global::CppSharp.Parser.AST.Parameter.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Parameter.__CreateInstance(__ret); + else if (global::CppSharp.Parser.AST.PreprocessedEntity.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.PreprocessedEntity) global::CppSharp.Parser.AST.PreprocessedEntity.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.PreprocessedEntity.__CreateInstance(__ret); return __result0; } - public void AddParameters(global::CppSharp.Parser.AST.Parameter s) + public void AddPreprocessedEntities(global::CppSharp.Parser.AST.PreprocessedEntity s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddParameters((__Instance + __PointerAdjustment), __arg0); + __Internal.AddPreprocessedEntities((__Instance + __PointerAdjustment), __arg0); } - public void ClearParameters() + public void ClearPreprocessedEntities() { - __Internal.ClearParameters((__Instance + __PointerAdjustment)); + __Internal.ClearPreprocessedEntities((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.QualifiedType ReturnType + public global::CppSharp.Parser.AST.Declaration GetRedeclarations(uint i) + { + var __ret = __Internal.GetRedeclarations((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Declaration __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(__ret); + return __result0; + } + + public void AddRedeclarations(global::CppSharp.Parser.AST.Declaration s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddRedeclarations((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearRedeclarations() + { + __Internal.ClearRedeclarations((__Instance + __PointerAdjustment)); + } + + public static implicit operator global::CppSharp.Parser.AST.Declaration(global::CppSharp.Parser.AST.DeclarationKind kind) + { + return new global::CppSharp.Parser.AST.Declaration(kind); + } + + public global::CppSharp.Parser.AST.DeclarationKind Kind { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->returnType)); + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->kind; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->returnType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->kind = value; } } - public bool IsReturnIndirect + public int MaxFieldAlignment { get { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isReturnIndirect != 0; + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->maxFieldAlignment; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isReturnIndirect = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->maxFieldAlignment = value; } } - public bool HasThisReturn + public global::CppSharp.Parser.AST.AccessSpecifier Access { get { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->hasThisReturn != 0; + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->access; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->hasThisReturn = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->access = value; } } - public bool IsConstExpr + public global::CppSharp.Parser.AST.DeclarationContext Namespace { get { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isConstExpr != 0; + global::CppSharp.Parser.AST.DeclarationContext __result0; + if (((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.DeclarationContext.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace)) + __result0 = (global::CppSharp.Parser.AST.DeclarationContext) global::CppSharp.Parser.AST.DeclarationContext.NativeToManagedMap[((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace]; + else __result0 = global::CppSharp.Parser.AST.DeclarationContext.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace); + return __result0; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isConstExpr = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->_namespace = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public bool IsVariadic + public global::CppSharp.Parser.SourceLocation Location { get { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isVariadic != 0; + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->location); } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isVariadic = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->location = value.__Instance; } } - public bool IsInline + public int LineNumberStart { get { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isInline != 0; + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->lineNumberStart; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isInline = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->lineNumberStart = value; } } - public bool IsPure + public int LineNumberEnd { get { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isPure != 0; + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->lineNumberEnd; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isPure = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->lineNumberEnd = value; } } - public bool IsDeleted + public string Name { get { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isDeleted != 0; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->name)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isDeleted = (byte) (value ? 1 : 0); + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->name), value); } } - public bool IsDefaulted + public string USR { get { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isDefaulted != 0; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->USR)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isDefaulted = (byte) (value ? 1 : 0); + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->USR), value); } } - public global::CppSharp.Parser.AST.FriendKind FriendKind + public string DebugText { get { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->friendKind; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->debugText)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->friendKind = value; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->debugText), value); } } - public global::CppSharp.Parser.AST.CXXOperatorKind OperatorKind + public bool IsIncomplete { get { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->operatorKind; + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isIncomplete != 0; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->operatorKind = value; + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isIncomplete = (byte) (value ? 1 : 0); } } - public string Mangled + public bool IsDependent { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->mangled)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isDependent != 0; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->mangled), value); + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isDependent = (byte) (value ? 1 : 0); } } - public string Signature + public bool IsImplicit { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->signature)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isImplicit != 0; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->signature), value); + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isImplicit = (byte) (value ? 1 : 0); } } - public string Body + public bool IsInvalid { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->body)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isInvalid != 0; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->body), value); + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isInvalid = (byte) (value ? 1 : 0); } } - public global::CppSharp.Parser.AST.CallingConvention CallingConvention + public global::CppSharp.Parser.AST.Declaration CompleteDeclaration { get { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->callingConvention; + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration); + return __result0; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->callingConvention = value; + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->completeDeclaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public global::CppSharp.Parser.AST.FunctionTemplateSpecialization SpecializationInfo + public uint DefinitionOrder { get { - global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0; - if (((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo)) - __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo]; - else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo); - return __result0; + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->definitionOrder; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->specializationInfo = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->definitionOrder = value; } } - public global::CppSharp.Parser.AST.Function InstantiatedFrom + public global::System.IntPtr OriginalPtr { get { - global::CppSharp.Parser.AST.Function __result0; - if (((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom)) - __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom]; - else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom); - return __result0; + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->originalPtr; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->instantiatedFrom = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->originalPtr = (global::System.IntPtr) value; } } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType + public global::CppSharp.Parser.AST.RawComment Comment { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->qualifiedType)); + global::CppSharp.Parser.AST.RawComment __result0; + if (((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.RawComment.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment)) + __result0 = (global::CppSharp.Parser.AST.RawComment) global::CppSharp.Parser.AST.RawComment.NativeToManagedMap[((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment]; + else __result0 = global::CppSharp.Parser.AST.RawComment.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment); + return __result0; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->comment = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public uint ParametersCount + public uint PreprocessedEntitiesCount { get { - var __ret = __Internal.GetParametersCount((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetPreprocessedEntitiesCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public uint RedeclarationsCount + { + get + { + var __ret = __Internal.GetRedeclarationsCount((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class Method : global::CppSharp.Parser.AST.Function, IDisposable + public unsafe partial class DeclarationContext : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 608)] + [StructLayout(LayoutKind.Explicit, Size = 424)] public new partial struct __Internal { [FieldOffset(0)] @@ -7708,157 +6942,227 @@ namespace CppSharp [FieldOffset(416)] internal byte isAnonymous; - [FieldOffset(424)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; - - [FieldOffset(440)] - internal byte isReturnIndirect; - - [FieldOffset(441)] - internal byte hasThisReturn; - - [FieldOffset(442)] - internal byte isConstExpr; - - [FieldOffset(443)] - internal byte isVariadic; - - [FieldOffset(444)] - internal byte isInline; - - [FieldOffset(445)] - internal byte isPure; - - [FieldOffset(446)] - internal byte isDeleted; - - [FieldOffset(447)] - internal byte isDefaulted; - - [FieldOffset(448)] - internal global::CppSharp.Parser.AST.FriendKind friendKind; - - [FieldOffset(452)] - internal global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; - - [FieldOffset(456)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; - - [FieldOffset(464)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C signature; - - [FieldOffset(472)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C body; - - [FieldOffset(480)] - internal global::CppSharp.Parser.AST.CallingConvention callingConvention; - - [FieldOffset(488)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_S_allocator__S0_ Parameters; - - [FieldOffset(512)] - internal global::System.IntPtr specializationInfo; - - [FieldOffset(520)] - internal global::System.IntPtr instantiatedFrom; - - [FieldOffset(528)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - - [FieldOffset(544)] - internal byte isVirtual; - - [FieldOffset(545)] - internal byte isStatic; - - [FieldOffset(546)] - internal byte isConst; - - [FieldOffset(547)] - internal byte isExplicit; - - [FieldOffset(548)] - internal global::CppSharp.Parser.AST.CXXMethodKind methodKind; - - [FieldOffset(552)] - internal byte isDefaultConstructor; - - [FieldOffset(553)] - internal byte isCopyConstructor; - - [FieldOffset(554)] - internal byte isMoveConstructor; - - [FieldOffset(560)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal conversionType; - - [FieldOffset(576)] - internal global::CppSharp.Parser.AST.RefQualifierKind refQualifier; - - [FieldOffset(584)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_S_allocator__S0_ OverriddenMethods; - [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6MethodC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContextC2ENS1_15DeclarationKindE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.DeclarationKind kind); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6MethodC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContextC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6MethodD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContextD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6Method20getOverriddenMethodsEj")] - internal static extern global::System.IntPtr GetOverriddenMethods(global::System.IntPtr __instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext13getNamespacesEj")] + internal static extern global::System.IntPtr GetNamespaces(global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6Method20addOverriddenMethodsERPS2_")] - internal static extern void AddOverriddenMethods(global::System.IntPtr __instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext13addNamespacesERPNS1_9NamespaceE")] + internal static extern void AddNamespaces(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6Method22clearOverriddenMethodsEv")] - internal static extern void ClearOverriddenMethods(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext15clearNamespacesEv")] + internal static extern void ClearNamespaces(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6Method25getOverriddenMethodsCountEv")] - internal static extern uint GetOverriddenMethodsCount(global::System.IntPtr __instance); - } - - internal static new global::CppSharp.Parser.AST.Method __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Method(native.ToPointer(), skipVTables); - } + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext8getEnumsEj")] + internal static extern global::System.IntPtr GetEnums(global::System.IntPtr __instance, uint i); - internal static global::CppSharp.Parser.AST.Method __CreateInstance(global::CppSharp.Parser.AST.Method.__Internal native, bool skipVTables = false) + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext8addEnumsERPNS1_11EnumerationE")] + internal static extern void AddEnums(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10clearEnumsEv")] + internal static extern void ClearEnums(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12getFunctionsEj")] + internal static extern global::System.IntPtr GetFunctions(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12addFunctionsERPNS1_8FunctionE")] + internal static extern void AddFunctions(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14clearFunctionsEv")] + internal static extern void ClearFunctions(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10getClassesEj")] + internal static extern global::System.IntPtr GetClasses(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10addClassesERPNS1_5ClassE")] + internal static extern void AddClasses(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12clearClassesEv")] + internal static extern void ClearClasses(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12getTemplatesEj")] + internal static extern global::System.IntPtr GetTemplates(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12addTemplatesERPNS1_8TemplateE")] + internal static extern void AddTemplates(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14clearTemplatesEv")] + internal static extern void ClearTemplates(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext11getTypedefsEj")] + internal static extern global::System.IntPtr GetTypedefs(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext11addTypedefsERPNS1_11TypedefDeclE")] + internal static extern void AddTypedefs(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext13clearTypedefsEv")] + internal static extern void ClearTypedefs(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14getTypeAliasesEj")] + internal static extern global::System.IntPtr GetTypeAliases(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14addTypeAliasesERPNS1_9TypeAliasE")] + internal static extern void AddTypeAliases(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext16clearTypeAliasesEv")] + internal static extern void ClearTypeAliases(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12getVariablesEj")] + internal static extern global::System.IntPtr GetVariables(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12addVariablesERPNS1_8VariableE")] + internal static extern void AddVariables(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14clearVariablesEv")] + internal static extern void ClearVariables(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10getFriendsEj")] + internal static extern global::System.IntPtr GetFriends(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10addFriendsERPNS1_6FriendE")] + internal static extern void AddFriends(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12clearFriendsEv")] + internal static extern void ClearFriends(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext18getNamespacesCountEv")] + internal static extern uint GetNamespacesCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext13getEnumsCountEv")] + internal static extern uint GetEnumsCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext17getFunctionsCountEv")] + internal static extern uint GetFunctionsCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext15getClassesCountEv")] + internal static extern uint GetClassesCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext17getTemplatesCountEv")] + internal static extern uint GetTemplatesCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext16getTypedefsCountEv")] + internal static extern uint GetTypedefsCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext19getTypeAliasesCountEv")] + internal static extern uint GetTypeAliasesCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext17getVariablesCountEv")] + internal static extern uint GetVariablesCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext15getFriendsCountEv")] + internal static extern uint GetFriendsCount(global::System.IntPtr __instance); + } + + internal static new global::CppSharp.Parser.AST.DeclarationContext __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Method(native, skipVTables); + return new global::CppSharp.Parser.AST.DeclarationContext(native.ToPointer(), skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Method.__Internal native) + internal static global::CppSharp.Parser.AST.DeclarationContext __CreateInstance(global::CppSharp.Parser.AST.DeclarationContext.__Internal native, bool skipVTables = false) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); - global::CppSharp.Parser.AST.Method.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return new global::CppSharp.Parser.AST.DeclarationContext(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.DeclarationContext.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); + global::CppSharp.Parser.AST.DeclarationContext.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Method(global::CppSharp.Parser.AST.Method.__Internal native, bool skipVTables = false) + private DeclarationContext(global::CppSharp.Parser.AST.DeclarationContext.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Method(void* native, bool skipVTables = false) + protected DeclarationContext(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -7867,19 +7171,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Method() + public DeclarationContext(global::CppSharp.Parser.AST.DeclarationKind kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + __Internal.ctor((__Instance + __PointerAdjustment), kind); } - public Method(global::CppSharp.Parser.AST.Method _0) + public DeclarationContext(global::CppSharp.Parser.AST.DeclarationContext _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -7901,173 +7205,325 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.Method GetOverriddenMethods(uint i) + public global::CppSharp.Parser.AST.Namespace GetNamespaces(uint i) { - var __ret = __Internal.GetOverriddenMethods((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Method __result0; + var __ret = __Internal.GetNamespaces((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Namespace __result0; if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Method.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Method) global::CppSharp.Parser.AST.Method.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Method.__CreateInstance(__ret); + else if (global::CppSharp.Parser.AST.Namespace.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Namespace) global::CppSharp.Parser.AST.Namespace.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Namespace.__CreateInstance(__ret); return __result0; } - public void AddOverriddenMethods(global::CppSharp.Parser.AST.Method s) + public void AddNamespaces(global::CppSharp.Parser.AST.Namespace s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddOverriddenMethods((__Instance + __PointerAdjustment), __arg0); + __Internal.AddNamespaces((__Instance + __PointerAdjustment), __arg0); } - public void ClearOverriddenMethods() + public void ClearNamespaces() { - __Internal.ClearOverriddenMethods((__Instance + __PointerAdjustment)); + __Internal.ClearNamespaces((__Instance + __PointerAdjustment)); } - public bool IsVirtual + public global::CppSharp.Parser.AST.Enumeration GetEnums(uint i) { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isVirtual != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isVirtual = (byte) (value ? 1 : 0); - } + var __ret = __Internal.GetEnums((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Enumeration __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Enumeration.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Enumeration) global::CppSharp.Parser.AST.Enumeration.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Enumeration.__CreateInstance(__ret); + return __result0; } - public bool IsStatic + public void AddEnums(global::CppSharp.Parser.AST.Enumeration s) { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isStatic != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isStatic = (byte) (value ? 1 : 0); - } + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddEnums((__Instance + __PointerAdjustment), __arg0); } - public bool IsConst + public void ClearEnums() { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isConst != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isConst = (byte) (value ? 1 : 0); - } + __Internal.ClearEnums((__Instance + __PointerAdjustment)); } - public bool IsExplicit + public global::CppSharp.Parser.AST.Function GetFunctions(uint i) { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isExplicit != 0; - } + var __ret = __Internal.GetFunctions((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Function __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(__ret); + return __result0; + } - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isExplicit = (byte) (value ? 1 : 0); - } + public void AddFunctions(global::CppSharp.Parser.AST.Function s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddFunctions((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.CXXMethodKind MethodKind + public void ClearFunctions() { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->methodKind; - } + __Internal.ClearFunctions((__Instance + __PointerAdjustment)); + } - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->methodKind = value; - } + public global::CppSharp.Parser.AST.Class GetClasses(uint i) + { + var __ret = __Internal.GetClasses((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Class __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(__ret); + return __result0; } - public bool IsDefaultConstructor + public void AddClasses(global::CppSharp.Parser.AST.Class s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddClasses((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearClasses() + { + __Internal.ClearClasses((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Template GetTemplates(uint i) + { + var __ret = __Internal.GetTemplates((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Template __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Template.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Template) global::CppSharp.Parser.AST.Template.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Template.__CreateInstance(__ret); + return __result0; + } + + public void AddTemplates(global::CppSharp.Parser.AST.Template s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddTemplates((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearTemplates() + { + __Internal.ClearTemplates((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.TypedefDecl GetTypedefs(uint i) + { + var __ret = __Internal.GetTypedefs((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.TypedefDecl __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TypedefDecl.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.TypedefDecl) global::CppSharp.Parser.AST.TypedefDecl.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.TypedefDecl.__CreateInstance(__ret); + return __result0; + } + + public void AddTypedefs(global::CppSharp.Parser.AST.TypedefDecl s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddTypedefs((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearTypedefs() + { + __Internal.ClearTypedefs((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.TypeAlias GetTypeAliases(uint i) + { + var __ret = __Internal.GetTypeAliases((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.TypeAlias __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TypeAlias.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.TypeAlias) global::CppSharp.Parser.AST.TypeAlias.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.TypeAlias.__CreateInstance(__ret); + return __result0; + } + + public void AddTypeAliases(global::CppSharp.Parser.AST.TypeAlias s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddTypeAliases((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearTypeAliases() + { + __Internal.ClearTypeAliases((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Variable GetVariables(uint i) + { + var __ret = __Internal.GetVariables((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Variable __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Variable.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Variable) global::CppSharp.Parser.AST.Variable.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Variable.__CreateInstance(__ret); + return __result0; + } + + public void AddVariables(global::CppSharp.Parser.AST.Variable s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddVariables((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearVariables() + { + __Internal.ClearVariables((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Friend GetFriends(uint i) + { + var __ret = __Internal.GetFriends((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Friend __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Friend.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Friend) global::CppSharp.Parser.AST.Friend.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Friend.__CreateInstance(__ret); + return __result0; + } + + public void AddFriends(global::CppSharp.Parser.AST.Friend s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddFriends((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearFriends() + { + __Internal.ClearFriends((__Instance + __PointerAdjustment)); + } + + public static implicit operator global::CppSharp.Parser.AST.DeclarationContext(global::CppSharp.Parser.AST.DeclarationKind kind) + { + return new global::CppSharp.Parser.AST.DeclarationContext(kind); + } + + public bool IsAnonymous { get { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isDefaultConstructor != 0; + return ((global::CppSharp.Parser.AST.DeclarationContext.__Internal*) __Instance)->isAnonymous != 0; } set { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isDefaultConstructor = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.DeclarationContext.__Internal*)__Instance)->isAnonymous = (byte) (value ? 1 : 0); } } - public bool IsCopyConstructor + public uint NamespacesCount { get { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isCopyConstructor != 0; + var __ret = __Internal.GetNamespacesCount((__Instance + __PointerAdjustment)); + return __ret; } + } - set + public uint EnumsCount + { + get { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isCopyConstructor = (byte) (value ? 1 : 0); + var __ret = __Internal.GetEnumsCount((__Instance + __PointerAdjustment)); + return __ret; } } - public bool IsMoveConstructor + public uint FunctionsCount { get { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isMoveConstructor != 0; + var __ret = __Internal.GetFunctionsCount((__Instance + __PointerAdjustment)); + return __ret; } + } - set + public uint ClassesCount + { + get { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isMoveConstructor = (byte) (value ? 1 : 0); + var __ret = __Internal.GetClassesCount((__Instance + __PointerAdjustment)); + return __ret; } } - public global::CppSharp.Parser.AST.QualifiedType ConversionType + public uint TemplatesCount { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->conversionType)); + var __ret = __Internal.GetTemplatesCount((__Instance + __PointerAdjustment)); + return __ret; } + } - set + public uint TypedefsCount + { + get { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->conversionType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + var __ret = __Internal.GetTypedefsCount((__Instance + __PointerAdjustment)); + return __ret; } } - public global::CppSharp.Parser.AST.RefQualifierKind RefQualifier + public uint TypeAliasesCount { get { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->refQualifier; + var __ret = __Internal.GetTypeAliasesCount((__Instance + __PointerAdjustment)); + return __ret; } + } - set + public uint VariablesCount + { + get { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->refQualifier = value; + var __ret = __Internal.GetVariablesCount((__Instance + __PointerAdjustment)); + return __ret; } } - public uint OverriddenMethodsCount + public uint FriendsCount { get { - var __ret = __Internal.GetOverriddenMethodsCount((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetFriendsCount((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class Enumeration : global::CppSharp.Parser.AST.DeclarationContext, IDisposable + public unsafe partial class TypedefNameDecl : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 464)] + [StructLayout(LayoutKind.Explicit, Size = 168)] public new partial struct __Internal { [FieldOffset(0)] @@ -8131,308 +7587,219 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(152)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [FieldOffset(176)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; - - [FieldOffset(200)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; - - [FieldOffset(224)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; - - [FieldOffset(248)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; - - [FieldOffset(272)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; - - [FieldOffset(296)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; - - [FieldOffset(320)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; - - [FieldOffset(344)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; - - [FieldOffset(368)] - internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; - - [FieldOffset(416)] - internal byte isAnonymous; - - [FieldOffset(420)] - internal global::CppSharp.Parser.AST.Enumeration.EnumModifiers modifiers; - - [FieldOffset(424)] - internal global::System.IntPtr type; - - [FieldOffset(432)] - internal global::System.IntPtr builtinType; - - [FieldOffset(440)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration_S_Item___N_std_S_allocator__S0_ Items; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15TypedefNameDeclC2ENS1_15DeclarationKindE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.DeclarationKind kind); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST15TypedefNameDeclC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST15TypedefNameDeclD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration8getItemsEj")] - internal static extern global::System.IntPtr GetItems(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration8addItemsERPNS2_4ItemE")] - internal static extern void AddItems(global::System.IntPtr __instance, global::System.IntPtr s); + internal static new global::CppSharp.Parser.AST.TypedefNameDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TypedefNameDecl(native.ToPointer(), skipVTables); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration10clearItemsEv")] - internal static extern void ClearItems(global::System.IntPtr __instance); + internal static global::CppSharp.Parser.AST.TypedefNameDecl __CreateInstance(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TypedefNameDecl(native, skipVTables); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration14FindItemByNameERKSs")] - internal static extern global::System.IntPtr FindItemByName(global::System.IntPtr __instance, global::System.IntPtr Name); + private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); + global::CppSharp.Parser.AST.TypedefNameDecl.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration13getItemsCountEv")] - internal static extern uint GetItemsCount(global::System.IntPtr __instance); + private TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; } - [Flags] - public enum EnumModifiers + protected TypedefNameDecl(void* native, bool skipVTables = false) + : base((void*) null) { - Anonymous = 1, - Scoped = 2, - Flags = 4 + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - public unsafe partial class Item : global::CppSharp.Parser.AST.Declaration, IDisposable + public TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) + : this((void*) null) { - [StructLayout(LayoutKind.Explicit, Size = 168)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), kind); + } - [FieldOffset(4)] - internal int maxFieldAlignment; + public TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } - [FieldOffset(16)] - internal global::System.IntPtr _namespace; + public static implicit operator global::CppSharp.Parser.AST.TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) + { + return new global::CppSharp.Parser.AST.TypedefNameDecl(kind); + } - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + public global::CppSharp.Parser.AST.QualifiedType QualifiedType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TypedefNameDecl.__Internal*) __Instance)->qualifiedType)); + } - [FieldOffset(28)] - internal int lineNumberStart; + set + { + ((global::CppSharp.Parser.AST.TypedefNameDecl.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + } - [FieldOffset(32)] - internal int lineNumberEnd; + public unsafe partial class TypedefDecl : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 168)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + [FieldOffset(4)] + internal int maxFieldAlignment; - [FieldOffset(48)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; - [FieldOffset(56)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + [FieldOffset(16)] + internal global::System.IntPtr _namespace; - [FieldOffset(64)] - internal byte isIncomplete; + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; - [FieldOffset(65)] - internal byte isDependent; + [FieldOffset(28)] + internal int lineNumberStart; - [FieldOffset(66)] - internal byte isImplicit; + [FieldOffset(32)] + internal int lineNumberEnd; - [FieldOffset(67)] - internal byte isInvalid; + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - [FieldOffset(72)] - internal global::System.IntPtr completeDeclaration; + [FieldOffset(48)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - [FieldOffset(80)] - internal uint definitionOrder; + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - [FieldOffset(88)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + [FieldOffset(64)] + internal byte isIncomplete; - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + [FieldOffset(65)] + internal byte isDependent; - [FieldOffset(136)] - internal global::System.IntPtr originalPtr; + [FieldOffset(66)] + internal byte isImplicit; - [FieldOffset(144)] - internal global::System.IntPtr comment; + [FieldOffset(67)] + internal byte isInvalid; - [FieldOffset(152)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C expression; + [FieldOffset(72)] + internal global::System.IntPtr completeDeclaration; - [FieldOffset(160)] - internal ulong value; + [FieldOffset(80)] + internal uint definitionOrder; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4ItemC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + [FieldOffset(88)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4ItemC2ERKS3_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4ItemD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); - } + [FieldOffset(136)] + internal global::System.IntPtr originalPtr; - internal static new global::CppSharp.Parser.AST.Enumeration.Item __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Enumeration.Item(native.ToPointer(), skipVTables); - } + [FieldOffset(144)] + internal global::System.IntPtr comment; - internal static global::CppSharp.Parser.AST.Enumeration.Item __CreateInstance(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Enumeration.Item(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); - global::CppSharp.Parser.AST.Enumeration.Item.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private Item(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected Item(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public Item() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } - - public Item(global::CppSharp.Parser.AST.Enumeration.Item _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } - - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public string Expression - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*) __Instance)->expression)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + [FieldOffset(152)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*)__Instance)->expression), value); - } - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefDeclC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); - public ulong Value - { - get - { - return ((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*) __Instance)->value; - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefDeclC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - set - { - ((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*)__Instance)->value = value; - } - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefDeclD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.Enumeration __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TypedefDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Enumeration(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TypedefDecl(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Enumeration __CreateInstance(global::CppSharp.Parser.AST.Enumeration.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TypedefDecl __CreateInstance(global::CppSharp.Parser.AST.TypedefDecl.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Enumeration(native, skipVTables); + return new global::CppSharp.Parser.AST.TypedefDecl(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Enumeration.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefDecl.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); - global::CppSharp.Parser.AST.Enumeration.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); + global::CppSharp.Parser.AST.TypedefDecl.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Enumeration(global::CppSharp.Parser.AST.Enumeration.__Internal native, bool skipVTables = false) + private TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Enumeration(void* native, bool skipVTables = false) + protected TypedefDecl(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -8441,19 +7808,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Enumeration() + public TypedefDecl() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public Enumeration(global::CppSharp.Parser.AST.Enumeration _0) + public TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -8474,106 +7841,9 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - - public global::CppSharp.Parser.AST.Enumeration.Item GetItems(uint i) - { - var __ret = __Internal.GetItems((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Enumeration.Item __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Enumeration.Item) global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Enumeration.Item.__CreateInstance(__ret); - return __result0; - } - - public void AddItems(global::CppSharp.Parser.AST.Enumeration.Item s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddItems((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearItems() - { - __Internal.ClearItems((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.Enumeration.Item FindItemByName(string Name) - { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, Name); - var __arg0 = __basicString0.__Instance; - var __ret = __Internal.FindItemByName((__Instance + __PointerAdjustment), __arg0); - __basicString0.Dispose(false); - global::CppSharp.Parser.AST.Enumeration.Item __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Enumeration.Item) global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Enumeration.Item.__CreateInstance(__ret); - return __result0; - } - - public global::CppSharp.Parser.AST.Enumeration.EnumModifiers Modifiers - { - get - { - return ((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->modifiers; - } - - set - { - ((global::CppSharp.Parser.AST.Enumeration.__Internal*)__Instance)->modifiers = value; - } - } - - public global::CppSharp.Parser.AST.Type Type - { - get - { - global::CppSharp.Parser.AST.Type __result0; - if (((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type)) - __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type]; - else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.Enumeration.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - - public global::CppSharp.Parser.AST.BuiltinType BuiltinType - { - get - { - global::CppSharp.Parser.AST.BuiltinType __result0; - if (((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.BuiltinType.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType)) - __result0 = (global::CppSharp.Parser.AST.BuiltinType) global::CppSharp.Parser.AST.BuiltinType.NativeToManagedMap[((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType]; - else __result0 = global::CppSharp.Parser.AST.BuiltinType.__CreateInstance(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.Enumeration.__Internal*)__Instance)->builtinType = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - - public uint ItemsCount - { - get - { - var __ret = __Internal.GetItemsCount((__Instance + __PointerAdjustment)); - return __ret; - } - } } - public unsafe partial class Variable : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class TypeAlias : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable { [StructLayout(LayoutKind.Explicit, Size = 176)] public new partial struct __Internal @@ -8639,52 +7909,52 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(152)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; - - [FieldOffset(160)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + [FieldOffset(168)] + internal global::System.IntPtr describedAliasTemplate; + [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8VariableC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST9TypeAliasC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8VariableC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST9TypeAliasC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8VariableD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST9TypeAliasD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.Variable __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TypeAlias __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Variable(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TypeAlias(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Variable __CreateInstance(global::CppSharp.Parser.AST.Variable.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TypeAlias __CreateInstance(global::CppSharp.Parser.AST.TypeAlias.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Variable(native, skipVTables); + return new global::CppSharp.Parser.AST.TypeAlias(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Variable.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypeAlias.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); - global::CppSharp.Parser.AST.Variable.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); + global::CppSharp.Parser.AST.TypeAlias.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Variable(global::CppSharp.Parser.AST.Variable.__Internal native, bool skipVTables = false) + private TypeAlias(global::CppSharp.Parser.AST.TypeAlias.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Variable(void* native, bool skipVTables = false) + protected TypeAlias(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -8693,19 +7963,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Variable() + public TypeAlias() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public Variable(global::CppSharp.Parser.AST.Variable _0) + public TypeAlias(global::CppSharp.Parser.AST.TypeAlias _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -8727,196 +7997,28 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public string Mangled - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Variable.__Internal*) __Instance)->mangled)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Variable.__Internal*)__Instance)->mangled), value); - } - } - - public global::CppSharp.Parser.AST.QualifiedType QualifiedType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Variable.__Internal*) __Instance)->qualifiedType)); - } - - set - { - ((global::CppSharp.Parser.AST.Variable.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } - } - - public unsafe partial class BaseClassSpecifier : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 24)] - public partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(4)] - internal byte isVirtual; - - [FieldOffset(8)] - internal global::System.IntPtr type; - - [FieldOffset(16)] - internal int offset; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18BaseClassSpecifierC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18BaseClassSpecifierC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - } - - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.BaseClassSpecifier __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.BaseClassSpecifier(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.BaseClassSpecifier __CreateInstance(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.BaseClassSpecifier(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); - *(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) ret = native; - return ret.ToPointer(); - } - - private BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected BaseClassSpecifier(void* native, bool skipVTables = false) - { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public BaseClassSpecifier() - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } - - public BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier _0) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) _0.__Instance); - } - - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.BaseClassSpecifier __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public global::CppSharp.Parser.AST.AccessSpecifier Access - { - get - { - return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->access; - } - - set - { - ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->access = value; - } - } - - public bool IsVirtual - { - get - { - return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->isVirtual != 0; - } - - set - { - ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->isVirtual = (byte) (value ? 1 : 0); - } - } - - public global::CppSharp.Parser.AST.Type Type + public global::CppSharp.Parser.AST.TypeAliasTemplate DescribedAliasTemplate { get { - global::CppSharp.Parser.AST.Type __result0; - if (((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type)) - __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type]; - else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type); + global::CppSharp.Parser.AST.TypeAliasTemplate __result0; + if (((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TypeAliasTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate)) + __result0 = (global::CppSharp.Parser.AST.TypeAliasTemplate) global::CppSharp.Parser.AST.TypeAliasTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate]; + else __result0 = global::CppSharp.Parser.AST.TypeAliasTemplate.__CreateInstance(((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate); return __result0; } set { - ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - - public int Offset - { - get - { - return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->offset; - } - - set - { - ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->offset = value; + ((global::CppSharp.Parser.AST.TypeAlias.__Internal*)__Instance)->describedAliasTemplate = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class Field : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class Friend : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 184)] + [StructLayout(LayoutKind.Explicit, Size = 160)] public new partial struct __Internal { [FieldOffset(0)] @@ -8980,58 +8082,49 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(152)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - - [FieldOffset(168)] - internal global::System.IntPtr _class; - - [FieldOffset(176)] - internal byte isBitField; - - [FieldOffset(180)] - internal uint bitWidth; + internal global::System.IntPtr declaration; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5FieldC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST6FriendC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5FieldC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST6FriendC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5FieldD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST6FriendD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.Field __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Friend __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Field(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Friend(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Field __CreateInstance(global::CppSharp.Parser.AST.Field.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Friend __CreateInstance(global::CppSharp.Parser.AST.Friend.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Field(native, skipVTables); + return new global::CppSharp.Parser.AST.Friend(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Field.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Friend.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); - global::CppSharp.Parser.AST.Field.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); + global::CppSharp.Parser.AST.Friend.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Field(global::CppSharp.Parser.AST.Field.__Internal native, bool skipVTables = false) + private Friend(global::CppSharp.Parser.AST.Friend.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Field(void* native, bool skipVTables = false) + protected Friend(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -9040,19 +8133,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Field() + public Friend() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public Field(global::CppSharp.Parser.AST.Field _0) + public Friend(global::CppSharp.Parser.AST.Friend _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -9074,170 +8167,239 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType + public global::CppSharp.Parser.AST.Declaration Declaration { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->qualifiedType)); + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration); + return __result0; } set { - ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.Friend.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } + } - public global::CppSharp.Parser.AST.Class Class + public unsafe partial class StatementObsolete : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public partial struct __Internal { - get - { - global::CppSharp.Parser.AST.Class __result0; - if (((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class)) - __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class]; - else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class); - return __result0; + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StatementClassObsolete _class; + + [FieldOffset(8)] + internal global::System.IntPtr decl; + + [FieldOffset(16)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17StatementObsoleteC2ERKSsNS1_22StatementClassObsoleteEPNS1_11DeclarationE")] + internal static extern void ctor(global::System.IntPtr __instance, global::System.IntPtr str, global::CppSharp.Parser.AST.StatementClassObsolete Class, global::System.IntPtr decl); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17StatementObsoleteC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17StatementObsoleteD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.StatementObsolete __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.StatementObsolete(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.StatementObsolete __CreateInstance(global::CppSharp.Parser.AST.StatementObsolete.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.StatementObsolete(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.StatementObsolete.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StatementObsolete.__Internal)); + global::CppSharp.Parser.AST.StatementObsolete.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private StatementObsolete(global::CppSharp.Parser.AST.StatementObsolete.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected StatementObsolete(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public StatementObsolete(string str, global::CppSharp.Parser.AST.StatementClassObsolete Class, global::CppSharp.Parser.AST.Declaration decl) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StatementObsolete.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, str); + var __arg0 = __basicString0.__Instance; + var __arg2 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; + __Internal.ctor((__Instance + __PointerAdjustment), __arg0, Class, __arg2); + __basicString0.Dispose(false); + } + + public StatementObsolete(global::CppSharp.Parser.AST.StatementObsolete _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StatementObsolete.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.StatementObsolete __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.StatementClassObsolete Class + { + get + { + return ((global::CppSharp.Parser.AST.StatementObsolete.__Internal*) __Instance)->_class; } set { - ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.StatementObsolete.__Internal*)__Instance)->_class = value; } } - public bool IsBitField + public global::CppSharp.Parser.AST.Declaration Decl { get { - return ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->isBitField != 0; + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.StatementObsolete.__Internal*) __Instance)->decl == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.StatementObsolete.__Internal*) __Instance)->decl)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.StatementObsolete.__Internal*) __Instance)->decl]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.StatementObsolete.__Internal*) __Instance)->decl); + return __result0; } set { - ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->isBitField = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.StatementObsolete.__Internal*)__Instance)->decl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public uint BitWidth + public string String { get { - return ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->bitWidth; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.StatementObsolete.__Internal*) __Instance)->@string)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->bitWidth = value; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.StatementObsolete.__Internal*)__Instance)->@string), value); } } } - public unsafe partial class AccessSpecifierDecl : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class ExpressionObsolete : global::CppSharp.Parser.AST.StatementObsolete, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 152)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; + internal global::CppSharp.Parser.AST.StatementClassObsolete _class; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + internal global::System.IntPtr decl; [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; - - [FieldOffset(32)] - internal int lineNumberEnd; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(48)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - - [FieldOffset(56)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - - [FieldOffset(64)] - internal byte isIncomplete; - - [FieldOffset(65)] - internal byte isDependent; - - [FieldOffset(66)] - internal byte isImplicit; - - [FieldOffset(67)] - internal byte isInvalid; - - [FieldOffset(72)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(80)] - internal uint definitionOrder; - - [FieldOffset(88)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - - [FieldOffset(136)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(144)] - internal global::System.IntPtr comment; + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST18ExpressionObsoleteC2ERKSsNS1_22StatementClassObsoleteEPNS1_11DeclarationE")] + internal static extern void ctor(global::System.IntPtr __instance, global::System.IntPtr str, global::CppSharp.Parser.AST.StatementClassObsolete Class, global::System.IntPtr decl); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST18ExpressionObsoleteC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST18ExpressionObsoleteD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.AccessSpecifierDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.ExpressionObsolete __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.AccessSpecifierDecl(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.ExpressionObsolete(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.AccessSpecifierDecl __CreateInstance(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.ExpressionObsolete __CreateInstance(global::CppSharp.Parser.AST.ExpressionObsolete.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.AccessSpecifierDecl(native, skipVTables); + return new global::CppSharp.Parser.AST.ExpressionObsolete(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ExpressionObsolete.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); - global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExpressionObsolete.__Internal)); + global::CppSharp.Parser.AST.ExpressionObsolete.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private AccessSpecifierDecl(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native, bool skipVTables = false) + private ExpressionObsolete(global::CppSharp.Parser.AST.ExpressionObsolete.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected AccessSpecifierDecl(void* native, bool skipVTables = false) + protected ExpressionObsolete(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -9246,19 +8408,24 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public AccessSpecifierDecl() + public ExpressionObsolete(string str, global::CppSharp.Parser.AST.StatementClassObsolete Class, global::CppSharp.Parser.AST.Declaration decl) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExpressionObsolete.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, str); + var __arg0 = __basicString0.__Instance; + var __arg2 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; + __Internal.ctor((__Instance + __PointerAdjustment), __arg0, Class, __arg2); + __basicString0.Dispose(false); } - public AccessSpecifierDecl(global::CppSharp.Parser.AST.AccessSpecifierDecl _0) + public ExpressionObsolete(global::CppSharp.Parser.AST.ExpressionObsolete _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExpressionObsolete.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -9271,7 +8438,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.StatementObsolete __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -9281,270 +8448,253 @@ namespace CppSharp } } - public unsafe partial class Class : global::CppSharp.Parser.AST.DeclarationContext, IDisposable + public unsafe partial class BinaryOperatorObsolete : global::CppSharp.Parser.AST.ExpressionObsolete, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 544)] + [StructLayout(LayoutKind.Explicit, Size = 48)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; + internal global::CppSharp.Parser.AST.StatementClassObsolete _class; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + internal global::System.IntPtr decl; [FieldOffset(16)] - internal global::System.IntPtr _namespace; + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; + internal global::System.IntPtr LHS; [FieldOffset(32)] - internal int lineNumberEnd; + internal global::System.IntPtr RHS; [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(48)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - - [FieldOffset(56)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C opcodeStr; - [FieldOffset(64)] - internal byte isIncomplete; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST22BinaryOperatorObsoleteC2ERKSsPNS1_18ExpressionObsoleteES6_S4_")] + internal static extern void ctor(global::System.IntPtr __instance, global::System.IntPtr str, global::System.IntPtr lhs, global::System.IntPtr rhs, global::System.IntPtr opcodeStr); - [FieldOffset(65)] - internal byte isDependent; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST22BinaryOperatorObsoleteC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - [FieldOffset(66)] - internal byte isImplicit; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST22BinaryOperatorObsoleteD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + } - [FieldOffset(67)] - internal byte isInvalid; + internal static new global::CppSharp.Parser.AST.BinaryOperatorObsolete __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.BinaryOperatorObsolete(native.ToPointer(), skipVTables); + } - [FieldOffset(72)] - internal global::System.IntPtr completeDeclaration; + internal static global::CppSharp.Parser.AST.BinaryOperatorObsolete __CreateInstance(global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.BinaryOperatorObsolete(native, skipVTables); + } - [FieldOffset(80)] - internal uint definitionOrder; + private static void* __CopyValue(global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal)); + global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(88)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + private BinaryOperatorObsolete(global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - - [FieldOffset(136)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(144)] - internal global::System.IntPtr comment; - - [FieldOffset(152)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; - - [FieldOffset(176)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; - - [FieldOffset(200)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; - - [FieldOffset(224)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; - - [FieldOffset(248)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; - - [FieldOffset(272)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; - - [FieldOffset(296)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; - - [FieldOffset(320)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; - - [FieldOffset(344)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; - - [FieldOffset(368)] - internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; - - [FieldOffset(416)] - internal byte isAnonymous; - - [FieldOffset(424)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BaseClassSpecifier___N_std_S_allocator__S0_ Bases; - - [FieldOffset(448)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Field___N_std_S_allocator__S0_ Fields; + protected BinaryOperatorObsolete(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(472)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_S_allocator__S0_ Methods; + public BinaryOperatorObsolete(string str, global::CppSharp.Parser.AST.ExpressionObsolete lhs, global::CppSharp.Parser.AST.ExpressionObsolete rhs, string opcodeStr) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, str); + var __arg0 = __basicString0.__Instance; + var __arg1 = ReferenceEquals(lhs, null) ? global::System.IntPtr.Zero : lhs.__Instance; + var __arg2 = ReferenceEquals(rhs, null) ? global::System.IntPtr.Zero : rhs.__Instance; + var __basicString3 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString3, opcodeStr); + var __arg3 = __basicString3.__Instance; + __Internal.ctor((__Instance + __PointerAdjustment), __arg0, __arg1, __arg2, __arg3); + __basicString0.Dispose(false); + __basicString3.Dispose(false); + } - [FieldOffset(496)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_AccessSpecifierDecl___N_std_S_allocator__S0_ Specifiers; + public BinaryOperatorObsolete(global::CppSharp.Parser.AST.BinaryOperatorObsolete _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(520)] - internal byte isPOD; + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.StatementObsolete __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } - [FieldOffset(521)] - internal byte isAbstract; + public global::CppSharp.Parser.AST.ExpressionObsolete LHS + { + get + { + global::CppSharp.Parser.AST.ExpressionObsolete __result0; + if (((global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal*) __Instance)->LHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ExpressionObsolete.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal*) __Instance)->LHS)) + __result0 = (global::CppSharp.Parser.AST.ExpressionObsolete) global::CppSharp.Parser.AST.ExpressionObsolete.NativeToManagedMap[((global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal*) __Instance)->LHS]; + else __result0 = global::CppSharp.Parser.AST.ExpressionObsolete.__CreateInstance(((global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal*) __Instance)->LHS); + return __result0; + } - [FieldOffset(522)] - internal byte isUnion; + set + { + ((global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal*)__Instance)->LHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } - [FieldOffset(523)] - internal byte isDynamic; + public global::CppSharp.Parser.AST.ExpressionObsolete RHS + { + get + { + global::CppSharp.Parser.AST.ExpressionObsolete __result0; + if (((global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal*) __Instance)->RHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ExpressionObsolete.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal*) __Instance)->RHS)) + __result0 = (global::CppSharp.Parser.AST.ExpressionObsolete) global::CppSharp.Parser.AST.ExpressionObsolete.NativeToManagedMap[((global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal*) __Instance)->RHS]; + else __result0 = global::CppSharp.Parser.AST.ExpressionObsolete.__CreateInstance(((global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal*) __Instance)->RHS); + return __result0; + } - [FieldOffset(524)] - internal byte isPolymorphic; + set + { + ((global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal*)__Instance)->RHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } - [FieldOffset(525)] - internal byte hasNonTrivialDefaultConstructor; + public string OpcodeStr + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal*) __Instance)->opcodeStr)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - [FieldOffset(526)] - internal byte hasNonTrivialCopyConstructor; + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal*)__Instance)->opcodeStr), value); + } + } + } - [FieldOffset(527)] - internal byte hasNonTrivialDestructor; + public unsafe partial class CallExprObsolete : global::CppSharp.Parser.AST.ExpressionObsolete, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StatementClassObsolete _class; - [FieldOffset(528)] - internal byte isExternCContext; + [FieldOffset(8)] + internal global::System.IntPtr decl; - [FieldOffset(529)] - internal byte isInjected; + [FieldOffset(16)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; - [FieldOffset(536)] - internal global::System.IntPtr layout; + [FieldOffset(24)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_ExpressionObsolete___N_std_S_allocator__S0_ Arguments; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5ClassC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST16CallExprObsoleteC2ERKSsPNS1_11DeclarationE")] + internal static extern void ctor(global::System.IntPtr __instance, global::System.IntPtr str, global::System.IntPtr decl); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5ClassC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST16CallExprObsoleteC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5ClassD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST16CallExprObsoleteD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class8getBasesEj")] - internal static extern global::System.IntPtr GetBases(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class8addBasesERPNS1_18BaseClassSpecifierE")] - internal static extern void AddBases(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class10clearBasesEv")] - internal static extern void ClearBases(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class9getFieldsEj")] - internal static extern global::System.IntPtr GetFields(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class9addFieldsERPNS1_5FieldE")] - internal static extern void AddFields(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class11clearFieldsEv")] - internal static extern void ClearFields(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class10getMethodsEj")] - internal static extern global::System.IntPtr GetMethods(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class10addMethodsERPNS1_6MethodE")] - internal static extern void AddMethods(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class12clearMethodsEv")] - internal static extern void ClearMethods(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class13getSpecifiersEj")] - internal static extern global::System.IntPtr GetSpecifiers(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class13addSpecifiersERPNS1_19AccessSpecifierDeclE")] - internal static extern void AddSpecifiers(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class15clearSpecifiersEv")] - internal static extern void ClearSpecifiers(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class13getBasesCountEv")] - internal static extern uint GetBasesCount(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST16CallExprObsolete12getArgumentsEj")] + internal static extern global::System.IntPtr GetArguments(global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class14getFieldsCountEv")] - internal static extern uint GetFieldsCount(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST16CallExprObsolete12addArgumentsERPNS1_18ExpressionObsoleteE")] + internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class15getMethodsCountEv")] - internal static extern uint GetMethodsCount(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST16CallExprObsolete14clearArgumentsEv")] + internal static extern void ClearArguments(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class18getSpecifiersCountEv")] - internal static extern uint GetSpecifiersCount(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST16CallExprObsolete17getArgumentsCountEv")] + internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.Class __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.CallExprObsolete __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Class(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.CallExprObsolete(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Class __CreateInstance(global::CppSharp.Parser.AST.Class.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.CallExprObsolete __CreateInstance(global::CppSharp.Parser.AST.CallExprObsolete.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Class(native, skipVTables); + return new global::CppSharp.Parser.AST.CallExprObsolete(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Class.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.CallExprObsolete.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); - global::CppSharp.Parser.AST.Class.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExprObsolete.__Internal)); + global::CppSharp.Parser.AST.CallExprObsolete.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Class(global::CppSharp.Parser.AST.Class.__Internal native, bool skipVTables = false) + private CallExprObsolete(global::CppSharp.Parser.AST.CallExprObsolete.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Class(void* native, bool skipVTables = false) + protected CallExprObsolete(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -9553,19 +8703,24 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Class() + public CallExprObsolete(string str, global::CppSharp.Parser.AST.Declaration decl) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExprObsolete.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, str); + var __arg0 = __basicString0.__Instance; + var __arg1 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; + __Internal.ctor((__Instance + __PointerAdjustment), __arg0, __arg1); + __basicString0.Dispose(false); } - public Class(global::CppSharp.Parser.AST.Class _0) + public CallExprObsolete(global::CppSharp.Parser.AST.CallExprObsolete _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExprObsolete.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -9578,7 +8733,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.StatementObsolete __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -9587,309 +8742,221 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.BaseClassSpecifier GetBases(uint i) + public global::CppSharp.Parser.AST.ExpressionObsolete GetArguments(uint i) { - var __ret = __Internal.GetBases((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.BaseClassSpecifier __result0; + var __ret = __Internal.GetArguments((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.ExpressionObsolete __result0; if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.BaseClassSpecifier.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.BaseClassSpecifier) global::CppSharp.Parser.AST.BaseClassSpecifier.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.BaseClassSpecifier.__CreateInstance(__ret); + else if (global::CppSharp.Parser.AST.ExpressionObsolete.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.ExpressionObsolete) global::CppSharp.Parser.AST.ExpressionObsolete.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.ExpressionObsolete.__CreateInstance(__ret); return __result0; } - public void AddBases(global::CppSharp.Parser.AST.BaseClassSpecifier s) + public void AddArguments(global::CppSharp.Parser.AST.ExpressionObsolete s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddBases((__Instance + __PointerAdjustment), __arg0); + __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); } - public void ClearBases() + public void ClearArguments() { - __Internal.ClearBases((__Instance + __PointerAdjustment)); + __Internal.ClearArguments((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.Field GetFields(uint i) + public uint ArgumentsCount { - var __ret = __Internal.GetFields((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Field __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Field.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Field) global::CppSharp.Parser.AST.Field.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Field.__CreateInstance(__ret); - return __result0; + get + { + var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); + return __ret; + } } + } - public void AddFields(global::CppSharp.Parser.AST.Field s) + public unsafe partial class CXXConstructExprObsolete : global::CppSharp.Parser.AST.ExpressionObsolete, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddFields((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StatementClassObsolete _class; - public void ClearFields() - { - __Internal.ClearFields((__Instance + __PointerAdjustment)); + [FieldOffset(8)] + internal global::System.IntPtr decl; + + [FieldOffset(16)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; + + [FieldOffset(24)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_ExpressionObsolete___N_std_S_allocator__S0_ Arguments; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24CXXConstructExprObsoleteC2ERKSsPNS1_11DeclarationE")] + internal static extern void ctor(global::System.IntPtr __instance, global::System.IntPtr str, global::System.IntPtr decl); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24CXXConstructExprObsoleteC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24CXXConstructExprObsoleteD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24CXXConstructExprObsolete12getArgumentsEj")] + internal static extern global::System.IntPtr GetArguments(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24CXXConstructExprObsolete12addArgumentsERPNS1_18ExpressionObsoleteE")] + internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24CXXConstructExprObsolete14clearArgumentsEv")] + internal static extern void ClearArguments(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24CXXConstructExprObsolete17getArgumentsCountEv")] + internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); } - public global::CppSharp.Parser.AST.Method GetMethods(uint i) + internal static new global::CppSharp.Parser.AST.CXXConstructExprObsolete __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - var __ret = __Internal.GetMethods((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Method __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Method.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Method) global::CppSharp.Parser.AST.Method.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Method.__CreateInstance(__ret); - return __result0; + return new global::CppSharp.Parser.AST.CXXConstructExprObsolete(native.ToPointer(), skipVTables); } - public void AddMethods(global::CppSharp.Parser.AST.Method s) + internal static global::CppSharp.Parser.AST.CXXConstructExprObsolete __CreateInstance(global::CppSharp.Parser.AST.CXXConstructExprObsolete.__Internal native, bool skipVTables = false) { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddMethods((__Instance + __PointerAdjustment), __arg0); + return new global::CppSharp.Parser.AST.CXXConstructExprObsolete(native, skipVTables); } - public void ClearMethods() + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXConstructExprObsolete.__Internal native) { - __Internal.ClearMethods((__Instance + __PointerAdjustment)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExprObsolete.__Internal)); + global::CppSharp.Parser.AST.CXXConstructExprObsolete.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - public global::CppSharp.Parser.AST.AccessSpecifierDecl GetSpecifiers(uint i) + private CXXConstructExprObsolete(global::CppSharp.Parser.AST.CXXConstructExprObsolete.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - var __ret = __Internal.GetSpecifiers((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.AccessSpecifierDecl __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.AccessSpecifierDecl.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.AccessSpecifierDecl) global::CppSharp.Parser.AST.AccessSpecifierDecl.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.AccessSpecifierDecl.__CreateInstance(__ret); - return __result0; + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; } - public void AddSpecifiers(global::CppSharp.Parser.AST.AccessSpecifierDecl s) + protected CXXConstructExprObsolete(void* native, bool skipVTables = false) + : base((void*) null) { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddSpecifiers((__Instance + __PointerAdjustment), __arg0); + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - public void ClearSpecifiers() + public CXXConstructExprObsolete(string str, global::CppSharp.Parser.AST.Declaration decl) + : this((void*) null) { - __Internal.ClearSpecifiers((__Instance + __PointerAdjustment)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExprObsolete.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, str); + var __arg0 = __basicString0.__Instance; + var __arg1 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; + __Internal.ctor((__Instance + __PointerAdjustment), __arg0, __arg1); + __basicString0.Dispose(false); } - public bool IsPOD + public CXXConstructExprObsolete(global::CppSharp.Parser.AST.CXXConstructExprObsolete _0) + : this((void*) null) { - get - { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isPOD != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isPOD = (byte) (value ? 1 : 0); - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExprObsolete.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public bool IsAbstract + public override void Dispose(bool disposing) { - get - { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isAbstract != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isAbstract = (byte) (value ? 1 : 0); - } + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.StatementObsolete __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } - public bool IsUnion + public global::CppSharp.Parser.AST.ExpressionObsolete GetArguments(uint i) { - get - { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isUnion != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isUnion = (byte) (value ? 1 : 0); - } + var __ret = __Internal.GetArguments((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.ExpressionObsolete __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ExpressionObsolete.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.ExpressionObsolete) global::CppSharp.Parser.AST.ExpressionObsolete.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.ExpressionObsolete.__CreateInstance(__ret); + return __result0; } - public bool IsDynamic + public void AddArguments(global::CppSharp.Parser.AST.ExpressionObsolete s) { - get - { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isDynamic != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isDynamic = (byte) (value ? 1 : 0); - } + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); } - public bool IsPolymorphic + public void ClearArguments() { - get - { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isPolymorphic != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isPolymorphic = (byte) (value ? 1 : 0); - } + __Internal.ClearArguments((__Instance + __PointerAdjustment)); } - public bool HasNonTrivialDefaultConstructor + public uint ArgumentsCount { get { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialDefaultConstructor != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->hasNonTrivialDefaultConstructor = (byte) (value ? 1 : 0); + var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); + return __ret; } } + } - public bool HasNonTrivialCopyConstructor + public unsafe partial class Parameter : global::CppSharp.Parser.AST.Declaration, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 192)] + public new partial struct __Internal { - get - { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialCopyConstructor != 0; - } + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->hasNonTrivialCopyConstructor = (byte) (value ? 1 : 0); - } - } + [FieldOffset(4)] + internal int maxFieldAlignment; - public bool HasNonTrivialDestructor - { - get - { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialDestructor != 0; - } + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->hasNonTrivialDestructor = (byte) (value ? 1 : 0); - } - } + [FieldOffset(16)] + internal global::System.IntPtr _namespace; - public bool IsExternCContext - { - get - { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isExternCContext != 0; - } + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isExternCContext = (byte) (value ? 1 : 0); - } - } - - public bool IsInjected - { - get - { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isInjected != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isInjected = (byte) (value ? 1 : 0); - } - } - - public global::CppSharp.Parser.AST.ClassLayout Layout - { - get - { - global::CppSharp.Parser.AST.ClassLayout __result0; - if (((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.ClassLayout.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout)) - __result0 = (global::CppSharp.Parser.AST.ClassLayout) global::CppSharp.Parser.AST.ClassLayout.NativeToManagedMap[((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout]; - else __result0 = global::CppSharp.Parser.AST.ClassLayout.__CreateInstance(((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->layout = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - - public uint BasesCount - { - get - { - var __ret = __Internal.GetBasesCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint FieldsCount - { - get - { - var __ret = __Internal.GetFieldsCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint MethodsCount - { - get - { - var __ret = __Internal.GetMethodsCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint SpecifiersCount - { - get - { - var __ret = __Internal.GetSpecifiersCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - } - - public unsafe partial class Template : global::CppSharp.Parser.AST.Declaration, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 184)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; + [FieldOffset(28)] + internal int lineNumberStart; [FieldOffset(32)] internal int lineNumberEnd; @@ -9934,77 +9001,64 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(152)] - internal global::System.IntPtr TemplatedDecl; - - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateC2ENS1_15DeclarationKindE")] - internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.DeclarationKind kind); + [FieldOffset(168)] + internal byte isIndirect; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + [FieldOffset(169)] + internal byte hasDefaultValue; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + [FieldOffset(172)] + internal uint index; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); + [FieldOffset(176)] + internal global::System.IntPtr defaultArgument; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Template13getParametersEj")] - internal static extern global::System.IntPtr GetParameters(global::System.IntPtr __instance, uint i); + [FieldOffset(184)] + internal global::System.IntPtr defaultArgumentNew; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Template13addParametersERPNS1_11DeclarationE")] - internal static extern void AddParameters(global::System.IntPtr __instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST9ParameterC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Template15clearParametersEv")] - internal static extern void ClearParameters(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST9ParameterC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Template18getParametersCountEv")] - internal static extern uint GetParametersCount(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST9ParameterD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.Template __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Parameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Template(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Parameter(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Template __CreateInstance(global::CppSharp.Parser.AST.Template.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Parameter __CreateInstance(global::CppSharp.Parser.AST.Parameter.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Template(native, skipVTables); + return new global::CppSharp.Parser.AST.Parameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Template.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Parameter.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); - global::CppSharp.Parser.AST.Template.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); + global::CppSharp.Parser.AST.Parameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Template(global::CppSharp.Parser.AST.Template.__Internal native, bool skipVTables = false) + private Parameter(global::CppSharp.Parser.AST.Parameter.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Template(void* native, bool skipVTables = false) + protected Parameter(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -10013,28 +9067,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Template(global::CppSharp.Parser.AST.DeclarationKind kind) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), kind); - } - - public Template() + public Parameter() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public Template(global::CppSharp.Parser.AST.Template _0) + public Parameter(global::CppSharp.Parser.AST.Parameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -10056,66 +9101,98 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.Declaration GetParameters(uint i) + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { - var __ret = __Internal.GetParameters((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Declaration __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(__ret); - return __result0; + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->qualifiedType)); + } + + set + { + ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } - public void AddParameters(global::CppSharp.Parser.AST.Declaration s) + public bool IsIndirect { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddParameters((__Instance + __PointerAdjustment), __arg0); + get + { + return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->isIndirect != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->isIndirect = (byte) (value ? 1 : 0); + } } - public void ClearParameters() + public bool HasDefaultValue { - __Internal.ClearParameters((__Instance + __PointerAdjustment)); + get + { + return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->hasDefaultValue != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->hasDefaultValue = (byte) (value ? 1 : 0); + } } - public static implicit operator global::CppSharp.Parser.AST.Template(global::CppSharp.Parser.AST.DeclarationKind kind) + public uint Index { - return new global::CppSharp.Parser.AST.Template(kind); + get + { + return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->index; + } + + set + { + ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->index = value; + } } - public global::CppSharp.Parser.AST.Declaration TemplatedDecl + public global::CppSharp.Parser.AST.ExpressionObsolete DefaultArgument { get { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl); + global::CppSharp.Parser.AST.ExpressionObsolete __result0; + if (((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ExpressionObsolete.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument)) + __result0 = (global::CppSharp.Parser.AST.ExpressionObsolete) global::CppSharp.Parser.AST.ExpressionObsolete.NativeToManagedMap[((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument]; + else __result0 = global::CppSharp.Parser.AST.ExpressionObsolete.__CreateInstance(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument); return __result0; } set { - ((global::CppSharp.Parser.AST.Template.__Internal*)__Instance)->TemplatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->defaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public uint ParametersCount + public global::CppSharp.Parser.AST.Expr DefaultArgumentNew { get { - var __ret = __Internal.GetParametersCount((__Instance + __PointerAdjustment)); - return __ret; + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgumentNew == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgumentNew)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgumentNew]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgumentNew); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->defaultArgumentNew = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class TypeAliasTemplate : global::CppSharp.Parser.AST.Template, IDisposable + public unsafe partial class Function : global::CppSharp.Parser.AST.DeclarationContext, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 184)] + [StructLayout(LayoutKind.Explicit, Size = 544)] public new partial struct __Internal { [FieldOffset(0)] @@ -10179,52 +9256,156 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(152)] - internal global::System.IntPtr TemplatedDecl; + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; + [FieldOffset(176)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; + + [FieldOffset(200)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; + + [FieldOffset(224)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; + + [FieldOffset(248)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; + + [FieldOffset(272)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; + + [FieldOffset(296)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; + + [FieldOffset(320)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; + + [FieldOffset(344)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; + + [FieldOffset(368)] + internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + + [FieldOffset(416)] + internal byte isAnonymous; + + [FieldOffset(424)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; + + [FieldOffset(440)] + internal byte isReturnIndirect; + + [FieldOffset(441)] + internal byte hasThisReturn; + + [FieldOffset(442)] + internal byte isConstExpr; + + [FieldOffset(443)] + internal byte isVariadic; + + [FieldOffset(444)] + internal byte isInline; + + [FieldOffset(445)] + internal byte isPure; + + [FieldOffset(446)] + internal byte isDeleted; + + [FieldOffset(447)] + internal byte isDefaulted; + + [FieldOffset(448)] + internal global::CppSharp.Parser.AST.FriendKind friendKind; + + [FieldOffset(452)] + internal global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; + + [FieldOffset(456)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; + + [FieldOffset(464)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C signature; + + [FieldOffset(472)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C body; + + [FieldOffset(480)] + internal global::CppSharp.Parser.AST.CallingConvention callingConvention; + + [FieldOffset(488)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_S_allocator__S0_ Parameters; + + [FieldOffset(512)] + internal global::System.IntPtr specializationInfo; + + [FieldOffset(520)] + internal global::System.IntPtr instantiatedFrom; + + [FieldOffset(528)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17TypeAliasTemplateC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST8FunctionC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17TypeAliasTemplateC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST8FunctionC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17TypeAliasTemplateD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST8FunctionD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Function13getParametersEj")] + internal static extern global::System.IntPtr GetParameters(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Function13addParametersERPNS1_9ParameterE")] + internal static extern void AddParameters(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Function15clearParametersEv")] + internal static extern void ClearParameters(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Function18getParametersCountEv")] + internal static extern uint GetParametersCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.TypeAliasTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Function __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypeAliasTemplate(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Function(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TypeAliasTemplate __CreateInstance(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Function __CreateInstance(global::CppSharp.Parser.AST.Function.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypeAliasTemplate(native, skipVTables); + return new global::CppSharp.Parser.AST.Function(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Function.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); - global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); + global::CppSharp.Parser.AST.Function.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native, bool skipVTables = false) + private Function(global::CppSharp.Parser.AST.Function.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TypeAliasTemplate(void* native, bool skipVTables = false) + protected Function(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -10233,19 +9414,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TypeAliasTemplate() + public Function() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate _0) + public Function(global::CppSharp.Parser.AST.Function _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -10266,60 +9447,346 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - } - public unsafe partial class TemplateParameter : global::CppSharp.Parser.AST.Declaration, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 168)] - public new partial struct __Internal + public global::CppSharp.Parser.AST.Parameter GetParameters(uint i) { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + var __ret = __Internal.GetParameters((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Parameter __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Parameter.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Parameter) global::CppSharp.Parser.AST.Parameter.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Parameter.__CreateInstance(__ret); + return __result0; + } - [FieldOffset(16)] - internal global::System.IntPtr _namespace; + public void AddParameters(global::CppSharp.Parser.AST.Parameter s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddParameters((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + public void ClearParameters() + { + __Internal.ClearParameters((__Instance + __PointerAdjustment)); + } - [FieldOffset(28)] - internal int lineNumberStart; + public global::CppSharp.Parser.AST.QualifiedType ReturnType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->returnType)); + } - [FieldOffset(32)] - internal int lineNumberEnd; + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->returnType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + public bool IsReturnIndirect + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isReturnIndirect != 0; + } - [FieldOffset(48)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isReturnIndirect = (byte) (value ? 1 : 0); + } + } - [FieldOffset(56)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + public bool HasThisReturn + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->hasThisReturn != 0; + } - [FieldOffset(64)] - internal byte isIncomplete; + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->hasThisReturn = (byte) (value ? 1 : 0); + } + } - [FieldOffset(65)] - internal byte isDependent; + public bool IsConstExpr + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isConstExpr != 0; + } - [FieldOffset(66)] - internal byte isImplicit; + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isConstExpr = (byte) (value ? 1 : 0); + } + } - [FieldOffset(67)] - internal byte isInvalid; + public bool IsVariadic + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isVariadic != 0; + } - [FieldOffset(72)] - internal global::System.IntPtr completeDeclaration; + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isVariadic = (byte) (value ? 1 : 0); + } + } - [FieldOffset(80)] - internal uint definitionOrder; + public bool IsInline + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isInline != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isInline = (byte) (value ? 1 : 0); + } + } + + public bool IsPure + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isPure != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isPure = (byte) (value ? 1 : 0); + } + } + + public bool IsDeleted + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isDeleted != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isDeleted = (byte) (value ? 1 : 0); + } + } + + public bool IsDefaulted + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isDefaulted != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isDefaulted = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.FriendKind FriendKind + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->friendKind; + } + + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->friendKind = value; + } + } + + public global::CppSharp.Parser.AST.CXXOperatorKind OperatorKind + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->operatorKind; + } + + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->operatorKind = value; + } + } + + public string Mangled + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->mangled)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->mangled), value); + } + } + + public string Signature + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->signature)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->signature), value); + } + } + + public string Body + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->body)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->body), value); + } + } + + public global::CppSharp.Parser.AST.CallingConvention CallingConvention + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->callingConvention; + } + + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->callingConvention = value; + } + } + + public global::CppSharp.Parser.AST.FunctionTemplateSpecialization SpecializationInfo + { + get + { + global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0; + if (((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo)) + __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo]; + else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->specializationInfo = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Function InstantiatedFrom + { + get + { + global::CppSharp.Parser.AST.Function __result0; + if (((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom)) + __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom]; + else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->instantiatedFrom = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType QualifiedType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->qualifiedType)); + } + + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public uint ParametersCount + { + get + { + var __ret = __Internal.GetParametersCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class Method : global::CppSharp.Parser.AST.Function, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 608)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(48)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(64)] + internal byte isIncomplete; + + [FieldOffset(65)] + internal byte isDependent; + + [FieldOffset(66)] + internal byte isImplicit; + + [FieldOffset(67)] + internal byte isInvalid; + + [FieldOffset(72)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(80)] + internal uint definitionOrder; [FieldOffset(88)] internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; @@ -10334,55 +9801,763 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(152)] - internal uint depth; + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; - [FieldOffset(156)] - internal uint index; + [FieldOffset(176)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; - [FieldOffset(160)] - internal byte isParameterPack; + [FieldOffset(200)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterC2ENS1_15DeclarationKindE")] - internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.DeclarationKind kind); + [FieldOffset(224)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; + + [FieldOffset(248)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; + + [FieldOffset(272)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; + + [FieldOffset(296)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; + + [FieldOffset(320)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; + + [FieldOffset(344)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; + + [FieldOffset(368)] + internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + + [FieldOffset(416)] + internal byte isAnonymous; + + [FieldOffset(424)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; + + [FieldOffset(440)] + internal byte isReturnIndirect; + + [FieldOffset(441)] + internal byte hasThisReturn; + + [FieldOffset(442)] + internal byte isConstExpr; + + [FieldOffset(443)] + internal byte isVariadic; + + [FieldOffset(444)] + internal byte isInline; + + [FieldOffset(445)] + internal byte isPure; + + [FieldOffset(446)] + internal byte isDeleted; + + [FieldOffset(447)] + internal byte isDefaulted; + + [FieldOffset(448)] + internal global::CppSharp.Parser.AST.FriendKind friendKind; + + [FieldOffset(452)] + internal global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; + + [FieldOffset(456)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; + + [FieldOffset(464)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C signature; + + [FieldOffset(472)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C body; + + [FieldOffset(480)] + internal global::CppSharp.Parser.AST.CallingConvention callingConvention; + + [FieldOffset(488)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_S_allocator__S0_ Parameters; + + [FieldOffset(512)] + internal global::System.IntPtr specializationInfo; + + [FieldOffset(520)] + internal global::System.IntPtr instantiatedFrom; + + [FieldOffset(528)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(544)] + internal byte isVirtual; + + [FieldOffset(545)] + internal byte isStatic; + + [FieldOffset(546)] + internal byte isConst; + + [FieldOffset(547)] + internal byte isExplicit; + + [FieldOffset(548)] + internal global::CppSharp.Parser.AST.CXXMethodKind methodKind; + + [FieldOffset(552)] + internal byte isDefaultConstructor; + + [FieldOffset(553)] + internal byte isCopyConstructor; + + [FieldOffset(554)] + internal byte isMoveConstructor; + + [FieldOffset(560)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal conversionType; + + [FieldOffset(576)] + internal global::CppSharp.Parser.AST.RefQualifierKind refQualifier; + + [FieldOffset(584)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_S_allocator__S0_ OverriddenMethods; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST6MethodC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST6MethodC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST6MethodD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST6Method20getOverriddenMethodsEj")] + internal static extern global::System.IntPtr GetOverriddenMethods(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST6Method20addOverriddenMethodsERPS2_")] + internal static extern void AddOverriddenMethods(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST6Method22clearOverriddenMethodsEv")] + internal static extern void ClearOverriddenMethods(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST6Method25getOverriddenMethodsCountEv")] + internal static extern uint GetOverriddenMethodsCount(global::System.IntPtr __instance); + } + + internal static new global::CppSharp.Parser.AST.Method __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Method(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.Method __CreateInstance(global::CppSharp.Parser.AST.Method.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Method(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.Method.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); + global::CppSharp.Parser.AST.Method.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private Method(global::CppSharp.Parser.AST.Method.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Method(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Method() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public Method(global::CppSharp.Parser.AST.Method _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Method GetOverriddenMethods(uint i) + { + var __ret = __Internal.GetOverriddenMethods((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Method __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Method.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Method) global::CppSharp.Parser.AST.Method.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Method.__CreateInstance(__ret); + return __result0; + } + + public void AddOverriddenMethods(global::CppSharp.Parser.AST.Method s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddOverriddenMethods((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearOverriddenMethods() + { + __Internal.ClearOverriddenMethods((__Instance + __PointerAdjustment)); + } + + public bool IsVirtual + { + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isVirtual != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isVirtual = (byte) (value ? 1 : 0); + } + } + + public bool IsStatic + { + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isStatic != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isStatic = (byte) (value ? 1 : 0); + } + } + + public bool IsConst + { + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isConst != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isConst = (byte) (value ? 1 : 0); + } + } + + public bool IsExplicit + { + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isExplicit != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isExplicit = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.CXXMethodKind MethodKind + { + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->methodKind; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->methodKind = value; + } + } + + public bool IsDefaultConstructor + { + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isDefaultConstructor != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isDefaultConstructor = (byte) (value ? 1 : 0); + } + } + + public bool IsCopyConstructor + { + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isCopyConstructor != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isCopyConstructor = (byte) (value ? 1 : 0); + } + } + + public bool IsMoveConstructor + { + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isMoveConstructor != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isMoveConstructor = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.QualifiedType ConversionType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->conversionType)); + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->conversionType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public global::CppSharp.Parser.AST.RefQualifierKind RefQualifier + { + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->refQualifier; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->refQualifier = value; + } + } + + public uint OverriddenMethodsCount + { + get + { + var __ret = __Internal.GetOverriddenMethodsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class Enumeration : global::CppSharp.Parser.AST.DeclarationContext, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 464)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(48)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(64)] + internal byte isIncomplete; + + [FieldOffset(65)] + internal byte isDependent; + + [FieldOffset(66)] + internal byte isImplicit; + + [FieldOffset(67)] + internal byte isInvalid; + + [FieldOffset(72)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(80)] + internal uint definitionOrder; + + [FieldOffset(88)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(136)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(144)] + internal global::System.IntPtr comment; + + [FieldOffset(152)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; + + [FieldOffset(176)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; + + [FieldOffset(200)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; + + [FieldOffset(224)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; + + [FieldOffset(248)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; + + [FieldOffset(272)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; + + [FieldOffset(296)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; + + [FieldOffset(320)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; + + [FieldOffset(344)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; + + [FieldOffset(368)] + internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + + [FieldOffset(416)] + internal byte isAnonymous; + + [FieldOffset(420)] + internal global::CppSharp.Parser.AST.Enumeration.EnumModifiers modifiers; + + [FieldOffset(424)] + internal global::System.IntPtr type; + + [FieldOffset(432)] + internal global::System.IntPtr builtinType; + + [FieldOffset(440)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration_S_Item___N_std_S_allocator__S0_ Items; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration8getItemsEj")] + internal static extern global::System.IntPtr GetItems(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration8addItemsERPNS2_4ItemE")] + internal static extern void AddItems(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration10clearItemsEv")] + internal static extern void ClearItems(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration14FindItemByNameERKSs")] + internal static extern global::System.IntPtr FindItemByName(global::System.IntPtr __instance, global::System.IntPtr Name); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration13getItemsCountEv")] + internal static extern uint GetItemsCount(global::System.IntPtr __instance); + } + + [Flags] + public enum EnumModifiers + { + Anonymous = 1, + Scoped = 2, + Flags = 4 + } + + public unsafe partial class Item : global::CppSharp.Parser.AST.Declaration, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 168)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(48)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(64)] + internal byte isIncomplete; + + [FieldOffset(65)] + internal byte isDependent; + + [FieldOffset(66)] + internal byte isImplicit; + + [FieldOffset(67)] + internal byte isInvalid; + + [FieldOffset(72)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(80)] + internal uint definitionOrder; + + [FieldOffset(88)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(136)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(144)] + internal global::System.IntPtr comment; + + [FieldOffset(152)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C expression; + + [FieldOffset(160)] + internal ulong value; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4ItemC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4ItemC2ERKS3_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4ItemD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + } + + internal static new global::CppSharp.Parser.AST.Enumeration.Item __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Enumeration.Item(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.Enumeration.Item __CreateInstance(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Enumeration.Item(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); + global::CppSharp.Parser.AST.Enumeration.Item.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private Item(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Item(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Item() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public Item(global::CppSharp.Parser.AST.Enumeration.Item _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public string Expression + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*) __Instance)->expression)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*)__Instance)->expression), value); + } + } + + public ulong Value + { + get + { + return ((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*) __Instance)->value; + } + + set + { + ((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*)__Instance)->value = value; + } + } } - internal static new global::CppSharp.Parser.AST.TemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Enumeration __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateParameter(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Enumeration(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TemplateParameter.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Enumeration __CreateInstance(global::CppSharp.Parser.AST.Enumeration.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateParameter(native, skipVTables); + return new global::CppSharp.Parser.AST.Enumeration(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameter.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Enumeration.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); - global::CppSharp.Parser.AST.TemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); + global::CppSharp.Parser.AST.Enumeration.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter.__Internal native, bool skipVTables = false) + private Enumeration(global::CppSharp.Parser.AST.Enumeration.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TemplateParameter(void* native, bool skipVTables = false) + protected Enumeration(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -10391,19 +10566,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TemplateParameter(global::CppSharp.Parser.AST.DeclarationKind kind) + public Enumeration() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), kind); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter _0) + public Enumeration(global::CppSharp.Parser.AST.Enumeration _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -10425,54 +10600,107 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public static implicit operator global::CppSharp.Parser.AST.TemplateParameter(global::CppSharp.Parser.AST.DeclarationKind kind) + public global::CppSharp.Parser.AST.Enumeration.Item GetItems(uint i) { - return new global::CppSharp.Parser.AST.TemplateParameter(kind); + var __ret = __Internal.GetItems((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Enumeration.Item __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Enumeration.Item) global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Enumeration.Item.__CreateInstance(__ret); + return __result0; } - public uint Depth + public void AddItems(global::CppSharp.Parser.AST.Enumeration.Item s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddItems((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearItems() + { + __Internal.ClearItems((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Enumeration.Item FindItemByName(string Name) + { + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, Name); + var __arg0 = __basicString0.__Instance; + var __ret = __Internal.FindItemByName((__Instance + __PointerAdjustment), __arg0); + __basicString0.Dispose(false); + global::CppSharp.Parser.AST.Enumeration.Item __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Enumeration.Item) global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Enumeration.Item.__CreateInstance(__ret); + return __result0; + } + + public global::CppSharp.Parser.AST.Enumeration.EnumModifiers Modifiers { get { - return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->depth; + return ((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->modifiers; } set { - ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*)__Instance)->depth = value; + ((global::CppSharp.Parser.AST.Enumeration.__Internal*)__Instance)->modifiers = value; } } - public uint Index + public global::CppSharp.Parser.AST.Type Type { get { - return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->index; + global::CppSharp.Parser.AST.Type __result0; + if (((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type)) + __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type]; + else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type); + return __result0; } set { - ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*)__Instance)->index = value; + ((global::CppSharp.Parser.AST.Enumeration.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public bool IsParameterPack + public global::CppSharp.Parser.AST.BuiltinType BuiltinType { get { - return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->isParameterPack != 0; + global::CppSharp.Parser.AST.BuiltinType __result0; + if (((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.BuiltinType.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType)) + __result0 = (global::CppSharp.Parser.AST.BuiltinType) global::CppSharp.Parser.AST.BuiltinType.NativeToManagedMap[((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType]; + else __result0 = global::CppSharp.Parser.AST.BuiltinType.__CreateInstance(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType); + return __result0; } set { - ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*)__Instance)->isParameterPack = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Enumeration.__Internal*)__Instance)->builtinType = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public uint ItemsCount + { + get + { + var __ret = __Internal.GetItemsCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class TemplateTemplateParameter : global::CppSharp.Parser.AST.Template, IDisposable + public unsafe partial class Variable : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 192)] + [StructLayout(LayoutKind.Explicit, Size = 176)] public new partial struct __Internal { [FieldOffset(0)] @@ -10536,61 +10764,52 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(152)] - internal global::System.IntPtr TemplatedDecl; + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; - - [FieldOffset(184)] - internal byte isParameterPack; - - [FieldOffset(185)] - internal byte isPackExpansion; - - [FieldOffset(186)] - internal byte isExpandedParameterPack; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST8VariableC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST8VariableC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST8VariableD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.TemplateTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Variable __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateTemplateParameter(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Variable(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TemplateTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Variable __CreateInstance(global::CppSharp.Parser.AST.Variable.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateTemplateParameter(native, skipVTables); + return new global::CppSharp.Parser.AST.Variable(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Variable.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); - global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); + global::CppSharp.Parser.AST.Variable.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native, bool skipVTables = false) + private Variable(global::CppSharp.Parser.AST.Variable.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TemplateTemplateParameter(void* native, bool skipVTables = false) + protected Variable(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -10599,19 +10818,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TemplateTemplateParameter() + public Variable() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter _0) + public Variable(global::CppSharp.Parser.AST.Variable _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -10633,221 +10852,194 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public bool IsParameterPack - { - get - { - return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isParameterPack != 0; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*)__Instance)->isParameterPack = (byte) (value ? 1 : 0); - } - } - - public bool IsPackExpansion + public string Mangled { get { - return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isPackExpansion != 0; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Variable.__Internal*) __Instance)->mangled)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*)__Instance)->isPackExpansion = (byte) (value ? 1 : 0); + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Variable.__Internal*)__Instance)->mangled), value); } } - public bool IsExpandedParameterPack + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { get { - return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack != 0; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Variable.__Internal*) __Instance)->qualifiedType)); } set { - ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*)__Instance)->isExpandedParameterPack = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Variable.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } } - public unsafe partial class TypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable + public unsafe partial class BaseClassSpecifier : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 184)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; - - [FieldOffset(32)] - internal int lineNumberEnd; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(48)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - - [FieldOffset(56)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - - [FieldOffset(64)] - internal byte isIncomplete; - - [FieldOffset(65)] - internal byte isDependent; - - [FieldOffset(66)] - internal byte isImplicit; - - [FieldOffset(67)] - internal byte isInvalid; - - [FieldOffset(72)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(80)] - internal uint definitionOrder; - - [FieldOffset(88)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - - [FieldOffset(136)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(144)] - internal global::System.IntPtr comment; - - [FieldOffset(152)] - internal uint depth; + [StructLayout(LayoutKind.Explicit, Size = 24)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; - [FieldOffset(156)] - internal uint index; + [FieldOffset(4)] + internal byte isVirtual; - [FieldOffset(160)] - internal byte isParameterPack; + [FieldOffset(8)] + internal global::System.IntPtr type; - [FieldOffset(168)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal defaultArgument; + [FieldOffset(16)] + internal int offset; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21TypeTemplateParameterC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST18BaseClassSpecifierC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21TypeTemplateParameterC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST18BaseClassSpecifierC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21TypeTemplateParameterD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.TypeTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.BaseClassSpecifier __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypeTemplateParameter(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.BaseClassSpecifier(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TypeTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.BaseClassSpecifier __CreateInstance(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypeTemplateParameter(native, skipVTables); + return new global::CppSharp.Parser.AST.BaseClassSpecifier(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); - global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); + *(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) ret = native; return ret.ToPointer(); } - private TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native, bool skipVTables = false) + private BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TypeTemplateParameter(void* native, bool skipVTables = false) - : base((void*) null) + protected BaseClassSpecifier(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public TypeTemplateParameter() - : this((void*) null) + public BaseClassSpecifier() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter _0) - : this((void*) null) + public BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + *((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) _0.__Instance); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.BaseClassSpecifier __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.QualifiedType DefaultArgument + public global::CppSharp.Parser.AST.AccessSpecifier Access { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal*) __Instance)->defaultArgument)); + return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->access; } set { - ((global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal*)__Instance)->defaultArgument = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->access = value; + } + } + + public bool IsVirtual + { + get + { + return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->isVirtual != 0; + } + + set + { + ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->isVirtual = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.Type Type + { + get + { + global::CppSharp.Parser.AST.Type __result0; + if (((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type)) + __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type]; + else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public int Offset + { + get + { + return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->offset; + } + + set + { + ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->offset = value; } } } - public unsafe partial class NonTypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable + public unsafe partial class Field : global::CppSharp.Parser.AST.Declaration, IDisposable { [StructLayout(LayoutKind.Explicit, Size = 184)] public new partial struct __Internal @@ -10913,67 +11105,58 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(152)] - internal uint depth; - - [FieldOffset(156)] - internal uint index; - - [FieldOffset(160)] - internal byte isParameterPack; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [FieldOffset(168)] - internal global::System.IntPtr defaultArgument; + internal global::System.IntPtr _class; [FieldOffset(176)] - internal uint position; + internal byte isBitField; [FieldOffset(180)] - internal byte isPackExpansion; - - [FieldOffset(181)] - internal byte isExpandedParameterPack; + internal uint bitWidth; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST5FieldC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST5FieldC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST5FieldD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.NonTypeTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Field __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.NonTypeTemplateParameter(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Field(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.NonTypeTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Field __CreateInstance(global::CppSharp.Parser.AST.Field.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.NonTypeTemplateParameter(native, skipVTables); + return new global::CppSharp.Parser.AST.Field(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Field.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); - global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); + global::CppSharp.Parser.AST.Field.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native, bool skipVTables = false) + private Field(global::CppSharp.Parser.AST.Field.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected NonTypeTemplateParameter(void* native, bool skipVTables = false) + protected Field(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -10982,19 +11165,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public NonTypeTemplateParameter() + public Field() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter _0) + public Field(global::CppSharp.Parser.AST.Field _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -11016,67 +11199,67 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.Expression DefaultArgument + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { get { - global::CppSharp.Parser.AST.Expression __result0; - if (((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument)) - __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument]; - else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument); - return __result0; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->qualifiedType)); } set { - ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->defaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public uint Position + public global::CppSharp.Parser.AST.Class Class { get { - return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->position; + global::CppSharp.Parser.AST.Class __result0; + if (((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class)) + __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class]; + else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class); + return __result0; } set { - ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->position = value; + ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public bool IsPackExpansion + public bool IsBitField { get { - return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->isPackExpansion != 0; + return ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->isBitField != 0; } set { - ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->isPackExpansion = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->isBitField = (byte) (value ? 1 : 0); } } - public bool IsExpandedParameterPack + public uint BitWidth { get { - return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack != 0; + return ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->bitWidth; } set { - ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->isExpandedParameterPack = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->bitWidth = value; } } } - public unsafe partial class ClassTemplate : global::CppSharp.Parser.AST.Template, IDisposable + public unsafe partial class AccessSpecifierDecl : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 208)] + [StructLayout(LayoutKind.Explicit, Size = 152)] public new partial struct __Internal { [FieldOffset(0)] @@ -11134,91 +11317,52 @@ namespace CppSharp internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; [FieldOffset(136)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(144)] - internal global::System.IntPtr comment; - - [FieldOffset(152)] - internal global::System.IntPtr TemplatedDecl; - - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; - - [FieldOffset(184)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_ClassTemplateSpecialization___N_std_S_allocator__S0_ Specializations; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplateC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplateC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplateD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate18getSpecializationsEj")] - internal static extern global::System.IntPtr GetSpecializations(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate18addSpecializationsERPNS1_27ClassTemplateSpecializationE")] - internal static extern void AddSpecializations(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate20clearSpecializationsEv")] - internal static extern void ClearSpecializations(global::System.IntPtr __instance); + internal global::System.IntPtr originalPtr; + + [FieldOffset(144)] + internal global::System.IntPtr comment; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate18FindSpecializationERKSs")] - internal static extern global::System.IntPtr FindSpecialization(global::System.IntPtr __instance, global::System.IntPtr usr); + EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate25FindPartialSpecializationERKSs")] - internal static extern global::System.IntPtr FindPartialSpecialization(global::System.IntPtr __instance, global::System.IntPtr usr); + EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate23getSpecializationsCountEv")] - internal static extern uint GetSpecializationsCount(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.ClassTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.AccessSpecifierDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ClassTemplate(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.AccessSpecifierDecl(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.ClassTemplate __CreateInstance(global::CppSharp.Parser.AST.ClassTemplate.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.AccessSpecifierDecl __CreateInstance(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ClassTemplate(native, skipVTables); + return new global::CppSharp.Parser.AST.AccessSpecifierDecl(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplate.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal)); - global::CppSharp.Parser.AST.ClassTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); + global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private ClassTemplate(global::CppSharp.Parser.AST.ClassTemplate.__Internal native, bool skipVTables = false) + private AccessSpecifierDecl(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected ClassTemplate(void* native, bool skipVTables = false) + protected AccessSpecifierDecl(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -11227,19 +11371,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public ClassTemplate() + public AccessSpecifierDecl() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public ClassTemplate(global::CppSharp.Parser.AST.ClassTemplate _0) + public AccessSpecifierDecl(global::CppSharp.Parser.AST.AccessSpecifierDecl _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -11260,305 +11404,381 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } + } - public global::CppSharp.Parser.AST.ClassTemplateSpecialization GetSpecializations(uint i) + public unsafe partial class VTableComponent : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 16)] + public partial struct __Internal { - var __ret = __Internal.GetSpecializations((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.ClassTemplateSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.ClassTemplateSpecialization) global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.ClassTemplateSpecialization.__CreateInstance(__ret); - return __result0; + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.VTableComponentKind kind; + + [FieldOffset(4)] + internal uint offset; + + [FieldOffset(8)] + internal global::System.IntPtr declaration; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15VTableComponentC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15VTableComponentC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); } - public void AddSpecializations(global::CppSharp.Parser.AST.ClassTemplateSpecialization s) + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.VTableComponent __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddSpecializations((__Instance + __PointerAdjustment), __arg0); + return new global::CppSharp.Parser.AST.VTableComponent(native.ToPointer(), skipVTables); } - public void ClearSpecializations() + internal static global::CppSharp.Parser.AST.VTableComponent __CreateInstance(global::CppSharp.Parser.AST.VTableComponent.__Internal native, bool skipVTables = false) { - __Internal.ClearSpecializations((__Instance + __PointerAdjustment)); + return new global::CppSharp.Parser.AST.VTableComponent(native, skipVTables); } - public global::CppSharp.Parser.AST.ClassTemplateSpecialization FindSpecialization(string usr) + private static void* __CopyValue(global::CppSharp.Parser.AST.VTableComponent.__Internal native) { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, usr); - var __arg0 = __basicString0.__Instance; - var __ret = __Internal.FindSpecialization((__Instance + __PointerAdjustment), __arg0); - __basicString0.Dispose(false); - global::CppSharp.Parser.AST.ClassTemplateSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.ClassTemplateSpecialization) global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.ClassTemplateSpecialization.__CreateInstance(__ret); - return __result0; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); + *(global::CppSharp.Parser.AST.VTableComponent.__Internal*) ret = native; + return ret.ToPointer(); } - public global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization FindPartialSpecialization(string usr) + private VTableComponent(global::CppSharp.Parser.AST.VTableComponent.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, usr); - var __arg0 = __basicString0.__Instance; - var __ret = __Internal.FindPartialSpecialization((__Instance + __PointerAdjustment), __arg0); - __basicString0.Dispose(false); - global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization) global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__CreateInstance(__ret); - return __result0; + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; } - public uint SpecializationsCount + protected VTableComponent(void* native, bool skipVTables = false) { - get - { - var __ret = __Internal.GetSpecializationsCount((__Instance + __PointerAdjustment)); - return __ret; - } + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - } - public unsafe partial class ClassTemplateSpecialization : global::CppSharp.Parser.AST.Class, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 584)] - public new partial struct __Internal + public VTableComponent() { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; - - [FieldOffset(32)] - internal int lineNumberEnd; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(48)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - - [FieldOffset(56)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - - [FieldOffset(64)] - internal byte isIncomplete; - - [FieldOffset(65)] - internal byte isDependent; + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [FieldOffset(66)] - internal byte isImplicit; + public VTableComponent(global::CppSharp.Parser.AST.VTableComponent _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.VTableComponent.__Internal*) _0.__Instance); + } - [FieldOffset(67)] - internal byte isInvalid; + public void Dispose() + { + Dispose(disposing: true); + } - [FieldOffset(72)] - internal global::System.IntPtr completeDeclaration; + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.VTableComponent __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } - [FieldOffset(80)] - internal uint definitionOrder; + public global::CppSharp.Parser.AST.VTableComponentKind Kind + { + get + { + return ((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->kind; + } - [FieldOffset(88)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + set + { + ((global::CppSharp.Parser.AST.VTableComponent.__Internal*)__Instance)->kind = value; + } + } - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + public uint Offset + { + get + { + return ((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->offset; + } - [FieldOffset(136)] - internal global::System.IntPtr originalPtr; + set + { + ((global::CppSharp.Parser.AST.VTableComponent.__Internal*)__Instance)->offset = value; + } + } - [FieldOffset(144)] - internal global::System.IntPtr comment; + public global::CppSharp.Parser.AST.Declaration Declaration + { + get + { + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration); + return __result0; + } - [FieldOffset(152)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; + set + { + ((global::CppSharp.Parser.AST.VTableComponent.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } - [FieldOffset(176)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; + public unsafe partial class VTableLayout : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_VTableComponent___N_std_S_allocator__S0_ Components; - [FieldOffset(200)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayoutC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); - [FieldOffset(224)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayoutC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - [FieldOffset(248)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayoutD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); - [FieldOffset(272)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout13getComponentsEj")] + internal static extern global::CppSharp.Parser.AST.VTableComponent.__Internal GetComponents(global::System.IntPtr __instance, uint i); - [FieldOffset(296)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout13addComponentsERNS1_15VTableComponentE")] + internal static extern void AddComponents(global::System.IntPtr __instance, global::System.IntPtr s); - [FieldOffset(320)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout15clearComponentsEv")] + internal static extern void ClearComponents(global::System.IntPtr __instance); - [FieldOffset(344)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout18getComponentsCountEv")] + internal static extern uint GetComponentsCount(global::System.IntPtr __instance); + } - [FieldOffset(368)] - internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + public global::System.IntPtr __Instance { get; protected set; } - [FieldOffset(416)] - internal byte isAnonymous; + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; - [FieldOffset(424)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BaseClassSpecifier___N_std_S_allocator__S0_ Bases; + protected bool __ownsNativeInstance; - [FieldOffset(448)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Field___N_std_S_allocator__S0_ Fields; + internal static global::CppSharp.Parser.AST.VTableLayout __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.VTableLayout(native.ToPointer(), skipVTables); + } - [FieldOffset(472)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_S_allocator__S0_ Methods; + internal static global::CppSharp.Parser.AST.VTableLayout __CreateInstance(global::CppSharp.Parser.AST.VTableLayout.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.VTableLayout(native, skipVTables); + } - [FieldOffset(496)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_AccessSpecifierDecl___N_std_S_allocator__S0_ Specifiers; + private static void* __CopyValue(global::CppSharp.Parser.AST.VTableLayout.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); + global::CppSharp.Parser.AST.VTableLayout.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(520)] - internal byte isPOD; + private VTableLayout(global::CppSharp.Parser.AST.VTableLayout.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(521)] - internal byte isAbstract; + protected VTableLayout(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(522)] - internal byte isUnion; + public VTableLayout() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [FieldOffset(523)] - internal byte isDynamic; + public VTableLayout(global::CppSharp.Parser.AST.VTableLayout _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(524)] - internal byte isPolymorphic; + public void Dispose() + { + Dispose(disposing: true); + } - [FieldOffset(525)] - internal byte hasNonTrivialDefaultConstructor; + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.VTableLayout __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } - [FieldOffset(526)] - internal byte hasNonTrivialCopyConstructor; + public global::CppSharp.Parser.AST.VTableComponent GetComponents(uint i) + { + var __ret = __Internal.GetComponents((__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.VTableComponent.__CreateInstance(__ret); + } - [FieldOffset(527)] - internal byte hasNonTrivialDestructor; + public void AddComponents(global::CppSharp.Parser.AST.VTableComponent s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddComponents((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(528)] - internal byte isExternCContext; + public void ClearComponents() + { + __Internal.ClearComponents((__Instance + __PointerAdjustment)); + } - [FieldOffset(529)] - internal byte isInjected; + public uint ComponentsCount + { + get + { + var __ret = __Internal.GetComponentsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } - [FieldOffset(536)] - internal global::System.IntPtr layout; + public unsafe partial class VFTableInfo : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public partial struct __Internal + { + [FieldOffset(0)] + internal ulong VBTableIndex; - [FieldOffset(544)] - internal global::System.IntPtr templatedDecl; + [FieldOffset(8)] + internal uint VFPtrOffset; - [FieldOffset(552)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; + [FieldOffset(12)] + internal uint VFPtrFullOffset; - [FieldOffset(576)] - internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.VTableLayout.__Internal layout; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecializationC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11VFTableInfoC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecializationC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST11VFTableInfoC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecializationD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11VFTableInfoD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecialization12getArgumentsEj")] - internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecialization12addArgumentsERNS1_16TemplateArgumentE")] - internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); + public global::System.IntPtr __Instance { get; protected set; } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecialization14clearArgumentsEv")] - internal static extern void ClearArguments(global::System.IntPtr __instance); + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecialization17getArgumentsCountEv")] - internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); - } + protected bool __ownsNativeInstance; - internal static new global::CppSharp.Parser.AST.ClassTemplateSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VFTableInfo __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ClassTemplateSpecialization(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.VFTableInfo(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.ClassTemplateSpecialization __CreateInstance(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VFTableInfo __CreateInstance(global::CppSharp.Parser.AST.VFTableInfo.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ClassTemplateSpecialization(native, skipVTables); + return new global::CppSharp.Parser.AST.VFTableInfo(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VFTableInfo.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); - global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); + global::CppSharp.Parser.AST.VFTableInfo.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private ClassTemplateSpecialization(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal native, bool skipVTables = false) + private VFTableInfo(global::CppSharp.Parser.AST.VFTableInfo.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected ClassTemplateSpecialization(void* native, bool skipVTables = false) - : base((void*) null) + protected VFTableInfo(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public ClassTemplateSpecialization() - : this((void*) null) + public VFTableInfo() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public ClassTemplateSpecialization(global::CppSharp.Parser.AST.ClassTemplateSpecialization _0) - : this((void*) null) + public VFTableInfo(global::CppSharp.Parser.AST.VFTableInfo _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -11567,11 +11787,16 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.VFTableInfo __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -11580,294 +11805,160 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) - { - var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); - __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); - } - - public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + public ulong VBTableIndex { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); - } + get + { + return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VBTableIndex; + } - public void ClearArguments() - { - __Internal.ClearArguments((__Instance + __PointerAdjustment)); + set + { + ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->VBTableIndex = value; + } } - public global::CppSharp.Parser.AST.ClassTemplate TemplatedDecl + public uint VFPtrOffset { get { - global::CppSharp.Parser.AST.ClassTemplate __result0; - if (((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.ClassTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl)) - __result0 = (global::CppSharp.Parser.AST.ClassTemplate) global::CppSharp.Parser.AST.ClassTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl]; - else __result0 = global::CppSharp.Parser.AST.ClassTemplate.__CreateInstance(((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl); - return __result0; + return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VFPtrOffset; } set { - ((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*)__Instance)->templatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->VFPtrOffset = value; } } - public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind + public uint VFPtrFullOffset { get { - return ((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->specializationKind; + return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VFPtrFullOffset; } set { - ((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*)__Instance)->specializationKind = value; + ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->VFPtrFullOffset = value; } } - public uint ArgumentsCount + public global::CppSharp.Parser.AST.VTableLayout Layout { get { - var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); - return __ret; + return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->layout)); + } + + set + { + ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->layout = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.VTableLayout.__Internal() : *(global::CppSharp.Parser.AST.VTableLayout.__Internal*) value.__Instance; } } } - public unsafe partial class ClassTemplatePartialSpecialization : global::CppSharp.Parser.AST.ClassTemplateSpecialization, IDisposable + public unsafe partial class LayoutField : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 584)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 40)] + public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; + internal uint offset; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [FieldOffset(32)] - internal int lineNumberEnd; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(48)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - - [FieldOffset(56)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - - [FieldOffset(64)] - internal byte isIncomplete; - - [FieldOffset(65)] - internal byte isDependent; - - [FieldOffset(66)] - internal byte isImplicit; - - [FieldOffset(67)] - internal byte isInvalid; - - [FieldOffset(72)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(80)] - internal uint definitionOrder; - - [FieldOffset(88)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - - [FieldOffset(136)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(144)] - internal global::System.IntPtr comment; - - [FieldOffset(152)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; - - [FieldOffset(176)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; - - [FieldOffset(200)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; - - [FieldOffset(224)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; - - [FieldOffset(248)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; - - [FieldOffset(272)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; - - [FieldOffset(296)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; - - [FieldOffset(320)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; - - [FieldOffset(344)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; - - [FieldOffset(368)] - internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; - - [FieldOffset(416)] - internal byte isAnonymous; - - [FieldOffset(424)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BaseClassSpecifier___N_std_S_allocator__S0_ Bases; - - [FieldOffset(448)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Field___N_std_S_allocator__S0_ Fields; - - [FieldOffset(472)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_S_allocator__S0_ Methods; - - [FieldOffset(496)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_AccessSpecifierDecl___N_std_S_allocator__S0_ Specifiers; - - [FieldOffset(520)] - internal byte isPOD; - - [FieldOffset(521)] - internal byte isAbstract; - - [FieldOffset(522)] - internal byte isUnion; - - [FieldOffset(523)] - internal byte isDynamic; - - [FieldOffset(524)] - internal byte isPolymorphic; - - [FieldOffset(525)] - internal byte hasNonTrivialDefaultConstructor; - - [FieldOffset(526)] - internal byte hasNonTrivialCopyConstructor; - - [FieldOffset(527)] - internal byte hasNonTrivialDestructor; - - [FieldOffset(528)] - internal byte isExternCContext; - - [FieldOffset(529)] - internal byte isInjected; - - [FieldOffset(536)] - internal global::System.IntPtr layout; - - [FieldOffset(544)] - internal global::System.IntPtr templatedDecl; - - [FieldOffset(552)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; - - [FieldOffset(576)] - internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; + internal global::System.IntPtr fieldPtr; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST34ClassTemplatePartialSpecializationC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutFieldC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST34ClassTemplatePartialSpecializationC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutFieldC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr other); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST34ClassTemplatePartialSpecializationD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutFieldD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.LayoutField __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.LayoutField(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization __CreateInstance(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.LayoutField __CreateInstance(global::CppSharp.Parser.AST.LayoutField.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization(native, skipVTables); + return new global::CppSharp.Parser.AST.LayoutField(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.LayoutField.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); - global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); + global::CppSharp.Parser.AST.LayoutField.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private ClassTemplatePartialSpecialization(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native, bool skipVTables = false) + private LayoutField(global::CppSharp.Parser.AST.LayoutField.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected ClassTemplatePartialSpecialization(void* native, bool skipVTables = false) - : base((void*) null) + protected LayoutField(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public ClassTemplatePartialSpecialization() - : this((void*) null) + public LayoutField() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public ClassTemplatePartialSpecialization(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization _0) - : this((void*) null) + public LayoutField(global::CppSharp.Parser.AST.LayoutField other) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; + if (ReferenceEquals(other, null)) + throw new global::System.ArgumentNullException("other", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = other.__Instance; __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.LayoutField __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -11875,182 +11966,158 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - } - public unsafe partial class FunctionTemplate : global::CppSharp.Parser.AST.Template, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 208)] - public new partial struct __Internal + public uint Offset { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; - - [FieldOffset(32)] - internal int lineNumberEnd; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(48)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - - [FieldOffset(56)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - - [FieldOffset(64)] - internal byte isIncomplete; - - [FieldOffset(65)] - internal byte isDependent; - - [FieldOffset(66)] - internal byte isImplicit; - - [FieldOffset(67)] - internal byte isInvalid; + get + { + return ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->offset; + } - [FieldOffset(72)] - internal global::System.IntPtr completeDeclaration; + set + { + ((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->offset = value; + } + } - [FieldOffset(80)] - internal uint definitionOrder; + public string Name + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->name)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - [FieldOffset(88)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->name), value); + } + } - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + public global::CppSharp.Parser.AST.QualifiedType QualifiedType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->qualifiedType)); + } - [FieldOffset(136)] - internal global::System.IntPtr originalPtr; + set + { + ((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } - [FieldOffset(144)] - internal global::System.IntPtr comment; + public global::System.IntPtr FieldPtr + { + get + { + return ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->fieldPtr; + } - [FieldOffset(152)] - internal global::System.IntPtr TemplatedDecl; + set + { + ((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->fieldPtr = (global::System.IntPtr) value; + } + } + } - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; + public unsafe partial class LayoutBase : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 16)] + public partial struct __Internal + { + [FieldOffset(0)] + internal uint offset; - [FieldOffset(184)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_FunctionTemplateSpecialization___N_std_S_allocator__S0_ Specializations; + [FieldOffset(8)] + internal global::System.IntPtr _class; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplateC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST10LayoutBaseC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplateC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST10LayoutBaseC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr other); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplateD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST10LayoutBaseD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate18getSpecializationsEj")] - internal static extern global::System.IntPtr GetSpecializations(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate18addSpecializationsERPNS1_30FunctionTemplateSpecializationE")] - internal static extern void AddSpecializations(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate20clearSpecializationsEv")] - internal static extern void ClearSpecializations(global::System.IntPtr __instance); + public global::System.IntPtr __Instance { get; protected set; } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate18FindSpecializationERKSs")] - internal static extern global::System.IntPtr FindSpecialization(global::System.IntPtr __instance, global::System.IntPtr usr); + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate23getSpecializationsCountEv")] - internal static extern uint GetSpecializationsCount(global::System.IntPtr __instance); - } + protected bool __ownsNativeInstance; - internal static new global::CppSharp.Parser.AST.FunctionTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.LayoutBase __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FunctionTemplate(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.LayoutBase(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.FunctionTemplate __CreateInstance(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.LayoutBase __CreateInstance(global::CppSharp.Parser.AST.LayoutBase.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FunctionTemplate(native, skipVTables); + return new global::CppSharp.Parser.AST.LayoutBase(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.LayoutBase.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); - global::CppSharp.Parser.AST.FunctionTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); + global::CppSharp.Parser.AST.LayoutBase.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private FunctionTemplate(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native, bool skipVTables = false) + private LayoutBase(global::CppSharp.Parser.AST.LayoutBase.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected FunctionTemplate(void* native, bool skipVTables = false) - : base((void*) null) + protected LayoutBase(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public FunctionTemplate() - : this((void*) null) + public LayoutBase() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public FunctionTemplate(global::CppSharp.Parser.AST.FunctionTemplate _0) - : this((void*) null) + public LayoutBase(global::CppSharp.Parser.AST.LayoutBase other) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; + if (ReferenceEquals(other, null)) + throw new global::System.ArgumentNullException("other", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = other.__Instance; __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.LayoutBase __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -12059,158 +12126,199 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.FunctionTemplateSpecialization GetSpecializations(uint i) - { - var __ret = __Internal.GetSpecializations((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(__ret); - return __result0; - } - - public void AddSpecializations(global::CppSharp.Parser.AST.FunctionTemplateSpecialization s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddSpecializations((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearSpecializations() - { - __Internal.ClearSpecializations((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.FunctionTemplateSpecialization FindSpecialization(string usr) - { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, usr); - var __arg0 = __basicString0.__Instance; - var __ret = __Internal.FindSpecialization((__Instance + __PointerAdjustment), __arg0); - __basicString0.Dispose(false); - global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(__ret); - return __result0; - } - - public uint SpecializationsCount + public uint Offset { get { - var __ret = __Internal.GetSpecializationsCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->offset; + } + + set + { + ((global::CppSharp.Parser.AST.LayoutBase.__Internal*)__Instance)->offset = value; + } + } + + public global::CppSharp.Parser.AST.Class Class + { + get + { + global::CppSharp.Parser.AST.Class __result0; + if (((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class)) + __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class]; + else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.LayoutBase.__Internal*)__Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class FunctionTemplateSpecialization : IDisposable + public unsafe partial class ClassLayout : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 136)] public partial struct __Internal { [FieldOffset(0)] - internal global::System.IntPtr _template; + internal global::CppSharp.Parser.AST.CppAbi ABI; [FieldOffset(8)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_VFTableInfo___N_std_S_allocator__S0_ VFTables; [FieldOffset(32)] - internal global::System.IntPtr specializedFunction; + internal global::CppSharp.Parser.AST.VTableLayout.__Internal layout; - [FieldOffset(40)] - internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; + [FieldOffset(56)] + internal byte hasOwnVFPtr; + + [FieldOffset(64)] + internal long VBPtrOffset; + + [FieldOffset(72)] + internal int alignment; + + [FieldOffset(76)] + internal int size; + + [FieldOffset(80)] + internal int dataSize; + + [FieldOffset(88)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_LayoutField___N_std_S_allocator__S0_ Fields; + + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_LayoutBase___N_std_S_allocator__S0_ Bases; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayoutC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayoutC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayoutD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization12getArgumentsEj")] - internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout11getVFTablesEj")] + internal static extern void GetVFTables(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization12addArgumentsERNS1_16TemplateArgumentE")] - internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout11addVFTablesERNS1_11VFTableInfoE")] + internal static extern void AddVFTables(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization14clearArgumentsEv")] - internal static extern void ClearArguments(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout13clearVFTablesEv")] + internal static extern void ClearVFTables(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization17getArgumentsCountEv")] - internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout9getFieldsEj")] + internal static extern void GetFields(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout9addFieldsERNS1_11LayoutFieldE")] + internal static extern void AddFields(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout11clearFieldsEv")] + internal static extern void ClearFields(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout8getBasesEj")] + internal static extern void GetBases(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout8addBasesERNS1_10LayoutBaseE")] + internal static extern void AddBases(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout10clearBasesEv")] + internal static extern void ClearBases(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout16getVFTablesCountEv")] + internal static extern uint GetVFTablesCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout14getFieldsCountEv")] + internal static extern uint GetFieldsCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout13getBasesCountEv")] + internal static extern uint GetBasesCount(global::System.IntPtr __instance); } public global::System.IntPtr __Instance { get; protected set; } protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); protected internal void*[] __OriginalVTables; protected bool __ownsNativeInstance; - internal static global::CppSharp.Parser.AST.FunctionTemplateSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.ClassLayout __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FunctionTemplateSpecialization(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.ClassLayout(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.FunctionTemplateSpecialization __CreateInstance(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.ClassLayout __CreateInstance(global::CppSharp.Parser.AST.ClassLayout.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FunctionTemplateSpecialization(native, skipVTables); + return new global::CppSharp.Parser.AST.ClassLayout(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ClassLayout.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); - global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); + global::CppSharp.Parser.AST.ClassLayout.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native, bool skipVTables = false) + private ClassLayout(global::CppSharp.Parser.AST.ClassLayout.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected FunctionTemplateSpecialization(void* native, bool skipVTables = false) + protected ClassLayout(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public FunctionTemplateSpecialization() + public ClassLayout() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization _0) + public ClassLayout(global::CppSharp.Parser.AST.ClassLayout _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -12228,7 +12336,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.FunctionTemplateSpecialization __dummy; + global::CppSharp.Parser.AST.ClassLayout __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -12237,88 +12345,188 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) + public global::CppSharp.Parser.AST.VFTableInfo GetVFTables(uint i) { - var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); - __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); + var __ret = new global::CppSharp.Parser.AST.VFTableInfo.__Internal(); + __Internal.GetVFTables(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.VFTableInfo.__CreateInstance(__ret); } - public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + public void AddVFTables(global::CppSharp.Parser.AST.VFTableInfo s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); + __Internal.AddVFTables((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearVFTables() + { + __Internal.ClearVFTables((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.LayoutField GetFields(uint i) + { + var __ret = new global::CppSharp.Parser.AST.LayoutField.__Internal(); + __Internal.GetFields(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.LayoutField.__CreateInstance(__ret); + } + + public void AddFields(global::CppSharp.Parser.AST.LayoutField s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddFields((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearFields() + { + __Internal.ClearFields((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.LayoutBase GetBases(uint i) + { + var __ret = new global::CppSharp.Parser.AST.LayoutBase.__Internal(); + __Internal.GetBases(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.LayoutBase.__CreateInstance(__ret); + } + + public void AddBases(global::CppSharp.Parser.AST.LayoutBase s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddBases((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearBases() + { + __Internal.ClearBases((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.CppAbi ABI + { + get + { + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->ABI; + } + + set + { + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->ABI = value; + } + } + + public global::CppSharp.Parser.AST.VTableLayout Layout + { + get + { + return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->layout)); + } + + set + { + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->layout = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.VTableLayout.__Internal() : *(global::CppSharp.Parser.AST.VTableLayout.__Internal*) value.__Instance; + } + } + + public bool HasOwnVFPtr + { + get + { + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->hasOwnVFPtr != 0; + } + + set + { + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->hasOwnVFPtr = (byte) (value ? 1 : 0); + } + } + + public long VBPtrOffset + { + get + { + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->VBPtrOffset; + } + + set + { + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->VBPtrOffset = value; + } } - public void ClearArguments() + public int Alignment { - __Internal.ClearArguments((__Instance + __PointerAdjustment)); + get + { + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->alignment; + } + + set + { + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->alignment = value; + } } - public global::CppSharp.Parser.AST.FunctionTemplate Template + public int Size { get { - global::CppSharp.Parser.AST.FunctionTemplate __result0; - if (((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.FunctionTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template)) - __result0 = (global::CppSharp.Parser.AST.FunctionTemplate) global::CppSharp.Parser.AST.FunctionTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template]; - else __result0 = global::CppSharp.Parser.AST.FunctionTemplate.__CreateInstance(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template); - return __result0; + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->size; } set { - ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*)__Instance)->_template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->size = value; } } - public global::CppSharp.Parser.AST.Function SpecializedFunction + public int DataSize { get { - global::CppSharp.Parser.AST.Function __result0; - if (((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction)) - __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction]; - else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction); - return __result0; + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->dataSize; } set { - ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*)__Instance)->specializedFunction = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->dataSize = value; } } - public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind + public uint VFTablesCount { get { - return ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializationKind; + var __ret = __Internal.GetVFTablesCount((__Instance + __PointerAdjustment)); + return __ret; } + } - set + public uint FieldsCount + { + get { - ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*)__Instance)->specializationKind = value; + var __ret = __Internal.GetFieldsCount((__Instance + __PointerAdjustment)); + return __ret; } } - public uint ArgumentsCount + public uint BasesCount { get { - var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetBasesCount((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class VarTemplate : global::CppSharp.Parser.AST.Template, IDisposable + public unsafe partial class Class : global::CppSharp.Parser.AST.DeclarationContext, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 208)] + [StructLayout(LayoutKind.Explicit, Size = 544)] public new partial struct __Internal { [FieldOffset(0)] @@ -12382,332 +12590,204 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(152)] - internal global::System.IntPtr TemplatedDecl; - - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; - - [FieldOffset(184)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_VarTemplateSpecialization___N_std_S_allocator__S0_ Specializations; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplateC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplateC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplateD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate18getSpecializationsEj")] - internal static extern global::System.IntPtr GetSpecializations(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate18addSpecializationsERPNS1_25VarTemplateSpecializationE")] - internal static extern void AddSpecializations(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate20clearSpecializationsEv")] - internal static extern void ClearSpecializations(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate18FindSpecializationERKSs")] - internal static extern global::System.IntPtr FindSpecialization(global::System.IntPtr __instance, global::System.IntPtr usr); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate25FindPartialSpecializationERKSs")] - internal static extern global::System.IntPtr FindPartialSpecialization(global::System.IntPtr __instance, global::System.IntPtr usr); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate23getSpecializationsCountEv")] - internal static extern uint GetSpecializationsCount(global::System.IntPtr __instance); - } - - internal static new global::CppSharp.Parser.AST.VarTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.VarTemplate(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.VarTemplate __CreateInstance(global::CppSharp.Parser.AST.VarTemplate.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.VarTemplate(native, skipVTables); - } + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; - private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplate.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); - global::CppSharp.Parser.AST.VarTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [FieldOffset(176)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; - private VarTemplate(global::CppSharp.Parser.AST.VarTemplate.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [FieldOffset(200)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; - protected VarTemplate(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [FieldOffset(224)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; - public VarTemplate() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + [FieldOffset(248)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; - public VarTemplate(global::CppSharp.Parser.AST.VarTemplate _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(272)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + [FieldOffset(296)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; - public global::CppSharp.Parser.AST.VarTemplateSpecialization GetSpecializations(uint i) - { - var __ret = __Internal.GetSpecializations((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.VarTemplateSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.VarTemplateSpecialization) global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.VarTemplateSpecialization.__CreateInstance(__ret); - return __result0; - } + [FieldOffset(320)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; - public void AddSpecializations(global::CppSharp.Parser.AST.VarTemplateSpecialization s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddSpecializations((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(344)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; - public void ClearSpecializations() - { - __Internal.ClearSpecializations((__Instance + __PointerAdjustment)); - } + [FieldOffset(368)] + internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; - public global::CppSharp.Parser.AST.VarTemplateSpecialization FindSpecialization(string usr) - { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, usr); - var __arg0 = __basicString0.__Instance; - var __ret = __Internal.FindSpecialization((__Instance + __PointerAdjustment), __arg0); - __basicString0.Dispose(false); - global::CppSharp.Parser.AST.VarTemplateSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.VarTemplateSpecialization) global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.VarTemplateSpecialization.__CreateInstance(__ret); - return __result0; - } + [FieldOffset(416)] + internal byte isAnonymous; - public global::CppSharp.Parser.AST.VarTemplatePartialSpecialization FindPartialSpecialization(string usr) - { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, usr); - var __arg0 = __basicString0.__Instance; - var __ret = __Internal.FindPartialSpecialization((__Instance + __PointerAdjustment), __arg0); - __basicString0.Dispose(false); - global::CppSharp.Parser.AST.VarTemplatePartialSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.VarTemplatePartialSpecialization) global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__CreateInstance(__ret); - return __result0; - } + [FieldOffset(424)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BaseClassSpecifier___N_std_S_allocator__S0_ Bases; - public uint SpecializationsCount - { - get - { - var __ret = __Internal.GetSpecializationsCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - } + [FieldOffset(448)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Field___N_std_S_allocator__S0_ Fields; - public unsafe partial class VarTemplateSpecialization : global::CppSharp.Parser.AST.Variable, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 216)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + [FieldOffset(472)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_S_allocator__S0_ Methods; - [FieldOffset(4)] - internal int maxFieldAlignment; + [FieldOffset(496)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_AccessSpecifierDecl___N_std_S_allocator__S0_ Specifiers; - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + [FieldOffset(520)] + internal byte isPOD; - [FieldOffset(16)] - internal global::System.IntPtr _namespace; + [FieldOffset(521)] + internal byte isAbstract; - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + [FieldOffset(522)] + internal byte isUnion; - [FieldOffset(28)] - internal int lineNumberStart; + [FieldOffset(523)] + internal byte isDynamic; - [FieldOffset(32)] - internal int lineNumberEnd; + [FieldOffset(524)] + internal byte isPolymorphic; - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + [FieldOffset(525)] + internal byte hasNonTrivialDefaultConstructor; - [FieldOffset(48)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + [FieldOffset(526)] + internal byte hasNonTrivialCopyConstructor; - [FieldOffset(56)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + [FieldOffset(527)] + internal byte hasNonTrivialDestructor; - [FieldOffset(64)] - internal byte isIncomplete; + [FieldOffset(528)] + internal byte isExternCContext; - [FieldOffset(65)] - internal byte isDependent; + [FieldOffset(529)] + internal byte isInjected; - [FieldOffset(66)] - internal byte isImplicit; + [FieldOffset(536)] + internal global::System.IntPtr layout; - [FieldOffset(67)] - internal byte isInvalid; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5ClassC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); - [FieldOffset(72)] - internal global::System.IntPtr completeDeclaration; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5ClassC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - [FieldOffset(80)] - internal uint definitionOrder; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5ClassD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); - [FieldOffset(88)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class8getBasesEj")] + internal static extern global::System.IntPtr GetBases(global::System.IntPtr __instance, uint i); - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class8addBasesERPNS1_18BaseClassSpecifierE")] + internal static extern void AddBases(global::System.IntPtr __instance, global::System.IntPtr s); - [FieldOffset(136)] - internal global::System.IntPtr originalPtr; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class10clearBasesEv")] + internal static extern void ClearBases(global::System.IntPtr __instance); - [FieldOffset(144)] - internal global::System.IntPtr comment; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class9getFieldsEj")] + internal static extern global::System.IntPtr GetFields(global::System.IntPtr __instance, uint i); - [FieldOffset(152)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class9addFieldsERPNS1_5FieldE")] + internal static extern void AddFields(global::System.IntPtr __instance, global::System.IntPtr s); - [FieldOffset(160)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class11clearFieldsEv")] + internal static extern void ClearFields(global::System.IntPtr __instance); - [FieldOffset(176)] - internal global::System.IntPtr templatedDecl; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class10getMethodsEj")] + internal static extern global::System.IntPtr GetMethods(global::System.IntPtr __instance, uint i); - [FieldOffset(184)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class10addMethodsERPNS1_6MethodE")] + internal static extern void AddMethods(global::System.IntPtr __instance, global::System.IntPtr s); - [FieldOffset(208)] - internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class12clearMethodsEv")] + internal static extern void ClearMethods(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecializationC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class13getSpecifiersEj")] + internal static extern global::System.IntPtr GetSpecifiers(global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecializationC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class13addSpecifiersERPNS1_19AccessSpecifierDeclE")] + internal static extern void AddSpecifiers(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecializationD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class15clearSpecifiersEv")] + internal static extern void ClearSpecifiers(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecialization12getArgumentsEj")] - internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class13getBasesCountEv")] + internal static extern uint GetBasesCount(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecialization12addArgumentsERNS1_16TemplateArgumentE")] - internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class14getFieldsCountEv")] + internal static extern uint GetFieldsCount(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecialization14clearArgumentsEv")] - internal static extern void ClearArguments(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class15getMethodsCountEv")] + internal static extern uint GetMethodsCount(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecialization17getArgumentsCountEv")] - internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class18getSpecifiersCountEv")] + internal static extern uint GetSpecifiersCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.VarTemplateSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Class __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VarTemplateSpecialization(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Class(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.VarTemplateSpecialization __CreateInstance(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Class __CreateInstance(global::CppSharp.Parser.AST.Class.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VarTemplateSpecialization(native, skipVTables); + return new global::CppSharp.Parser.AST.Class(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Class.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); - global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); + global::CppSharp.Parser.AST.Class.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private VarTemplateSpecialization(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal native, bool skipVTables = false) + private Class(global::CppSharp.Parser.AST.Class.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected VarTemplateSpecialization(void* native, bool skipVTables = false) + protected Class(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -12716,19 +12796,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public VarTemplateSpecialization() + public Class() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public VarTemplateSpecialization(global::CppSharp.Parser.AST.VarTemplateSpecialization _0) + public Class(global::CppSharp.Parser.AST.Class _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -12737,247 +12817,303 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.BaseClassSpecifier GetBases(uint i) + { + var __ret = __Internal.GetBases((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.BaseClassSpecifier __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.BaseClassSpecifier.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.BaseClassSpecifier) global::CppSharp.Parser.AST.BaseClassSpecifier.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.BaseClassSpecifier.__CreateInstance(__ret); + return __result0; + } + + public void AddBases(global::CppSharp.Parser.AST.BaseClassSpecifier s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddBases((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearBases() + { + __Internal.ClearBases((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Field GetFields(uint i) + { + var __ret = __Internal.GetFields((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Field __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Field.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Field) global::CppSharp.Parser.AST.Field.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Field.__CreateInstance(__ret); + return __result0; + } + + public void AddFields(global::CppSharp.Parser.AST.Field s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddFields((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearFields() + { + __Internal.ClearFields((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Method GetMethods(uint i) + { + var __ret = __Internal.GetMethods((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Method __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Method.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Method) global::CppSharp.Parser.AST.Method.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Method.__CreateInstance(__ret); + return __result0; + } + + public void AddMethods(global::CppSharp.Parser.AST.Method s) { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddMethods((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) + public void ClearMethods() { - var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); - __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); + __Internal.ClearMethods((__Instance + __PointerAdjustment)); } - public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + public global::CppSharp.Parser.AST.AccessSpecifierDecl GetSpecifiers(uint i) + { + var __ret = __Internal.GetSpecifiers((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.AccessSpecifierDecl __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.AccessSpecifierDecl.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.AccessSpecifierDecl) global::CppSharp.Parser.AST.AccessSpecifierDecl.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.AccessSpecifierDecl.__CreateInstance(__ret); + return __result0; + } + + public void AddSpecifiers(global::CppSharp.Parser.AST.AccessSpecifierDecl s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); + __Internal.AddSpecifiers((__Instance + __PointerAdjustment), __arg0); } - public void ClearArguments() + public void ClearSpecifiers() { - __Internal.ClearArguments((__Instance + __PointerAdjustment)); + __Internal.ClearSpecifiers((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.VarTemplate TemplatedDecl + public bool IsPOD { get { - global::CppSharp.Parser.AST.VarTemplate __result0; - if (((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.VarTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl)) - __result0 = (global::CppSharp.Parser.AST.VarTemplate) global::CppSharp.Parser.AST.VarTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl]; - else __result0 = global::CppSharp.Parser.AST.VarTemplate.__CreateInstance(((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl); - return __result0; + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isPOD != 0; } set { - ((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*)__Instance)->templatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isPOD = (byte) (value ? 1 : 0); } } - public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind + public bool IsAbstract { get { - return ((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->specializationKind; + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isAbstract != 0; } set { - ((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*)__Instance)->specializationKind = value; + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isAbstract = (byte) (value ? 1 : 0); } } - public uint ArgumentsCount + public bool IsUnion { get { - var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isUnion != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isUnion = (byte) (value ? 1 : 0); } } - } - public unsafe partial class VarTemplatePartialSpecialization : global::CppSharp.Parser.AST.VarTemplateSpecialization, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 216)] - public new partial struct __Internal + public bool IsDynamic { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; - - [FieldOffset(32)] - internal int lineNumberEnd; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(48)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - - [FieldOffset(56)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - - [FieldOffset(64)] - internal byte isIncomplete; - - [FieldOffset(65)] - internal byte isDependent; - - [FieldOffset(66)] - internal byte isImplicit; - - [FieldOffset(67)] - internal byte isInvalid; - - [FieldOffset(72)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(80)] - internal uint definitionOrder; - - [FieldOffset(88)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(112)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - - [FieldOffset(136)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(144)] - internal global::System.IntPtr comment; - - [FieldOffset(152)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isDynamic != 0; + } - [FieldOffset(160)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isDynamic = (byte) (value ? 1 : 0); + } + } - [FieldOffset(176)] - internal global::System.IntPtr templatedDecl; + public bool IsPolymorphic + { + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isPolymorphic != 0; + } - [FieldOffset(184)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isPolymorphic = (byte) (value ? 1 : 0); + } + } - [FieldOffset(208)] - internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; + public bool HasNonTrivialDefaultConstructor + { + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialDefaultConstructor != 0; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST32VarTemplatePartialSpecializationC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->hasNonTrivialDefaultConstructor = (byte) (value ? 1 : 0); + } + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST32VarTemplatePartialSpecializationC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + public bool HasNonTrivialCopyConstructor + { + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialCopyConstructor != 0; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST32VarTemplatePartialSpecializationD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->hasNonTrivialCopyConstructor = (byte) (value ? 1 : 0); + } } - internal static new global::CppSharp.Parser.AST.VarTemplatePartialSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public bool HasNonTrivialDestructor { - return new global::CppSharp.Parser.AST.VarTemplatePartialSpecialization(native.ToPointer(), skipVTables); + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialDestructor != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->hasNonTrivialDestructor = (byte) (value ? 1 : 0); + } } - internal static global::CppSharp.Parser.AST.VarTemplatePartialSpecialization __CreateInstance(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal native, bool skipVTables = false) + public bool IsExternCContext { - return new global::CppSharp.Parser.AST.VarTemplatePartialSpecialization(native, skipVTables); + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isExternCContext != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isExternCContext = (byte) (value ? 1 : 0); + } } - private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal native) + public bool IsInjected { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); - global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isInjected != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isInjected = (byte) (value ? 1 : 0); + } } - private VarTemplatePartialSpecialization(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + public global::CppSharp.Parser.AST.ClassLayout Layout { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + get + { + global::CppSharp.Parser.AST.ClassLayout __result0; + if (((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ClassLayout.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout)) + __result0 = (global::CppSharp.Parser.AST.ClassLayout) global::CppSharp.Parser.AST.ClassLayout.NativeToManagedMap[((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout]; + else __result0 = global::CppSharp.Parser.AST.ClassLayout.__CreateInstance(((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->layout = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } } - protected VarTemplatePartialSpecialization(void* native, bool skipVTables = false) - : base((void*) null) + public uint BasesCount { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); + get + { + var __ret = __Internal.GetBasesCount((__Instance + __PointerAdjustment)); + return __ret; + } } - public VarTemplatePartialSpecialization() - : this((void*) null) + public uint FieldsCount { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + get + { + var __ret = __Internal.GetFieldsCount((__Instance + __PointerAdjustment)); + return __ret; + } } - public VarTemplatePartialSpecialization(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization _0) - : this((void*) null) + public uint MethodsCount { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + get + { + var __ret = __Internal.GetMethodsCount((__Instance + __PointerAdjustment)); + return __ret; + } } - public override void Dispose(bool disposing) + public uint SpecifiersCount { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + get + { + var __ret = __Internal.GetSpecifiersCount((__Instance + __PointerAdjustment)); + return __ret; + } } } - public unsafe partial class Namespace : global::CppSharp.Parser.AST.DeclarationContext, IDisposable + public unsafe partial class Template : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 424)] + [StructLayout(LayoutKind.Explicit, Size = 184)] public new partial struct __Internal { [FieldOffset(0)] @@ -13041,82 +13177,77 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(152)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; - - [FieldOffset(176)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; - - [FieldOffset(200)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; - - [FieldOffset(224)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; - - [FieldOffset(248)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; - - [FieldOffset(272)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; + internal global::System.IntPtr TemplatedDecl; - [FieldOffset(296)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; - [FieldOffset(320)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateC2ENS1_15DeclarationKindE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.DeclarationKind kind); - [FieldOffset(344)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); - [FieldOffset(368)] - internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - [FieldOffset(416)] - internal byte isAnonymous; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); - [FieldOffset(417)] - internal byte isInline; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Template13getParametersEj")] + internal static extern global::System.IntPtr GetParameters(global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST8Template13addParametersERPNS1_11DeclarationE")] + internal static extern void AddParameters(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST8Template15clearParametersEv")] + internal static extern void ClearParameters(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST8Template18getParametersCountEv")] + internal static extern uint GetParametersCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.Namespace __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Template __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Namespace(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Template(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Namespace __CreateInstance(global::CppSharp.Parser.AST.Namespace.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Template __CreateInstance(global::CppSharp.Parser.AST.Template.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Namespace(native, skipVTables); + return new global::CppSharp.Parser.AST.Template(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Namespace.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Template.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); - global::CppSharp.Parser.AST.Namespace.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + global::CppSharp.Parser.AST.Template.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Namespace(global::CppSharp.Parser.AST.Namespace.__Internal native, bool skipVTables = false) + private Template(global::CppSharp.Parser.AST.Template.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Namespace(void* native, bool skipVTables = false) + protected Template(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -13125,19 +13256,28 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Namespace() + public Template(global::CppSharp.Parser.AST.DeclarationKind kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), kind); + } + + public Template() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public Namespace(global::CppSharp.Parser.AST.Namespace _0) + public Template(global::CppSharp.Parser.AST.Template _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -13159,223 +13299,333 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public bool IsInline + public global::CppSharp.Parser.AST.Declaration GetParameters(uint i) + { + var __ret = __Internal.GetParameters((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Declaration __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(__ret); + return __result0; + } + + public void AddParameters(global::CppSharp.Parser.AST.Declaration s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddParameters((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearParameters() + { + __Internal.ClearParameters((__Instance + __PointerAdjustment)); + } + + public static implicit operator global::CppSharp.Parser.AST.Template(global::CppSharp.Parser.AST.DeclarationKind kind) + { + return new global::CppSharp.Parser.AST.Template(kind); + } + + public global::CppSharp.Parser.AST.Declaration TemplatedDecl { get { - return ((global::CppSharp.Parser.AST.Namespace.__Internal*) __Instance)->isInline != 0; + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl); + return __result0; } - set - { - ((global::CppSharp.Parser.AST.Namespace.__Internal*)__Instance)->isInline = (byte) (value ? 1 : 0); - } - } - } + set + { + ((global::CppSharp.Parser.AST.Template.__Internal*)__Instance)->TemplatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public uint ParametersCount + { + get + { + var __ret = __Internal.GetParametersCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class TypeAliasTemplate : global::CppSharp.Parser.AST.Template, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 184)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(48)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(64)] + internal byte isIncomplete; + + [FieldOffset(65)] + internal byte isDependent; + + [FieldOffset(66)] + internal byte isImplicit; + + [FieldOffset(67)] + internal byte isInvalid; + + [FieldOffset(72)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(80)] + internal uint definitionOrder; - public unsafe partial class PreprocessedEntity : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 24)] - public partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.MacroLocation macroLocation; + [FieldOffset(88)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - [FieldOffset(8)] + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(136)] internal global::System.IntPtr originalPtr; - [FieldOffset(16)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + [FieldOffset(144)] + internal global::System.IntPtr comment; + + [FieldOffset(152)] + internal global::System.IntPtr TemplatedDecl; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18PreprocessedEntityC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST17TypeAliasTemplateC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18PreprocessedEntityC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST17TypeAliasTemplateC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - } - - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; - protected bool __ownsNativeInstance; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17TypeAliasTemplateD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + } - internal static global::CppSharp.Parser.AST.PreprocessedEntity __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TypeAliasTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.PreprocessedEntity(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TypeAliasTemplate(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.PreprocessedEntity __CreateInstance(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TypeAliasTemplate __CreateInstance(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.PreprocessedEntity(native, skipVTables); + return new global::CppSharp.Parser.AST.TypeAliasTemplate(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); - *(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) ret = native; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); + global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native, bool skipVTables = false) + private TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected PreprocessedEntity(void* native, bool skipVTables = false) + protected TypeAliasTemplate(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public PreprocessedEntity() + public TypeAliasTemplate() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity _0) + public TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) _0.__Instance); - } - - public void Dispose() - { - Dispose(disposing: true); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.PreprocessedEntity __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - - public global::CppSharp.Parser.AST.MacroLocation MacroLocation - { - get - { - return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->macroLocation; - } - - set - { - ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*)__Instance)->macroLocation = value; - } - } - - public global::System.IntPtr OriginalPtr - { - get - { - return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->originalPtr; - } - - set - { - ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*)__Instance)->originalPtr = (global::System.IntPtr) value; - } - } - - public global::CppSharp.Parser.AST.DeclarationKind Kind - { - get - { - return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->kind; - } - - set - { - ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*)__Instance)->kind = value; - } - } } - public unsafe partial class MacroDefinition : global::CppSharp.Parser.AST.PreprocessedEntity, IDisposable + public unsafe partial class TemplateParameter : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 168)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.MacroLocation macroLocation; + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::System.IntPtr originalPtr; + internal global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(16)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::System.IntPtr _namespace; [FieldOffset(24)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; [FieldOffset(32)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C expression; + internal int lineNumberEnd; [FieldOffset(40)] - internal int lineNumberStart; + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - [FieldOffset(44)] - internal int lineNumberEnd; + [FieldOffset(48)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(64)] + internal byte isIncomplete; + + [FieldOffset(65)] + internal byte isDependent; + + [FieldOffset(66)] + internal byte isImplicit; + + [FieldOffset(67)] + internal byte isInvalid; + + [FieldOffset(72)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(80)] + internal uint definitionOrder; + + [FieldOffset(88)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(136)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(144)] + internal global::System.IntPtr comment; + + [FieldOffset(152)] + internal uint depth; + + [FieldOffset(156)] + internal uint index; + + [FieldOffset(160)] + internal byte isParameterPack; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15MacroDefinitionC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterC2ENS1_15DeclarationKindE")] + internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.DeclarationKind kind); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15MacroDefinitionC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15MacroDefinitionD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.MacroDefinition __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.MacroDefinition(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TemplateParameter(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.MacroDefinition __CreateInstance(global::CppSharp.Parser.AST.MacroDefinition.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TemplateParameter.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.MacroDefinition(native, skipVTables); + return new global::CppSharp.Parser.AST.TemplateParameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.MacroDefinition.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameter.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); - global::CppSharp.Parser.AST.MacroDefinition.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); + global::CppSharp.Parser.AST.TemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private MacroDefinition(global::CppSharp.Parser.AST.MacroDefinition.__Internal native, bool skipVTables = false) + private TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected MacroDefinition(void* native, bool skipVTables = false) + protected TemplateParameter(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -13384,19 +13634,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public MacroDefinition() + public TemplateParameter(global::CppSharp.Parser.AST.DeclarationKind kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + __Internal.ctor((__Instance + __PointerAdjustment), kind); } - public MacroDefinition(global::CppSharp.Parser.AST.MacroDefinition _0) + public TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -13409,7 +13659,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.PreprocessedEntity __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -13418,129 +13668,172 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public string Name - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->name)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->name), value); - } + public static implicit operator global::CppSharp.Parser.AST.TemplateParameter(global::CppSharp.Parser.AST.DeclarationKind kind) + { + return new global::CppSharp.Parser.AST.TemplateParameter(kind); } - public string Expression + public uint Depth { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->expression)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->depth; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->expression), value); + ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*)__Instance)->depth = value; } } - public int LineNumberStart + public uint Index { get { - return ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->lineNumberStart; + return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->index; } set { - ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->lineNumberStart = value; + ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*)__Instance)->index = value; } } - public int LineNumberEnd + public bool IsParameterPack { get { - return ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->lineNumberEnd; + return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->isParameterPack != 0; } set { - ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->lineNumberEnd = value; + ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*)__Instance)->isParameterPack = (byte) (value ? 1 : 0); } } } - public unsafe partial class MacroExpansion : global::CppSharp.Parser.AST.PreprocessedEntity, IDisposable + public unsafe partial class TemplateTemplateParameter : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 192)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.MacroLocation macroLocation; + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::System.IntPtr originalPtr; + internal global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(16)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::System.IntPtr _namespace; [FieldOffset(24)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; [FieldOffset(32)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; + internal int lineNumberEnd; [FieldOffset(40)] - internal global::System.IntPtr definition; + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(48)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(64)] + internal byte isIncomplete; + + [FieldOffset(65)] + internal byte isDependent; + + [FieldOffset(66)] + internal byte isImplicit; + + [FieldOffset(67)] + internal byte isInvalid; + + [FieldOffset(72)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(80)] + internal uint definitionOrder; + + [FieldOffset(88)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(136)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(144)] + internal global::System.IntPtr comment; + + [FieldOffset(152)] + internal global::System.IntPtr TemplatedDecl; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; + + [FieldOffset(184)] + internal byte isParameterPack; + + [FieldOffset(185)] + internal byte isPackExpansion; + + [FieldOffset(186)] + internal byte isExpandedParameterPack; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14MacroExpansionC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14MacroExpansionC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14MacroExpansionD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.MacroExpansion __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TemplateTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.MacroExpansion(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TemplateTemplateParameter(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.MacroExpansion __CreateInstance(global::CppSharp.Parser.AST.MacroExpansion.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TemplateTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.MacroExpansion(native, skipVTables); + return new global::CppSharp.Parser.AST.TemplateTemplateParameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.MacroExpansion.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); - global::CppSharp.Parser.AST.MacroExpansion.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); + global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private MacroExpansion(global::CppSharp.Parser.AST.MacroExpansion.__Internal native, bool skipVTables = false) + private TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected MacroExpansion(void* native, bool skipVTables = false) + protected TemplateTemplateParameter(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -13549,19 +13842,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public MacroExpansion() + public TemplateTemplateParameter() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public MacroExpansion(global::CppSharp.Parser.AST.MacroExpansion _0) + public TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -13574,7 +13867,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.PreprocessedEntity __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -13583,60 +13876,49 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public string Name + public bool IsParameterPack { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->name)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isParameterPack != 0; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*)__Instance)->name), value); + ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*)__Instance)->isParameterPack = (byte) (value ? 1 : 0); } } - public string Text + public bool IsPackExpansion { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->text)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isPackExpansion != 0; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*)__Instance)->text), value); + ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*)__Instance)->isPackExpansion = (byte) (value ? 1 : 0); } } - public global::CppSharp.Parser.AST.MacroDefinition Definition + public bool IsExpandedParameterPack { get { - global::CppSharp.Parser.AST.MacroDefinition __result0; - if (((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition)) - __result0 = (global::CppSharp.Parser.AST.MacroDefinition) global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap[((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition]; - else __result0 = global::CppSharp.Parser.AST.MacroDefinition.__CreateInstance(((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition); - return __result0; + return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack != 0; } set { - ((global::CppSharp.Parser.AST.MacroExpansion.__Internal*)__Instance)->definition = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*)__Instance)->isExpandedParameterPack = (byte) (value ? 1 : 0); } } } - public unsafe partial class TranslationUnit : global::CppSharp.Parser.AST.Namespace, IDisposable + public unsafe partial class TypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 464)] + [StructLayout(LayoutKind.Explicit, Size = 184)] public new partial struct __Internal { [FieldOffset(0)] @@ -13700,111 +13982,58 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(152)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; - - [FieldOffset(176)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; - - [FieldOffset(200)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; - - [FieldOffset(224)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; - - [FieldOffset(248)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; - - [FieldOffset(272)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; - - [FieldOffset(296)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; - - [FieldOffset(320)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; - - [FieldOffset(344)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; - - [FieldOffset(368)] - internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; - - [FieldOffset(416)] - internal byte isAnonymous; - - [FieldOffset(417)] - internal byte isInline; + internal uint depth; - [FieldOffset(424)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C fileName; + [FieldOffset(156)] + internal uint index; - [FieldOffset(432)] - internal byte isSystemHeader; + [FieldOffset(160)] + internal byte isParameterPack; - [FieldOffset(440)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_MacroDefinition___N_std_S_allocator__S0_ Macros; + [FieldOffset(168)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal defaultArgument; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnitC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST21TypeTemplateParameterC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnitC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST21TypeTemplateParameterC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnitD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST21TypeTemplateParameterD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnit9getMacrosEj")] - internal static extern global::System.IntPtr GetMacros(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnit9addMacrosERPNS1_15MacroDefinitionE")] - internal static extern void AddMacros(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnit11clearMacrosEv")] - internal static extern void ClearMacros(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnit14getMacrosCountEv")] - internal static extern uint GetMacrosCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.TranslationUnit __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TypeTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TranslationUnit(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TypeTemplateParameter(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TranslationUnit __CreateInstance(global::CppSharp.Parser.AST.TranslationUnit.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TypeTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TranslationUnit(native, skipVTables); + return new global::CppSharp.Parser.AST.TypeTemplateParameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TranslationUnit.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); - global::CppSharp.Parser.AST.TranslationUnit.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); + global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TranslationUnit(global::CppSharp.Parser.AST.TranslationUnit.__Internal native, bool skipVTables = false) + private TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TranslationUnit(void* native, bool skipVTables = false) + protected TypeTemplateParameter(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -13813,19 +14042,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TranslationUnit() + public TypeTemplateParameter() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TranslationUnit(global::CppSharp.Parser.AST.TranslationUnit _0) + public TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -13847,192 +14076,171 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.MacroDefinition GetMacros(uint i) - { - var __ret = __Internal.GetMacros((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.MacroDefinition __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.MacroDefinition) global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.MacroDefinition.__CreateInstance(__ret); - return __result0; - } - - public void AddMacros(global::CppSharp.Parser.AST.MacroDefinition s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddMacros((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearMacros() - { - __Internal.ClearMacros((__Instance + __PointerAdjustment)); - } - - public string FileName - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TranslationUnit.__Internal*) __Instance)->fileName)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TranslationUnit.__Internal*)__Instance)->fileName), value); - } - } - - public bool IsSystemHeader + public global::CppSharp.Parser.AST.QualifiedType DefaultArgument { get { - return ((global::CppSharp.Parser.AST.TranslationUnit.__Internal*) __Instance)->isSystemHeader != 0; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal*) __Instance)->defaultArgument)); } set { - ((global::CppSharp.Parser.AST.TranslationUnit.__Internal*)__Instance)->isSystemHeader = (byte) (value ? 1 : 0); - } - } - - public uint MacrosCount - { - get - { - var __ret = __Internal.GetMacrosCount((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal*)__Instance)->defaultArgument = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } } - public unsafe partial class NativeLibrary : IDisposable + public unsafe partial class NonTypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 64)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 192)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C fileName; + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.ArchType archType; + internal global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(16)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C___N_std_S_allocator__S0_ Symbols; + internal global::System.IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; [FieldOffset(40)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C___N_std_S_allocator__S0_ Dependencies; + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibraryC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + [FieldOffset(48)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibraryC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibraryD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); + [FieldOffset(64)] + internal byte isIncomplete; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary10getSymbolsEj")] - internal static extern global::System.IntPtr GetSymbols(global::System.IntPtr __instance, uint i); + [FieldOffset(65)] + internal byte isDependent; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary10addSymbolsEPKc")] - internal static extern void AddSymbols(global::System.IntPtr __instance, [MarshalAs(UnmanagedType.LPStr)] string s); + [FieldOffset(66)] + internal byte isImplicit; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary12clearSymbolsEv")] - internal static extern void ClearSymbols(global::System.IntPtr __instance); + [FieldOffset(67)] + internal byte isInvalid; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary15getDependenciesEj")] - internal static extern global::System.IntPtr GetDependencies(global::System.IntPtr __instance, uint i); + [FieldOffset(72)] + internal global::System.IntPtr completeDeclaration; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary15addDependenciesEPKc")] - internal static extern void AddDependencies(global::System.IntPtr __instance, [MarshalAs(UnmanagedType.LPStr)] string s); + [FieldOffset(80)] + internal uint definitionOrder; + + [FieldOffset(88)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(136)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(144)] + internal global::System.IntPtr comment; + + [FieldOffset(152)] + internal uint depth; + + [FieldOffset(156)] + internal uint index; + + [FieldOffset(160)] + internal byte isParameterPack; + + [FieldOffset(168)] + internal global::System.IntPtr defaultArgument; + + [FieldOffset(176)] + internal global::System.IntPtr defaultArgumentNew; + + [FieldOffset(184)] + internal uint position; + + [FieldOffset(188)] + internal byte isPackExpansion; + + [FieldOffset(189)] + internal byte isExpandedParameterPack; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary17clearDependenciesEv")] - internal static extern void ClearDependencies(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary15getSymbolsCountEv")] - internal static extern uint GetSymbolsCount(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary20getDependenciesCountEv")] - internal static extern uint GetDependenciesCount(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); } - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.NativeLibrary __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.NonTypeTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.NativeLibrary(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.NonTypeTemplateParameter(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.NativeLibrary __CreateInstance(global::CppSharp.Parser.AST.NativeLibrary.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.NonTypeTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.NativeLibrary(native, skipVTables); + return new global::CppSharp.Parser.AST.NonTypeTemplateParameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.NativeLibrary.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); - global::CppSharp.Parser.AST.NativeLibrary.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); + global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private NativeLibrary(global::CppSharp.Parser.AST.NativeLibrary.__Internal native, bool skipVTables = false) + private NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected NativeLibrary(void* native, bool skipVTables = false) + protected NonTypeTemplateParameter(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public NativeLibrary() + public NonTypeTemplateParameter() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public NativeLibrary(global::CppSharp.Parser.AST.NativeLibrary _0) + public NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -14041,16 +14249,11 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.NativeLibrary __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -14059,185 +14262,248 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public string GetSymbols(uint i) - { - var __ret = __Internal.GetSymbols((__Instance + __PointerAdjustment), i); - return Marshal.PtrToStringAnsi(__ret); - } - - public void AddSymbols(string s) - { - __Internal.AddSymbols((__Instance + __PointerAdjustment), s); - } - - public void ClearSymbols() - { - __Internal.ClearSymbols((__Instance + __PointerAdjustment)); - } - - public string GetDependencies(uint i) - { - var __ret = __Internal.GetDependencies((__Instance + __PointerAdjustment), i); - return Marshal.PtrToStringAnsi(__ret); - } - - public void AddDependencies(string s) + public global::CppSharp.Parser.AST.ExpressionObsolete DefaultArgument { - __Internal.AddDependencies((__Instance + __PointerAdjustment), s); - } + get + { + global::CppSharp.Parser.AST.ExpressionObsolete __result0; + if (((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ExpressionObsolete.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument)) + __result0 = (global::CppSharp.Parser.AST.ExpressionObsolete) global::CppSharp.Parser.AST.ExpressionObsolete.NativeToManagedMap[((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument]; + else __result0 = global::CppSharp.Parser.AST.ExpressionObsolete.__CreateInstance(((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument); + return __result0; + } - public void ClearDependencies() - { - __Internal.ClearDependencies((__Instance + __PointerAdjustment)); + set + { + ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->defaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } } - public string FileName + public global::CppSharp.Parser.AST.Expr DefaultArgumentNew { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.NativeLibrary.__Internal*) __Instance)->fileName)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgumentNew == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgumentNew)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgumentNew]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgumentNew); + return __result0; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.NativeLibrary.__Internal*)__Instance)->fileName), value); + ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->defaultArgumentNew = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public global::CppSharp.Parser.AST.ArchType ArchType + public uint Position { get { - return ((global::CppSharp.Parser.AST.NativeLibrary.__Internal*) __Instance)->archType; + return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->position; } set { - ((global::CppSharp.Parser.AST.NativeLibrary.__Internal*)__Instance)->archType = value; + ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->position = value; } } - public uint SymbolsCount + public bool IsPackExpansion { get { - var __ret = __Internal.GetSymbolsCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->isPackExpansion != 0; + } + + set + { + ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->isPackExpansion = (byte) (value ? 1 : 0); } } - public uint DependenciesCount + public bool IsExpandedParameterPack { get { - var __ret = __Internal.GetDependenciesCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack != 0; + } + + set + { + ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->isExpandedParameterPack = (byte) (value ? 1 : 0); } } } - public unsafe partial class ASTContext : IDisposable + public unsafe partial class ClassTemplate : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 24)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 208)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TranslationUnit___N_std_S_allocator__S0_ TranslationUnits; + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(48)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(64)] + internal byte isIncomplete; + + [FieldOffset(65)] + internal byte isDependent; + + [FieldOffset(66)] + internal byte isImplicit; + + [FieldOffset(67)] + internal byte isInvalid; + + [FieldOffset(72)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(80)] + internal uint definitionOrder; + + [FieldOffset(88)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(136)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(144)] + internal global::System.IntPtr comment; + + [FieldOffset(152)] + internal global::System.IntPtr TemplatedDecl; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; + + [FieldOffset(184)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_ClassTemplateSpecialization___N_std_S_allocator__S0_ Specializations; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContextC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplateC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContextC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplateC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContextD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplateD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext18FindOrCreateModuleESs")] - internal static extern global::System.IntPtr FindOrCreateModule(global::System.IntPtr __instance, global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C File); + EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate18getSpecializationsEj")] + internal static extern global::System.IntPtr GetSpecializations(global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext19getTranslationUnitsEj")] - internal static extern global::System.IntPtr GetTranslationUnits(global::System.IntPtr __instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate18addSpecializationsERPNS1_27ClassTemplateSpecializationE")] + internal static extern void AddSpecializations(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext19addTranslationUnitsERPNS1_15TranslationUnitE")] - internal static extern void AddTranslationUnits(global::System.IntPtr __instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate20clearSpecializationsEv")] + internal static extern void ClearSpecializations(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext21clearTranslationUnitsEv")] - internal static extern void ClearTranslationUnits(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate18FindSpecializationERKSs")] + internal static extern global::System.IntPtr FindSpecialization(global::System.IntPtr __instance, global::System.IntPtr usr); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext24getTranslationUnitsCountEv")] - internal static extern uint GetTranslationUnitsCount(global::System.IntPtr __instance); - } - - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; + EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate25FindPartialSpecializationERKSs")] + internal static extern global::System.IntPtr FindPartialSpecialization(global::System.IntPtr __instance, global::System.IntPtr usr); - protected bool __ownsNativeInstance; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate23getSpecializationsCountEv")] + internal static extern uint GetSpecializationsCount(global::System.IntPtr __instance); + } - internal static global::CppSharp.Parser.AST.ASTContext __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.ClassTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ASTContext(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.ClassTemplate(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.ASTContext __CreateInstance(global::CppSharp.Parser.AST.ASTContext.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.ClassTemplate __CreateInstance(global::CppSharp.Parser.AST.ClassTemplate.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ASTContext(native, skipVTables); + return new global::CppSharp.Parser.AST.ClassTemplate(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ASTContext.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplate.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); - global::CppSharp.Parser.AST.ASTContext.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal)); + global::CppSharp.Parser.AST.ClassTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private ASTContext(global::CppSharp.Parser.AST.ASTContext.__Internal native, bool skipVTables = false) + private ClassTemplate(global::CppSharp.Parser.AST.ClassTemplate.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected ASTContext(void* native, bool skipVTables = false) + protected ClassTemplate(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public ASTContext() + public ClassTemplate() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public ASTContext(global::CppSharp.Parser.AST.ASTContext _0) + public ClassTemplate(global::CppSharp.Parser.AST.ClassTemplate _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -14246,16 +14512,11 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.ASTContext __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -14264,213 +14525,283 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TranslationUnit FindOrCreateModule(string File) - { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, File); - var __arg0 = *(global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C*) __basicString0.__Instance; - var __ret = __Internal.FindOrCreateModule((__Instance + __PointerAdjustment), __arg0); - __basicString0.Dispose(false); - global::CppSharp.Parser.AST.TranslationUnit __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.TranslationUnit) global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.TranslationUnit.__CreateInstance(__ret); - return __result0; - } - - public global::CppSharp.Parser.AST.TranslationUnit GetTranslationUnits(uint i) + public global::CppSharp.Parser.AST.ClassTemplateSpecialization GetSpecializations(uint i) { - var __ret = __Internal.GetTranslationUnits((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.TranslationUnit __result0; + var __ret = __Internal.GetSpecializations((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.ClassTemplateSpecialization __result0; if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.TranslationUnit) global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.TranslationUnit.__CreateInstance(__ret); + else if (global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.ClassTemplateSpecialization) global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.ClassTemplateSpecialization.__CreateInstance(__ret); return __result0; } - public void AddTranslationUnits(global::CppSharp.Parser.AST.TranslationUnit s) + public void AddSpecializations(global::CppSharp.Parser.AST.ClassTemplateSpecialization s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddTranslationUnits((__Instance + __PointerAdjustment), __arg0); + __Internal.AddSpecializations((__Instance + __PointerAdjustment), __arg0); } - public void ClearTranslationUnits() + public void ClearSpecializations() { - __Internal.ClearTranslationUnits((__Instance + __PointerAdjustment)); + __Internal.ClearSpecializations((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.ClassTemplateSpecialization FindSpecialization(string usr) + { + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, usr); + var __arg0 = __basicString0.__Instance; + var __ret = __Internal.FindSpecialization((__Instance + __PointerAdjustment), __arg0); + __basicString0.Dispose(false); + global::CppSharp.Parser.AST.ClassTemplateSpecialization __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.ClassTemplateSpecialization) global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.ClassTemplateSpecialization.__CreateInstance(__ret); + return __result0; + } + + public global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization FindPartialSpecialization(string usr) + { + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, usr); + var __arg0 = __basicString0.__Instance; + var __ret = __Internal.FindPartialSpecialization((__Instance + __PointerAdjustment), __arg0); + __basicString0.Dispose(false); + global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization) global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__CreateInstance(__ret); + return __result0; } - public uint TranslationUnitsCount + public uint SpecializationsCount { get { - var __ret = __Internal.GetTranslationUnitsCount((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetSpecializationsCount((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class Comment : IDisposable + public unsafe partial class ClassTemplateSpecialization : global::CppSharp.Parser.AST.Class, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 4)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 584)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST7CommentC2ENS1_11CommentKindE")] - internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.CommentKind kind); + [FieldOffset(4)] + internal int maxFieldAlignment; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST7CommentC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - } + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; - public global::System.IntPtr __Instance { get; protected set; } + [FieldOffset(16)] + internal global::System.IntPtr _namespace; - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; - protected bool __ownsNativeInstance; + [FieldOffset(28)] + internal int lineNumberStart; - internal static global::CppSharp.Parser.AST.Comment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Comment(native.ToPointer(), skipVTables); - } + [FieldOffset(32)] + internal int lineNumberEnd; - internal static global::CppSharp.Parser.AST.Comment __CreateInstance(global::CppSharp.Parser.AST.Comment.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Comment(native, skipVTables); - } + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - private static void* __CopyValue(global::CppSharp.Parser.AST.Comment.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); - *(global::CppSharp.Parser.AST.Comment.__Internal*) ret = native; - return ret.ToPointer(); - } + [FieldOffset(48)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - private Comment(global::CppSharp.Parser.AST.Comment.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - protected Comment(void* native, bool skipVTables = false) - { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [FieldOffset(64)] + internal byte isIncomplete; - public Comment(global::CppSharp.Parser.AST.CommentKind kind) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), kind); - } + [FieldOffset(65)] + internal byte isDependent; - public Comment(global::CppSharp.Parser.AST.Comment _0) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.Comment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.Comment.__Internal*) _0.__Instance); - } + [FieldOffset(66)] + internal byte isImplicit; - public void Dispose() - { - Dispose(disposing: true); - } + [FieldOffset(67)] + internal byte isInvalid; - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Comment __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + [FieldOffset(72)] + internal global::System.IntPtr completeDeclaration; - public static implicit operator global::CppSharp.Parser.AST.Comment(global::CppSharp.Parser.AST.CommentKind kind) - { - return new global::CppSharp.Parser.AST.Comment(kind); - } + [FieldOffset(80)] + internal uint definitionOrder; - public global::CppSharp.Parser.AST.CommentKind Kind - { - get - { - return ((global::CppSharp.Parser.AST.Comment.__Internal*) __Instance)->kind; - } + [FieldOffset(88)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - set - { - ((global::CppSharp.Parser.AST.Comment.__Internal*)__Instance)->kind = value; - } - } - } + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - public unsafe partial class BlockContentComment : global::CppSharp.Parser.AST.Comment, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 4)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + [FieldOffset(136)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(144)] + internal global::System.IntPtr comment; + + [FieldOffset(152)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; + + [FieldOffset(176)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; + + [FieldOffset(200)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; + + [FieldOffset(224)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; + + [FieldOffset(248)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; + + [FieldOffset(272)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; + + [FieldOffset(296)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; + + [FieldOffset(320)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; + + [FieldOffset(344)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; + + [FieldOffset(368)] + internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + + [FieldOffset(416)] + internal byte isAnonymous; + + [FieldOffset(424)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BaseClassSpecifier___N_std_S_allocator__S0_ Bases; + + [FieldOffset(448)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Field___N_std_S_allocator__S0_ Fields; + + [FieldOffset(472)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_S_allocator__S0_ Methods; + + [FieldOffset(496)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_AccessSpecifierDecl___N_std_S_allocator__S0_ Specifiers; + + [FieldOffset(520)] + internal byte isPOD; + + [FieldOffset(521)] + internal byte isAbstract; + + [FieldOffset(522)] + internal byte isUnion; + + [FieldOffset(523)] + internal byte isDynamic; + + [FieldOffset(524)] + internal byte isPolymorphic; + + [FieldOffset(525)] + internal byte hasNonTrivialDefaultConstructor; + + [FieldOffset(526)] + internal byte hasNonTrivialCopyConstructor; + + [FieldOffset(527)] + internal byte hasNonTrivialDestructor; + + [FieldOffset(528)] + internal byte isExternCContext; + + [FieldOffset(529)] + internal byte isInjected; + + [FieldOffset(536)] + internal global::System.IntPtr layout; + + [FieldOffset(544)] + internal global::System.IntPtr templatedDecl; + + [FieldOffset(552)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; + + [FieldOffset(576)] + internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19BlockContentCommentC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecializationC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19BlockContentCommentC2ENS1_11CommentKindE")] - internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.CommentKind Kind); + EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecializationC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecializationD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecialization12getArgumentsEj")] + internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecialization12addArgumentsERNS1_16TemplateArgumentE")] + internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecialization14clearArgumentsEv")] + internal static extern void ClearArguments(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19BlockContentCommentC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecialization17getArgumentsCountEv")] + internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.BlockContentComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.ClassTemplateSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BlockContentComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.ClassTemplateSpecialization(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.BlockContentComment __CreateInstance(global::CppSharp.Parser.AST.BlockContentComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.ClassTemplateSpecialization __CreateInstance(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BlockContentComment(native, skipVTables); + return new global::CppSharp.Parser.AST.ClassTemplateSpecialization(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.BlockContentComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); - *(global::CppSharp.Parser.AST.BlockContentComment.__Internal*) ret = native; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); + global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private BlockContentComment(global::CppSharp.Parser.AST.BlockContentComment.__Internal native, bool skipVTables = false) + private ClassTemplateSpecialization(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected BlockContentComment(void* native, bool skipVTables = false) + protected ClassTemplateSpecialization(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -14479,111 +14810,294 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public BlockContentComment() + public ClassTemplateSpecialization() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public BlockContentComment(global::CppSharp.Parser.AST.CommentKind Kind) + public ClassTemplateSpecialization(global::CppSharp.Parser.AST.ClassTemplateSpecialization _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), Kind); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public BlockContentComment(global::CppSharp.Parser.AST.BlockContentComment _0) - : this((void*) null) + public override void Dispose(bool disposing) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.BlockContentComment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BlockContentComment.__Internal*) _0.__Instance); + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) + { + var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); + __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); + } + + public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearArguments() + { + __Internal.ClearArguments((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.ClassTemplate TemplatedDecl + { + get + { + global::CppSharp.Parser.AST.ClassTemplate __result0; + if (((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ClassTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl)) + __result0 = (global::CppSharp.Parser.AST.ClassTemplate) global::CppSharp.Parser.AST.ClassTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl]; + else __result0 = global::CppSharp.Parser.AST.ClassTemplate.__CreateInstance(((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*)__Instance)->templatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind + { + get + { + return ((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->specializationKind; + } + + set + { + ((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*)__Instance)->specializationKind = value; + } + } + + public uint ArgumentsCount + { + get + { + var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); + return __ret; + } } + } + + public unsafe partial class ClassTemplatePartialSpecialization : global::CppSharp.Parser.AST.ClassTemplateSpecialization, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 584)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(48)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(64)] + internal byte isIncomplete; + + [FieldOffset(65)] + internal byte isDependent; + + [FieldOffset(66)] + internal byte isImplicit; + + [FieldOffset(67)] + internal byte isInvalid; + + [FieldOffset(72)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(80)] + internal uint definitionOrder; + + [FieldOffset(88)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(136)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(144)] + internal global::System.IntPtr comment; + + [FieldOffset(152)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; + + [FieldOffset(176)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; + + [FieldOffset(200)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; + + [FieldOffset(224)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; + + [FieldOffset(248)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; + + [FieldOffset(272)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; + + [FieldOffset(296)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; + + [FieldOffset(320)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; + + [FieldOffset(344)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; + + [FieldOffset(368)] + internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + + [FieldOffset(416)] + internal byte isAnonymous; + + [FieldOffset(424)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BaseClassSpecifier___N_std_S_allocator__S0_ Bases; + + [FieldOffset(448)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Field___N_std_S_allocator__S0_ Fields; + + [FieldOffset(472)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_S_allocator__S0_ Methods; + + [FieldOffset(496)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_AccessSpecifierDecl___N_std_S_allocator__S0_ Specifiers; + + [FieldOffset(520)] + internal byte isPOD; + + [FieldOffset(521)] + internal byte isAbstract; + + [FieldOffset(522)] + internal byte isUnion; + + [FieldOffset(523)] + internal byte isDynamic; + + [FieldOffset(524)] + internal byte isPolymorphic; + + [FieldOffset(525)] + internal byte hasNonTrivialDefaultConstructor; + + [FieldOffset(526)] + internal byte hasNonTrivialCopyConstructor; + + [FieldOffset(527)] + internal byte hasNonTrivialDestructor; + + [FieldOffset(528)] + internal byte isExternCContext; + + [FieldOffset(529)] + internal byte isInjected; + + [FieldOffset(536)] + internal global::System.IntPtr layout; - public static implicit operator global::CppSharp.Parser.AST.BlockContentComment(global::CppSharp.Parser.AST.CommentKind Kind) - { - return new global::CppSharp.Parser.AST.BlockContentComment(Kind); - } - } + [FieldOffset(544)] + internal global::System.IntPtr templatedDecl; - public unsafe partial class FullComment : global::CppSharp.Parser.AST.Comment, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 32)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + [FieldOffset(552)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; - [FieldOffset(8)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BlockContentComment___N_std_S_allocator__S0_ Blocks; + [FieldOffset(576)] + internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11FullCommentC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST34ClassTemplatePartialSpecializationC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11FullCommentC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST34ClassTemplatePartialSpecializationC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11FullCommentD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST34ClassTemplatePartialSpecializationD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11FullComment9getBlocksEj")] - internal static extern global::System.IntPtr GetBlocks(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11FullComment9addBlocksERPNS1_19BlockContentCommentE")] - internal static extern void AddBlocks(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11FullComment11clearBlocksEv")] - internal static extern void ClearBlocks(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11FullComment14getBlocksCountEv")] - internal static extern uint GetBlocksCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.FullComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FullComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.FullComment __CreateInstance(global::CppSharp.Parser.AST.FullComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization __CreateInstance(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FullComment(native, skipVTables); + return new global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.FullComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); - global::CppSharp.Parser.AST.FullComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); + global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private FullComment(global::CppSharp.Parser.AST.FullComment.__Internal native, bool skipVTables = false) + private ClassTemplatePartialSpecialization(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected FullComment(void* native, bool skipVTables = false) + protected ClassTemplatePartialSpecialization(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -14592,19 +15106,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public FullComment() + public ClassTemplatePartialSpecialization() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public FullComment(global::CppSharp.Parser.AST.FullComment _0) + public ClassTemplatePartialSpecialization(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -14617,7 +15131,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Comment __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -14625,222 +15139,148 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - - public global::CppSharp.Parser.AST.BlockContentComment GetBlocks(uint i) - { - var __ret = __Internal.GetBlocks((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.BlockContentComment __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.BlockContentComment.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.BlockContentComment) global::CppSharp.Parser.AST.BlockContentComment.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.BlockContentComment.__CreateInstance(__ret); - return __result0; - } - - public void AddBlocks(global::CppSharp.Parser.AST.BlockContentComment s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddBlocks((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearBlocks() - { - __Internal.ClearBlocks((__Instance + __PointerAdjustment)); - } - - public uint BlocksCount - { - get - { - var __ret = __Internal.GetBlocksCount((__Instance + __PointerAdjustment)); - return __ret; - } - } } - public unsafe partial class InlineContentComment : global::CppSharp.Parser.AST.Comment, IDisposable + public unsafe partial class FunctionTemplate : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 208)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal byte hasTrailingNewline; + internal int maxFieldAlignment; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20InlineContentCommentC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20InlineContentCommentC2ENS1_11CommentKindE")] - internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.CommentKind Kind); + [FieldOffset(16)] + internal global::System.IntPtr _namespace; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20InlineContentCommentC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - } + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; - internal static new global::CppSharp.Parser.AST.InlineContentComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.InlineContentComment(native.ToPointer(), skipVTables); - } + [FieldOffset(28)] + internal int lineNumberStart; - internal static global::CppSharp.Parser.AST.InlineContentComment __CreateInstance(global::CppSharp.Parser.AST.InlineContentComment.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.InlineContentComment(native, skipVTables); - } + [FieldOffset(32)] + internal int lineNumberEnd; - private static void* __CopyValue(global::CppSharp.Parser.AST.InlineContentComment.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal)); - *(global::CppSharp.Parser.AST.InlineContentComment.__Internal*) ret = native; - return ret.ToPointer(); - } + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - private InlineContentComment(global::CppSharp.Parser.AST.InlineContentComment.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [FieldOffset(48)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - protected InlineContentComment(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - public InlineContentComment() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + [FieldOffset(64)] + internal byte isIncomplete; - public InlineContentComment(global::CppSharp.Parser.AST.CommentKind Kind) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), Kind); - } + [FieldOffset(65)] + internal byte isDependent; - public InlineContentComment(global::CppSharp.Parser.AST.InlineContentComment _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.InlineContentComment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.InlineContentComment.__Internal*) _0.__Instance); - } + [FieldOffset(66)] + internal byte isImplicit; - public static implicit operator global::CppSharp.Parser.AST.InlineContentComment(global::CppSharp.Parser.AST.CommentKind Kind) - { - return new global::CppSharp.Parser.AST.InlineContentComment(Kind); - } + [FieldOffset(67)] + internal byte isInvalid; - public bool HasTrailingNewline - { - get - { - return ((global::CppSharp.Parser.AST.InlineContentComment.__Internal*) __Instance)->hasTrailingNewline != 0; - } + [FieldOffset(72)] + internal global::System.IntPtr completeDeclaration; - set - { - ((global::CppSharp.Parser.AST.InlineContentComment.__Internal*)__Instance)->hasTrailingNewline = (byte) (value ? 1 : 0); - } - } - } + [FieldOffset(80)] + internal uint definitionOrder; - public unsafe partial class ParagraphComment : global::CppSharp.Parser.AST.BlockContentComment, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 32)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + [FieldOffset(88)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - [FieldOffset(4)] - internal byte isWhitespace; + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - [FieldOffset(8)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_InlineContentComment___N_std_S_allocator__S0_ Content; + [FieldOffset(136)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(144)] + internal global::System.IntPtr comment; + + [FieldOffset(152)] + internal global::System.IntPtr TemplatedDecl; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; + + [FieldOffset(184)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_FunctionTemplateSpecialization___N_std_S_allocator__S0_ Specializations; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16ParagraphCommentC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplateC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16ParagraphCommentC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplateC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16ParagraphCommentD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplateD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16ParagraphComment10getContentEj")] - internal static extern global::System.IntPtr GetContent(global::System.IntPtr __instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate18getSpecializationsEj")] + internal static extern global::System.IntPtr GetSpecializations(global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16ParagraphComment10addContentERPNS1_20InlineContentCommentE")] - internal static extern void AddContent(global::System.IntPtr __instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate18addSpecializationsERPNS1_30FunctionTemplateSpecializationE")] + internal static extern void AddSpecializations(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16ParagraphComment12clearContentEv")] - internal static extern void ClearContent(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate20clearSpecializationsEv")] + internal static extern void ClearSpecializations(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16ParagraphComment15getContentCountEv")] - internal static extern uint GetContentCount(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate18FindSpecializationERKSs")] + internal static extern global::System.IntPtr FindSpecialization(global::System.IntPtr __instance, global::System.IntPtr usr); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate23getSpecializationsCountEv")] + internal static extern uint GetSpecializationsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.ParagraphComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.FunctionTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ParagraphComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.FunctionTemplate(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.ParagraphComment __CreateInstance(global::CppSharp.Parser.AST.ParagraphComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.FunctionTemplate __CreateInstance(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ParagraphComment(native, skipVTables); + return new global::CppSharp.Parser.AST.FunctionTemplate(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ParagraphComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParagraphComment.__Internal)); - global::CppSharp.Parser.AST.ParagraphComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); + global::CppSharp.Parser.AST.FunctionTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private ParagraphComment(global::CppSharp.Parser.AST.ParagraphComment.__Internal native, bool skipVTables = false) + private FunctionTemplate(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected ParagraphComment(void* native, bool skipVTables = false) + protected FunctionTemplate(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -14849,19 +15289,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public ParagraphComment() + public FunctionTemplate() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParagraphComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public ParagraphComment(global::CppSharp.Parser.AST.ParagraphComment _0) + public FunctionTemplate(global::CppSharp.Parser.AST.FunctionTemplate _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParagraphComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -14874,7 +15314,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Comment __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -14883,283 +15323,158 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.InlineContentComment GetContent(uint i) + public global::CppSharp.Parser.AST.FunctionTemplateSpecialization GetSpecializations(uint i) { - var __ret = __Internal.GetContent((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.InlineContentComment __result0; + var __ret = __Internal.GetSpecializations((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0; if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.InlineContentComment.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.InlineContentComment) global::CppSharp.Parser.AST.InlineContentComment.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.InlineContentComment.__CreateInstance(__ret); + else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(__ret); return __result0; } - public void AddContent(global::CppSharp.Parser.AST.InlineContentComment s) + public void AddSpecializations(global::CppSharp.Parser.AST.FunctionTemplateSpecialization s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddContent((__Instance + __PointerAdjustment), __arg0); + __Internal.AddSpecializations((__Instance + __PointerAdjustment), __arg0); } - public void ClearContent() + public void ClearSpecializations() { - __Internal.ClearContent((__Instance + __PointerAdjustment)); + __Internal.ClearSpecializations((__Instance + __PointerAdjustment)); } - public bool IsWhitespace + public global::CppSharp.Parser.AST.FunctionTemplateSpecialization FindSpecialization(string usr) { - get - { - return ((global::CppSharp.Parser.AST.ParagraphComment.__Internal*) __Instance)->isWhitespace != 0; - } - - set - { - ((global::CppSharp.Parser.AST.ParagraphComment.__Internal*)__Instance)->isWhitespace = (byte) (value ? 1 : 0); - } + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, usr); + var __arg0 = __basicString0.__Instance; + var __ret = __Internal.FindSpecialization((__Instance + __PointerAdjustment), __arg0); + __basicString0.Dispose(false); + global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(__ret); + return __result0; } - public uint ContentCount + public uint SpecializationsCount { get { - var __ret = __Internal.GetContentCount((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetSpecializationsCount((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class BlockCommandComment : global::CppSharp.Parser.AST.BlockContentComment, IDisposable + public unsafe partial class FunctionTemplateSpecialization : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 40)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 48)] + public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; - - [FieldOffset(4)] - internal uint commandId; + internal global::System.IntPtr _template; [FieldOffset(8)] - internal global::System.IntPtr paragraphComment; + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; - [FieldOffset(16)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_S_allocator__S0_ Arguments; + [FieldOffset(32)] + internal global::System.IntPtr specializedFunction; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandCommentC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + [FieldOffset(40)] + internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandCommentC2ENS1_11CommentKindE")] - internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.CommentKind Kind); + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandCommentC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandCommentD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandComment12getArgumentsEj")] + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization12getArgumentsEj")] internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandComment12addArgumentsERNS2_8ArgumentE")] - internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandComment14clearArgumentsEv")] - internal static extern void ClearArguments(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandComment17getArgumentsCountEv")] - internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); - } - - public unsafe partial class Argument : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 8)] - public partial struct __Internal - { - [FieldOffset(0)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandComment8ArgumentC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandComment8ArgumentC2ERKS3_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandComment8ArgumentD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); - } - - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.BlockCommandComment.Argument __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.BlockCommandComment.Argument(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.BlockCommandComment.Argument __CreateInstance(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.BlockCommandComment.Argument(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal)); - global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private Argument(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected Argument(void* native, bool skipVTables = false) - { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public Argument() - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } - - public Argument(global::CppSharp.Parser.AST.BlockCommandComment.Argument _0) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } - - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.BlockCommandComment.Argument __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public string Text - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal*) __Instance)->text)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization12addArgumentsERNS1_16TemplateArgumentE")] + internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal*)__Instance)->text), value); - } - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization14clearArgumentsEv")] + internal static extern void ClearArguments(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization17getArgumentsCountEv")] + internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.BlockCommandComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.FunctionTemplateSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BlockCommandComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.FunctionTemplateSpecialization(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.BlockCommandComment __CreateInstance(global::CppSharp.Parser.AST.BlockCommandComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.FunctionTemplateSpecialization __CreateInstance(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BlockCommandComment(native, skipVTables); + return new global::CppSharp.Parser.AST.FunctionTemplateSpecialization(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.BlockCommandComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__Internal)); - global::CppSharp.Parser.AST.BlockCommandComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); + global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private BlockCommandComment(global::CppSharp.Parser.AST.BlockCommandComment.__Internal native, bool skipVTables = false) + private FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected BlockCommandComment(void* native, bool skipVTables = false) - : base((void*) null) + protected FunctionTemplateSpecialization(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public BlockCommandComment() - : this((void*) null) + public FunctionTemplateSpecialization() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public BlockCommandComment(global::CppSharp.Parser.AST.CommentKind Kind) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), Kind); - } - - public BlockCommandComment(global::CppSharp.Parser.AST.BlockCommandComment _0) - : this((void*) null) + public FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -15168,11 +15483,16 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Comment __dummy; + global::CppSharp.Parser.AST.FunctionTemplateSpecialization __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -15181,14 +15501,14 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.BlockCommandComment.Argument GetArguments(uint i) + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) { - var __ret = new global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal(); + var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.BlockCommandComment.Argument.__CreateInstance(__ret); + return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); } - public void AddArguments(global::CppSharp.Parser.AST.BlockCommandComment.Argument s) + public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); @@ -15201,39 +15521,52 @@ namespace CppSharp __Internal.ClearArguments((__Instance + __PointerAdjustment)); } - public static implicit operator global::CppSharp.Parser.AST.BlockCommandComment(global::CppSharp.Parser.AST.CommentKind Kind) + public global::CppSharp.Parser.AST.FunctionTemplate Template { - return new global::CppSharp.Parser.AST.BlockCommandComment(Kind); + get + { + global::CppSharp.Parser.AST.FunctionTemplate __result0; + if (((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.FunctionTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template)) + __result0 = (global::CppSharp.Parser.AST.FunctionTemplate) global::CppSharp.Parser.AST.FunctionTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template]; + else __result0 = global::CppSharp.Parser.AST.FunctionTemplate.__CreateInstance(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*)__Instance)->_template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } } - public uint CommandId + public global::CppSharp.Parser.AST.Function SpecializedFunction { get { - return ((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*) __Instance)->commandId; + global::CppSharp.Parser.AST.Function __result0; + if (((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction)) + __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction]; + else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction); + return __result0; } set { - ((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*)__Instance)->commandId = value; + ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*)__Instance)->specializedFunction = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public global::CppSharp.Parser.AST.ParagraphComment ParagraphComment + public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind { get { - global::CppSharp.Parser.AST.ParagraphComment __result0; - if (((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*) __Instance)->paragraphComment == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.ParagraphComment.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*) __Instance)->paragraphComment)) - __result0 = (global::CppSharp.Parser.AST.ParagraphComment) global::CppSharp.Parser.AST.ParagraphComment.NativeToManagedMap[((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*) __Instance)->paragraphComment]; - else __result0 = global::CppSharp.Parser.AST.ParagraphComment.__CreateInstance(((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*) __Instance)->paragraphComment); - return __result0; + return ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializationKind; } set { - ((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*)__Instance)->paragraphComment = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*)__Instance)->specializationKind = value; } } @@ -15247,227 +15580,151 @@ namespace CppSharp } } - public unsafe partial class ParamCommandComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable + public unsafe partial class VarTemplate : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 208)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal uint commandId; + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::System.IntPtr paragraphComment; + internal global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(16)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_S_allocator__S0_ Arguments; - - [FieldOffset(40)] - internal global::CppSharp.Parser.AST.ParamCommandComment.PassDirection direction; - - [FieldOffset(44)] - internal uint paramIndex; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19ParamCommandCommentC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19ParamCommandCommentC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19ParamCommandCommentD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); - } + internal global::System.IntPtr _namespace; - public enum PassDirection : uint - { - In = 0, - Out = 1, - InOut = 2 - } + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; - internal static new global::CppSharp.Parser.AST.ParamCommandComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.ParamCommandComment(native.ToPointer(), skipVTables); - } + [FieldOffset(28)] + internal int lineNumberStart; - internal static global::CppSharp.Parser.AST.ParamCommandComment __CreateInstance(global::CppSharp.Parser.AST.ParamCommandComment.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.ParamCommandComment(native, skipVTables); - } + [FieldOffset(32)] + internal int lineNumberEnd; - private static void* __CopyValue(global::CppSharp.Parser.AST.ParamCommandComment.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParamCommandComment.__Internal)); - global::CppSharp.Parser.AST.ParamCommandComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - private ParamCommandComment(global::CppSharp.Parser.AST.ParamCommandComment.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [FieldOffset(48)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - protected ParamCommandComment(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - public ParamCommandComment() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParamCommandComment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + [FieldOffset(64)] + internal byte isIncomplete; - public ParamCommandComment(global::CppSharp.Parser.AST.ParamCommandComment _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParamCommandComment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(65)] + internal byte isDependent; - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Comment __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + [FieldOffset(66)] + internal byte isImplicit; - public global::CppSharp.Parser.AST.ParamCommandComment.PassDirection Direction - { - get - { - return ((global::CppSharp.Parser.AST.ParamCommandComment.__Internal*) __Instance)->direction; - } + [FieldOffset(67)] + internal byte isInvalid; - set - { - ((global::CppSharp.Parser.AST.ParamCommandComment.__Internal*)__Instance)->direction = value; - } - } + [FieldOffset(72)] + internal global::System.IntPtr completeDeclaration; - public uint ParamIndex - { - get - { - return ((global::CppSharp.Parser.AST.ParamCommandComment.__Internal*) __Instance)->paramIndex; - } + [FieldOffset(80)] + internal uint definitionOrder; - set - { - ((global::CppSharp.Parser.AST.ParamCommandComment.__Internal*)__Instance)->paramIndex = value; - } - } - } + [FieldOffset(88)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - public unsafe partial class TParamCommandComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 64)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - [FieldOffset(4)] - internal uint commandId; + [FieldOffset(136)] + internal global::System.IntPtr originalPtr; - [FieldOffset(8)] - internal global::System.IntPtr paragraphComment; + [FieldOffset(144)] + internal global::System.IntPtr comment; - [FieldOffset(16)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_S_allocator__S0_ Arguments; + [FieldOffset(152)] + internal global::System.IntPtr TemplatedDecl; - [FieldOffset(40)] - internal global::Std.Vector.__Internalc__N_std_S_vector__i___N_std_S_allocator__i Position; + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; + + [FieldOffset(184)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_VarTemplateSpecialization___N_std_S_allocator__S0_ Specializations; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20TParamCommandCommentC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplateC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20TParamCommandCommentC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplateC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20TParamCommandCommentD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplateD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20TParamCommandComment11getPositionEj")] - internal static extern uint GetPosition(global::System.IntPtr __instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate18getSpecializationsEj")] + internal static extern global::System.IntPtr GetSpecializations(global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20TParamCommandComment11addPositionERj")] - internal static extern void AddPosition(global::System.IntPtr __instance, uint* s); + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate18addSpecializationsERPNS1_25VarTemplateSpecializationE")] + internal static extern void AddSpecializations(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20TParamCommandComment13clearPositionEv")] - internal static extern void ClearPosition(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate20clearSpecializationsEv")] + internal static extern void ClearSpecializations(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20TParamCommandComment16getPositionCountEv")] - internal static extern uint GetPositionCount(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate18FindSpecializationERKSs")] + internal static extern global::System.IntPtr FindSpecialization(global::System.IntPtr __instance, global::System.IntPtr usr); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate25FindPartialSpecializationERKSs")] + internal static extern global::System.IntPtr FindPartialSpecialization(global::System.IntPtr __instance, global::System.IntPtr usr); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate23getSpecializationsCountEv")] + internal static extern uint GetSpecializationsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.TParamCommandComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.VarTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TParamCommandComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.VarTemplate(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TParamCommandComment __CreateInstance(global::CppSharp.Parser.AST.TParamCommandComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VarTemplate __CreateInstance(global::CppSharp.Parser.AST.VarTemplate.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TParamCommandComment(native, skipVTables); + return new global::CppSharp.Parser.AST.VarTemplate(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TParamCommandComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplate.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TParamCommandComment.__Internal)); - global::CppSharp.Parser.AST.TParamCommandComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); + global::CppSharp.Parser.AST.VarTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TParamCommandComment(global::CppSharp.Parser.AST.TParamCommandComment.__Internal native, bool skipVTables = false) + private VarTemplate(global::CppSharp.Parser.AST.VarTemplate.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TParamCommandComment(void* native, bool skipVTables = false) + protected VarTemplate(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -15476,19 +15733,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TParamCommandComment() + public VarTemplate() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TParamCommandComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TParamCommandComment(global::CppSharp.Parser.AST.TParamCommandComment _0) + public VarTemplate(global::CppSharp.Parser.AST.VarTemplate _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TParamCommandComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -15501,7 +15758,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Comment __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -15510,228 +15767,211 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public uint GetPosition(uint i) + public global::CppSharp.Parser.AST.VarTemplateSpecialization GetSpecializations(uint i) { - var __ret = __Internal.GetPosition((__Instance + __PointerAdjustment), i); - return __ret; + var __ret = __Internal.GetSpecializations((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.VarTemplateSpecialization __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.VarTemplateSpecialization) global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.VarTemplateSpecialization.__CreateInstance(__ret); + return __result0; } - public void AddPosition(ref uint s) + public void AddSpecializations(global::CppSharp.Parser.AST.VarTemplateSpecialization s) { - fixed (uint* __s0 = &s) - { - var __arg0 = __s0; - __Internal.AddPosition((__Instance + __PointerAdjustment), __arg0); - } + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddSpecializations((__Instance + __PointerAdjustment), __arg0); } - public void ClearPosition() + public void ClearSpecializations() { - __Internal.ClearPosition((__Instance + __PointerAdjustment)); + __Internal.ClearSpecializations((__Instance + __PointerAdjustment)); } - public uint PositionCount + public global::CppSharp.Parser.AST.VarTemplateSpecialization FindSpecialization(string usr) + { + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, usr); + var __arg0 = __basicString0.__Instance; + var __ret = __Internal.FindSpecialization((__Instance + __PointerAdjustment), __arg0); + __basicString0.Dispose(false); + global::CppSharp.Parser.AST.VarTemplateSpecialization __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.VarTemplateSpecialization) global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.VarTemplateSpecialization.__CreateInstance(__ret); + return __result0; + } + + public global::CppSharp.Parser.AST.VarTemplatePartialSpecialization FindPartialSpecialization(string usr) + { + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, usr); + var __arg0 = __basicString0.__Instance; + var __ret = __Internal.FindPartialSpecialization((__Instance + __PointerAdjustment), __arg0); + __basicString0.Dispose(false); + global::CppSharp.Parser.AST.VarTemplatePartialSpecialization __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.VarTemplatePartialSpecialization) global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__CreateInstance(__ret); + return __result0; + } + + public uint SpecializationsCount { get { - var __ret = __Internal.GetPositionCount((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetSpecializationsCount((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class VerbatimBlockLineComment : global::CppSharp.Parser.AST.Comment, IDisposable + public unsafe partial class VarTemplateSpecialization : global::CppSharp.Parser.AST.Variable, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 16)] + [StructLayout(LayoutKind.Explicit, Size = 216)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; + internal global::CppSharp.Parser.AST.AccessSpecifier access; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST24VerbatimBlockLineCommentC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + [FieldOffset(16)] + internal global::System.IntPtr _namespace; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST24VerbatimBlockLineCommentC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST24VerbatimBlockLineCommentD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); - } + [FieldOffset(28)] + internal int lineNumberStart; - internal static new global::CppSharp.Parser.AST.VerbatimBlockLineComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.VerbatimBlockLineComment(native.ToPointer(), skipVTables); - } + [FieldOffset(32)] + internal int lineNumberEnd; - internal static global::CppSharp.Parser.AST.VerbatimBlockLineComment __CreateInstance(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.VerbatimBlockLineComment(native, skipVTables); - } + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - private static void* __CopyValue(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal)); - global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [FieldOffset(48)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - private VerbatimBlockLineComment(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - protected VerbatimBlockLineComment(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [FieldOffset(64)] + internal byte isIncomplete; - public VerbatimBlockLineComment() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + [FieldOffset(65)] + internal byte isDependent; - public VerbatimBlockLineComment(global::CppSharp.Parser.AST.VerbatimBlockLineComment _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(66)] + internal byte isImplicit; + + [FieldOffset(67)] + internal byte isInvalid; + + [FieldOffset(72)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(80)] + internal uint definitionOrder; - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Comment __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + [FieldOffset(88)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - public string Text - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal*) __Instance)->text)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal*)__Instance)->text), value); - } - } - } + [FieldOffset(136)] + internal global::System.IntPtr originalPtr; - public unsafe partial class VerbatimBlockComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 64)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + [FieldOffset(144)] + internal global::System.IntPtr comment; - [FieldOffset(4)] - internal uint commandId; + [FieldOffset(152)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; - [FieldOffset(8)] - internal global::System.IntPtr paragraphComment; + [FieldOffset(160)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [FieldOffset(16)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_S_allocator__S0_ Arguments; + [FieldOffset(176)] + internal global::System.IntPtr templatedDecl; - [FieldOffset(40)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_VerbatimBlockLineComment___N_std_S_allocator__S0_ Lines; + [FieldOffset(184)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; + + [FieldOffset(208)] + internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20VerbatimBlockCommentC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecializationC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20VerbatimBlockCommentC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecializationC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20VerbatimBlockCommentD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecializationD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20VerbatimBlockComment8getLinesEj")] - internal static extern global::System.IntPtr GetLines(global::System.IntPtr __instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecialization12getArgumentsEj")] + internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20VerbatimBlockComment8addLinesERPNS1_24VerbatimBlockLineCommentE")] - internal static extern void AddLines(global::System.IntPtr __instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecialization12addArgumentsERNS1_16TemplateArgumentE")] + internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20VerbatimBlockComment10clearLinesEv")] - internal static extern void ClearLines(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecialization14clearArgumentsEv")] + internal static extern void ClearArguments(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20VerbatimBlockComment13getLinesCountEv")] - internal static extern uint GetLinesCount(global::System.IntPtr __instance); + EntryPoint="_ZN8CppSharp9CppParser3AST25VarTemplateSpecialization17getArgumentsCountEv")] + internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.VerbatimBlockComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.VarTemplateSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VerbatimBlockComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.VarTemplateSpecialization(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.VerbatimBlockComment __CreateInstance(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VarTemplateSpecialization __CreateInstance(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VerbatimBlockComment(native, skipVTables); + return new global::CppSharp.Parser.AST.VarTemplateSpecialization(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal)); - global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); + global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private VerbatimBlockComment(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal native, bool skipVTables = false) + private VarTemplateSpecialization(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected VerbatimBlockComment(void* native, bool skipVTables = false) + protected VarTemplateSpecialization(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -15740,19 +15980,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public VerbatimBlockComment() + public VarTemplateSpecialization() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public VerbatimBlockComment(global::CppSharp.Parser.AST.VerbatimBlockComment _0) + public VarTemplateSpecialization(global::CppSharp.Parser.AST.VarTemplateSpecialization _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -15765,7 +16005,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Comment __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -15774,101 +16014,188 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.VerbatimBlockLineComment GetLines(uint i) + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) { - var __ret = __Internal.GetLines((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.VerbatimBlockLineComment __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.VerbatimBlockLineComment.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.VerbatimBlockLineComment) global::CppSharp.Parser.AST.VerbatimBlockLineComment.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.VerbatimBlockLineComment.__CreateInstance(__ret); - return __result0; + var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); + __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); } - public void AddLines(global::CppSharp.Parser.AST.VerbatimBlockLineComment s) + public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddLines((__Instance + __PointerAdjustment), __arg0); + __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); } - public void ClearLines() + public void ClearArguments() { - __Internal.ClearLines((__Instance + __PointerAdjustment)); + __Internal.ClearArguments((__Instance + __PointerAdjustment)); } - public uint LinesCount + public global::CppSharp.Parser.AST.VarTemplate TemplatedDecl { get { - var __ret = __Internal.GetLinesCount((__Instance + __PointerAdjustment)); + global::CppSharp.Parser.AST.VarTemplate __result0; + if (((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.VarTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl)) + __result0 = (global::CppSharp.Parser.AST.VarTemplate) global::CppSharp.Parser.AST.VarTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl]; + else __result0 = global::CppSharp.Parser.AST.VarTemplate.__CreateInstance(((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*)__Instance)->templatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind + { + get + { + return ((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->specializationKind; + } + + set + { + ((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*)__Instance)->specializationKind = value; + } + } + + public uint ArgumentsCount + { + get + { + var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class VerbatimLineComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable + public unsafe partial class VarTemplatePartialSpecialization : global::CppSharp.Parser.AST.VarTemplateSpecialization, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 216)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal uint commandId; + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::System.IntPtr paragraphComment; + internal global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(16)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_S_allocator__S0_ Arguments; + internal global::System.IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(48)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(64)] + internal byte isIncomplete; + + [FieldOffset(65)] + internal byte isDependent; + + [FieldOffset(66)] + internal byte isImplicit; + + [FieldOffset(67)] + internal byte isInvalid; + + [FieldOffset(72)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(80)] + internal uint definitionOrder; + + [FieldOffset(88)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(136)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(144)] + internal global::System.IntPtr comment; + + [FieldOffset(152)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; + + [FieldOffset(160)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(176)] + internal global::System.IntPtr templatedDecl; + + [FieldOffset(184)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; + + [FieldOffset(208)] + internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19VerbatimLineCommentC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST32VarTemplatePartialSpecializationC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19VerbatimLineCommentC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST32VarTemplatePartialSpecializationC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19VerbatimLineCommentD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST32VarTemplatePartialSpecializationD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.VerbatimLineComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.VarTemplatePartialSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VerbatimLineComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.VarTemplatePartialSpecialization(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.VerbatimLineComment __CreateInstance(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VarTemplatePartialSpecialization __CreateInstance(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VerbatimLineComment(native, skipVTables); + return new global::CppSharp.Parser.AST.VarTemplatePartialSpecialization(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal)); - global::CppSharp.Parser.AST.VerbatimLineComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); + global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private VerbatimLineComment(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal native, bool skipVTables = false) + private VarTemplatePartialSpecialization(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected VerbatimLineComment(void* native, bool skipVTables = false) + protected VarTemplatePartialSpecialization(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -15877,19 +16204,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public VerbatimLineComment() + public VarTemplatePartialSpecialization() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public VerbatimLineComment(global::CppSharp.Parser.AST.VerbatimLineComment _0) + public VarTemplatePartialSpecialization(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -15902,7 +16229,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Comment __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -15910,230 +16237,150 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - - public string Text - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VerbatimLineComment.__Internal*) __Instance)->text)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VerbatimLineComment.__Internal*)__Instance)->text), value); - } - } } - public unsafe partial class InlineCommandComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable + public unsafe partial class Namespace : global::CppSharp.Parser.AST.DeclarationContext, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 424)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal byte hasTrailingNewline; + internal int maxFieldAlignment; [FieldOffset(8)] - internal uint commandId; - - [FieldOffset(12)] - internal global::CppSharp.Parser.AST.InlineCommandComment.RenderKind commentRenderKind; + internal global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(16)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_InlineCommandComment_S_Argument___N_std_S_allocator__S0_ Arguments; + internal global::System.IntPtr _namespace; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandCommentC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandCommentC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + [FieldOffset(28)] + internal int lineNumberStart; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandCommentD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); + [FieldOffset(32)] + internal int lineNumberEnd; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandComment12getArgumentsEj")] - internal static extern void GetArguments(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandComment12addArgumentsERNS2_8ArgumentE")] - internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); + [FieldOffset(48)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandComment14clearArgumentsEv")] - internal static extern void ClearArguments(global::System.IntPtr __instance); + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandComment17getArgumentsCountEv")] - internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); - } + [FieldOffset(64)] + internal byte isIncomplete; - public enum RenderKind : uint - { - RenderNormal = 0, - RenderBold = 1, - RenderMonospaced = 2, - RenderEmphasized = 3 - } + [FieldOffset(65)] + internal byte isDependent; - public unsafe partial class Argument : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 8)] - public partial struct __Internal - { - [FieldOffset(0)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; + [FieldOffset(66)] + internal byte isImplicit; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandComment8ArgumentC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + [FieldOffset(67)] + internal byte isInvalid; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandComment8ArgumentC2ERKS3_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + [FieldOffset(72)] + internal global::System.IntPtr completeDeclaration; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandComment8ArgumentD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); - } + [FieldOffset(80)] + internal uint definitionOrder; - public global::System.IntPtr __Instance { get; protected set; } + [FieldOffset(88)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - protected bool __ownsNativeInstance; + [FieldOffset(136)] + internal global::System.IntPtr originalPtr; - internal static global::CppSharp.Parser.AST.InlineCommandComment.Argument __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.InlineCommandComment.Argument(native.ToPointer(), skipVTables); - } + [FieldOffset(144)] + internal global::System.IntPtr comment; - internal static global::CppSharp.Parser.AST.InlineCommandComment.Argument __CreateInstance(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.InlineCommandComment.Argument(native, skipVTables); - } + [FieldOffset(152)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; - private static void* __CopyValue(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal)); - global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [FieldOffset(176)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; - private Argument(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [FieldOffset(200)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; - protected Argument(void* native, bool skipVTables = false) - { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [FieldOffset(224)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; - public Argument() - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + [FieldOffset(248)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; - public Argument(global::CppSharp.Parser.AST.InlineCommandComment.Argument _0) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(272)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; - public void Dispose() - { - Dispose(disposing: true); - } + [FieldOffset(296)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.InlineCommandComment.Argument __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + [FieldOffset(320)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; - public string Text - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal*) __Instance)->text)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + [FieldOffset(344)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal*)__Instance)->text), value); - } - } + [FieldOffset(368)] + internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + + [FieldOffset(416)] + internal byte isAnonymous; + + [FieldOffset(417)] + internal byte isInline; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.InlineCommandComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Namespace __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.InlineCommandComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Namespace(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.InlineCommandComment __CreateInstance(global::CppSharp.Parser.AST.InlineCommandComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Namespace __CreateInstance(global::CppSharp.Parser.AST.Namespace.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.InlineCommandComment(native, skipVTables); + return new global::CppSharp.Parser.AST.Namespace(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.InlineCommandComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Namespace.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.__Internal)); - global::CppSharp.Parser.AST.InlineCommandComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); + global::CppSharp.Parser.AST.Namespace.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private InlineCommandComment(global::CppSharp.Parser.AST.InlineCommandComment.__Internal native, bool skipVTables = false) + private Namespace(global::CppSharp.Parser.AST.Namespace.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected InlineCommandComment(void* native, bool skipVTables = false) + protected Namespace(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -16142,19 +16389,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public InlineCommandComment() + public Namespace() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public InlineCommandComment(global::CppSharp.Parser.AST.InlineCommandComment _0) + public Namespace(global::CppSharp.Parser.AST.Namespace _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -16167,7 +16414,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Comment __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -16176,369 +16423,223 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.InlineCommandComment.Argument GetArguments(uint i) - { - var __ret = new global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal(); - __Internal.GetArguments(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.InlineCommandComment.Argument.__CreateInstance(__ret); - } - - public void AddArguments(global::CppSharp.Parser.AST.InlineCommandComment.Argument s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearArguments() - { - __Internal.ClearArguments((__Instance + __PointerAdjustment)); - } - - public uint CommandId - { - get - { - return ((global::CppSharp.Parser.AST.InlineCommandComment.__Internal*) __Instance)->commandId; - } - - set - { - ((global::CppSharp.Parser.AST.InlineCommandComment.__Internal*)__Instance)->commandId = value; - } - } - - public global::CppSharp.Parser.AST.InlineCommandComment.RenderKind CommentRenderKind + public bool IsInline { get { - return ((global::CppSharp.Parser.AST.InlineCommandComment.__Internal*) __Instance)->commentRenderKind; + return ((global::CppSharp.Parser.AST.Namespace.__Internal*) __Instance)->isInline != 0; } set { - ((global::CppSharp.Parser.AST.InlineCommandComment.__Internal*)__Instance)->commentRenderKind = value; - } - } - - public uint ArgumentsCount - { - get - { - var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.Namespace.__Internal*)__Instance)->isInline = (byte) (value ? 1 : 0); } } } - public unsafe partial class HTMLTagComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable + public unsafe partial class PreprocessedEntity : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 8)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 24)] + public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + internal global::CppSharp.Parser.AST.MacroLocation macroLocation; - [FieldOffset(4)] - internal byte hasTrailingNewline; + [FieldOffset(8)] + internal global::System.IntPtr originalPtr; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14HTMLTagCommentC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14HTMLTagCommentC2ENS1_11CommentKindE")] - internal static extern void ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.CommentKind Kind); + EntryPoint="_ZN8CppSharp9CppParser3AST18PreprocessedEntityC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14HTMLTagCommentC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST18PreprocessedEntityC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); } - internal static new global::CppSharp.Parser.AST.HTMLTagComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.PreprocessedEntity __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.HTMLTagComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.PreprocessedEntity(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.HTMLTagComment __CreateInstance(global::CppSharp.Parser.AST.HTMLTagComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.PreprocessedEntity __CreateInstance(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.HTMLTagComment(native, skipVTables); + return new global::CppSharp.Parser.AST.PreprocessedEntity(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.HTMLTagComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal)); - *(global::CppSharp.Parser.AST.HTMLTagComment.__Internal*) ret = native; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); + *(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) ret = native; return ret.ToPointer(); } - private HTMLTagComment(global::CppSharp.Parser.AST.HTMLTagComment.__Internal native, bool skipVTables = false) + private PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected HTMLTagComment(void* native, bool skipVTables = false) - : base((void*) null) + protected PreprocessedEntity(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public HTMLTagComment() - : this((void*) null) + public PreprocessedEntity() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public HTMLTagComment(global::CppSharp.Parser.AST.CommentKind Kind) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), Kind); - } - - public HTMLTagComment(global::CppSharp.Parser.AST.HTMLTagComment _0) - : this((void*) null) + public PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.HTMLTagComment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.HTMLTagComment.__Internal*) _0.__Instance); + *((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) _0.__Instance); } - public static implicit operator global::CppSharp.Parser.AST.HTMLTagComment(global::CppSharp.Parser.AST.CommentKind Kind) + public void Dispose() { - return new global::CppSharp.Parser.AST.HTMLTagComment(Kind); + Dispose(disposing: true); } - } - public unsafe partial class HTMLStartTagComment : global::CppSharp.Parser.AST.HTMLTagComment, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 40)] - public new partial struct __Internal + public virtual void Dispose(bool disposing) { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; - - [FieldOffset(4)] - internal byte hasTrailingNewline; - - [FieldOffset(8)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C tagName; - - [FieldOffset(16)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_HTMLStartTagComment_S_Attribute___N_std_S_allocator__S0_ Attributes; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagCommentC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagCommentC2ERKS2_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagCommentD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagComment13getAttributesEj")] - internal static extern void GetAttributes(global::System.IntPtr @return, global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagComment13addAttributesERNS2_9AttributeE")] - internal static extern void AddAttributes(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagComment15clearAttributesEv")] - internal static extern void ClearAttributes(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagComment18getAttributesCountEv")] - internal static extern uint GetAttributesCount(global::System.IntPtr __instance); + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.PreprocessedEntity __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } - public unsafe partial class Attribute : IDisposable + public global::CppSharp.Parser.AST.MacroLocation MacroLocation { - [StructLayout(LayoutKind.Explicit, Size = 16)] - public partial struct __Internal - { - [FieldOffset(0)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(8)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C value; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagComment9AttributeC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagComment9AttributeC2ERKS3_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagComment9AttributeD2Ev")] - internal static extern void dtor(global::System.IntPtr __instance); - } - - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute __CreateInstance(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal native, bool skipVTables = false) + get { - return new global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute(native, skipVTables); + return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->macroLocation; } - private static void* __CopyValue(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal native) + set { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal)); - global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); + ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*)__Instance)->macroLocation = value; } + } - private Attribute(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + public global::System.IntPtr OriginalPtr + { + get { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->originalPtr; } - protected Attribute(void* native, bool skipVTables = false) + set { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); + ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*)__Instance)->originalPtr = (global::System.IntPtr) value; } + } - public Attribute() + public global::CppSharp.Parser.AST.DeclarationKind Kind + { + get { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->kind; } - public Attribute(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute _0) + set { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*)__Instance)->kind = value; } + } + } - public void Dispose() - { - Dispose(disposing: true); - } + public unsafe partial class MacroDefinition : global::CppSharp.Parser.AST.PreprocessedEntity, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.MacroLocation macroLocation; - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + [FieldOffset(8)] + internal global::System.IntPtr originalPtr; - public string Name - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal*) __Instance)->name)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal*)__Instance)->name), value); - } - } + [FieldOffset(24)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - public string Value - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal*) __Instance)->value)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + [FieldOffset(32)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C expression; - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal*)__Instance)->value), value); - } - } + [FieldOffset(40)] + internal int lineNumberStart; + + [FieldOffset(44)] + internal int lineNumberEnd; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15MacroDefinitionC2Ev")] + internal static extern void ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15MacroDefinitionC2ERKS2_")] + internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15MacroDefinitionD2Ev")] + internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.HTMLStartTagComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.MacroDefinition __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.HTMLStartTagComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.MacroDefinition(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.HTMLStartTagComment __CreateInstance(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.MacroDefinition __CreateInstance(global::CppSharp.Parser.AST.MacroDefinition.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.HTMLStartTagComment(native, skipVTables); + return new global::CppSharp.Parser.AST.MacroDefinition(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.MacroDefinition.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal)); - global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); + global::CppSharp.Parser.AST.MacroDefinition.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private HTMLStartTagComment(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal native, bool skipVTables = false) + private MacroDefinition(global::CppSharp.Parser.AST.MacroDefinition.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected HTMLStartTagComment(void* native, bool skipVTables = false) + protected MacroDefinition(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -16547,19 +16648,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public HTMLStartTagComment() + public MacroDefinition() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public HTMLStartTagComment(global::CppSharp.Parser.AST.HTMLStartTagComment _0) + public MacroDefinition(global::CppSharp.Parser.AST.MacroDefinition _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -16572,7 +16673,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Comment __dummy; + global::CppSharp.Parser.AST.PreprocessedEntity __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -16581,31 +16682,27 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute GetAttributes(uint i) - { - var __ret = new global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal(); - __Internal.GetAttributes(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__CreateInstance(__ret); - } - - public void AddAttributes(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute s) + public string Name { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddAttributes((__Instance + __PointerAdjustment), __arg0); - } + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->name)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - public void ClearAttributes() - { - __Internal.ClearAttributes((__Instance + __PointerAdjustment)); + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->name), value); + } } - public string TagName + public string Expression { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal*) __Instance)->tagName)); + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->expression)); var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); __basicStringRet0.Dispose(false); return __stringRet0; @@ -16613,75 +16710,101 @@ namespace CppSharp set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal*)__Instance)->tagName), value); + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->expression), value); } } - public uint AttributesCount + public int LineNumberStart { get { - var __ret = __Internal.GetAttributesCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->lineNumberStart; + } + + set + { + ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->lineNumberStart = value; + } + } + + public int LineNumberEnd + { + get + { + return ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->lineNumberEnd; + } + + set + { + ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->lineNumberEnd = value; } } } - public unsafe partial class HTMLEndTagComment : global::CppSharp.Parser.AST.HTMLTagComment, IDisposable + public unsafe partial class MacroExpansion : global::CppSharp.Parser.AST.PreprocessedEntity, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 16)] + [StructLayout(LayoutKind.Explicit, Size = 48)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; - - [FieldOffset(4)] - internal byte hasTrailingNewline; + internal global::CppSharp.Parser.AST.MacroLocation macroLocation; [FieldOffset(8)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C tagName; + internal global::System.IntPtr originalPtr; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(24)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(32)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; + + [FieldOffset(40)] + internal global::System.IntPtr definition; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17HTMLEndTagCommentC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST14MacroExpansionC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17HTMLEndTagCommentC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST14MacroExpansionC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17HTMLEndTagCommentD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST14MacroExpansionD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.HTMLEndTagComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.MacroExpansion __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.HTMLEndTagComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.MacroExpansion(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.HTMLEndTagComment __CreateInstance(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.MacroExpansion __CreateInstance(global::CppSharp.Parser.AST.MacroExpansion.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.HTMLEndTagComment(native, skipVTables); + return new global::CppSharp.Parser.AST.MacroExpansion(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.MacroExpansion.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); - global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); + global::CppSharp.Parser.AST.MacroExpansion.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private HTMLEndTagComment(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal native, bool skipVTables = false) + private MacroExpansion(global::CppSharp.Parser.AST.MacroExpansion.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected HTMLEndTagComment(void* native, bool skipVTables = false) + protected MacroExpansion(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -16690,19 +16813,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public HTMLEndTagComment() + public MacroExpansion() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public HTMLEndTagComment(global::CppSharp.Parser.AST.HTMLEndTagComment _0) + public MacroExpansion(global::CppSharp.Parser.AST.MacroExpansion _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -16715,7 +16838,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Comment __dummy; + global::CppSharp.Parser.AST.PreprocessedEntity __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -16724,11 +16847,11 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public string TagName + public string Name { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal*) __Instance)->tagName)); + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->name)); var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); __basicStringRet0.Dispose(false); return __stringRet0; @@ -16736,66 +16859,216 @@ namespace CppSharp set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal*)__Instance)->tagName), value); + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*)__Instance)->name), value); + } + } + + public string Text + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->text)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*)__Instance)->text), value); + } + } + + public global::CppSharp.Parser.AST.MacroDefinition Definition + { + get + { + global::CppSharp.Parser.AST.MacroDefinition __result0; + if (((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition)) + __result0 = (global::CppSharp.Parser.AST.MacroDefinition) global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap[((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition]; + else __result0 = global::CppSharp.Parser.AST.MacroDefinition.__CreateInstance(((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.MacroExpansion.__Internal*)__Instance)->definition = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class TextComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable + public unsafe partial class TranslationUnit : global::CppSharp.Parser.AST.Namespace, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 16)] + [StructLayout(LayoutKind.Explicit, Size = 464)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal byte hasTrailingNewline; + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(48)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(64)] + internal byte isIncomplete; + + [FieldOffset(65)] + internal byte isDependent; + + [FieldOffset(66)] + internal byte isImplicit; + + [FieldOffset(67)] + internal byte isInvalid; + + [FieldOffset(72)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(80)] + internal uint definitionOrder; + + [FieldOffset(88)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(136)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(144)] + internal global::System.IntPtr comment; + + [FieldOffset(152)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; + + [FieldOffset(176)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; + + [FieldOffset(200)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; + + [FieldOffset(224)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; + + [FieldOffset(248)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; + + [FieldOffset(272)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; + + [FieldOffset(296)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; + + [FieldOffset(320)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; + + [FieldOffset(344)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; + + [FieldOffset(368)] + internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + + [FieldOffset(416)] + internal byte isAnonymous; + + [FieldOffset(417)] + internal byte isInline; + + [FieldOffset(424)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C fileName; + + [FieldOffset(432)] + internal byte isSystemHeader; + + [FieldOffset(440)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_MacroDefinition___N_std_S_allocator__S0_ Macros; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TextCommentC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnitC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TextCommentC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnitC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TextCommentD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnitD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnit9getMacrosEj")] + internal static extern global::System.IntPtr GetMacros(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnit9addMacrosERPNS1_15MacroDefinitionE")] + internal static extern void AddMacros(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnit11clearMacrosEv")] + internal static extern void ClearMacros(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnit14getMacrosCountEv")] + internal static extern uint GetMacrosCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.TextComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TranslationUnit __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TextComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TranslationUnit(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TextComment __CreateInstance(global::CppSharp.Parser.AST.TextComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TranslationUnit __CreateInstance(global::CppSharp.Parser.AST.TranslationUnit.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TextComment(native, skipVTables); + return new global::CppSharp.Parser.AST.TranslationUnit(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TextComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TranslationUnit.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); - global::CppSharp.Parser.AST.TextComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); + global::CppSharp.Parser.AST.TranslationUnit.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TextComment(global::CppSharp.Parser.AST.TextComment.__Internal native, bool skipVTables = false) + private TranslationUnit(global::CppSharp.Parser.AST.TranslationUnit.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TextComment(void* native, bool skipVTables = false) + protected TranslationUnit(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -16804,19 +17077,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TextComment() + public TranslationUnit() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TextComment(global::CppSharp.Parser.AST.TextComment _0) + public TranslationUnit(global::CppSharp.Parser.AST.TranslationUnit _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -16829,7 +17102,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Comment __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -16838,106 +17111,168 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public string Text + public global::CppSharp.Parser.AST.MacroDefinition GetMacros(uint i) + { + var __ret = __Internal.GetMacros((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.MacroDefinition __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.MacroDefinition) global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.MacroDefinition.__CreateInstance(__ret); + return __result0; + } + + public void AddMacros(global::CppSharp.Parser.AST.MacroDefinition s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddMacros((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearMacros() + { + __Internal.ClearMacros((__Instance + __PointerAdjustment)); + } + + public string FileName { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TextComment.__Internal*) __Instance)->text)); + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TranslationUnit.__Internal*) __Instance)->fileName)); var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); __basicStringRet0.Dispose(false); return __stringRet0; } - set + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TranslationUnit.__Internal*)__Instance)->fileName), value); + } + } + + public bool IsSystemHeader + { + get + { + return ((global::CppSharp.Parser.AST.TranslationUnit.__Internal*) __Instance)->isSystemHeader != 0; + } + + set + { + ((global::CppSharp.Parser.AST.TranslationUnit.__Internal*)__Instance)->isSystemHeader = (byte) (value ? 1 : 0); + } + } + + public uint MacrosCount + { + get { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TextComment.__Internal*)__Instance)->text), value); + var __ret = __Internal.GetMacrosCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class RawComment : IDisposable + public unsafe partial class ASTContext : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.RawCommentKind kind; - - [FieldOffset(8)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; - - [FieldOffset(16)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C briefText; - - [FieldOffset(24)] - internal global::System.IntPtr fullCommentBlock; + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TranslationUnit___N_std_S_allocator__S0_ TranslationUnits; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10RawCommentC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContextC2Ev")] internal static extern void ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10RawCommentC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContextC2ERKS2_")] internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10RawCommentD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContextD2Ev")] internal static extern void dtor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext18FindOrCreateModuleESs")] + internal static extern global::System.IntPtr FindOrCreateModule(global::System.IntPtr __instance, global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C File); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext19getTranslationUnitsEj")] + internal static extern global::System.IntPtr GetTranslationUnits(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext19addTranslationUnitsERPNS1_15TranslationUnitE")] + internal static extern void AddTranslationUnits(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext21clearTranslationUnitsEv")] + internal static extern void ClearTranslationUnits(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext24getTranslationUnitsCountEv")] + internal static extern uint GetTranslationUnitsCount(global::System.IntPtr __instance); } public global::System.IntPtr __Instance { get; protected set; } protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); protected internal void*[] __OriginalVTables; protected bool __ownsNativeInstance; - internal static global::CppSharp.Parser.AST.RawComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.ASTContext __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.RawComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.ASTContext(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.RawComment __CreateInstance(global::CppSharp.Parser.AST.RawComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.ASTContext __CreateInstance(global::CppSharp.Parser.AST.ASTContext.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.RawComment(native, skipVTables); + return new global::CppSharp.Parser.AST.ASTContext(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.RawComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ASTContext.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); - global::CppSharp.Parser.AST.RawComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); + global::CppSharp.Parser.AST.ASTContext.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private RawComment(global::CppSharp.Parser.AST.RawComment.__Internal native, bool skipVTables = false) + private ASTContext(global::CppSharp.Parser.AST.ASTContext.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected RawComment(void* native, bool skipVTables = false) + protected ASTContext(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public RawComment() + public ASTContext() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public RawComment(global::CppSharp.Parser.AST.RawComment _0) + public ASTContext(global::CppSharp.Parser.AST.ASTContext _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -16955,7 +17290,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.RawComment __dummy; + global::CppSharp.Parser.AST.ASTContext __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment)); @@ -16964,66 +17299,51 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.RawCommentKind Kind + public global::CppSharp.Parser.AST.TranslationUnit FindOrCreateModule(string File) { - get - { - return ((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->kind; - } - - set - { - ((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->kind = value; - } + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, File); + var __arg0 = *(global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C*) __basicString0.__Instance; + var __ret = __Internal.FindOrCreateModule((__Instance + __PointerAdjustment), __arg0); + __basicString0.Dispose(false); + global::CppSharp.Parser.AST.TranslationUnit __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.TranslationUnit) global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.TranslationUnit.__CreateInstance(__ret); + return __result0; } - public string Text + public global::CppSharp.Parser.AST.TranslationUnit GetTranslationUnits(uint i) { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->text)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->text), value); - } + var __ret = __Internal.GetTranslationUnits((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.TranslationUnit __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.TranslationUnit) global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.TranslationUnit.__CreateInstance(__ret); + return __result0; } - public string BriefText + public void AddTranslationUnits(global::CppSharp.Parser.AST.TranslationUnit s) { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->briefText)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddTranslationUnits((__Instance + __PointerAdjustment), __arg0); + } - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->briefText), value); - } + public void ClearTranslationUnits() + { + __Internal.ClearTranslationUnits((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.FullComment FullCommentBlock + public uint TranslationUnitsCount { get { - global::CppSharp.Parser.AST.FullComment __result0; - if (((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.FullComment.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock)) - __result0 = (global::CppSharp.Parser.AST.FullComment) global::CppSharp.Parser.AST.FullComment.NativeToManagedMap[((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock]; - else __result0 = global::CppSharp.Parser.AST.FullComment.__CreateInstance(((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->fullCommentBlock = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + var __ret = __Internal.GetTranslationUnitsCount((__Instance + __PointerAdjustment)); + return __ret; } } } @@ -17031,99 +17351,6 @@ namespace CppSharp } } -namespace CppSharp -{ - namespace Parser - { - public unsafe partial struct SourceLocation - { - [StructLayout(LayoutKind.Explicit, Size = 4)] - public partial struct __Internal - { - [FieldOffset(0)] - internal uint ID; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser14SourceLocationC2Ev")] - internal static extern void ctor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser14SourceLocationC2Ej")] - internal static extern void ctor(global::System.IntPtr __instance, uint ID); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser14SourceLocationC2ERKS1_")] - internal static extern void cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - } - - private SourceLocation.__Internal __instance; - internal SourceLocation.__Internal __Instance { get { return __instance; } } - - internal static global::CppSharp.Parser.SourceLocation __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.SourceLocation(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.SourceLocation __CreateInstance(global::CppSharp.Parser.SourceLocation.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.SourceLocation(native, skipVTables); - } - - private SourceLocation(global::CppSharp.Parser.SourceLocation.__Internal native, bool skipVTables = false) - : this() - { - __instance = native; - } - - private SourceLocation(void* native, bool skipVTables = false) : this() - { - __instance = *(global::CppSharp.Parser.SourceLocation.__Internal*) native; - } - - public SourceLocation(uint ID) - : this() - { - fixed (__Internal* __instancePtr = &__instance) - { - __Internal.ctor(new global::System.IntPtr(__instancePtr), ID); - } - } - - public SourceLocation(global::CppSharp.Parser.SourceLocation _0) - : this() - { - var ____arg0 = _0.__Instance; - var __arg0 = new global::System.IntPtr(&____arg0); - fixed (__Internal* __instancePtr = &__instance) - { - __Internal.cctor(new global::System.IntPtr(__instancePtr), __arg0); - } - } - - public static implicit operator global::CppSharp.Parser.SourceLocation(uint ID) - { - return new global::CppSharp.Parser.SourceLocation(ID); - } - - public uint ID - { - get - { - return __instance.ID; - } - - set - { - __instance.ID = value; - } - } - } - } -} - namespace CppSharp { namespace Parser diff --git a/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/Std.cs b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/Std.cs index bbaca0dc..97204db3 100644 --- a/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/Std.cs +++ b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/Std.cs @@ -283,7 +283,7 @@ namespace Std } [StructLayout(LayoutKind.Explicit, Size = 24)] - public unsafe partial struct __Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expression___N_std_S_allocator__S0_ + public unsafe partial struct __Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_ExpressionObsolete___N_std_S_allocator__S0_ { [FieldOffset(0)] internal global::Std.VectorBase.VectorImpl.__Internal _M_impl; @@ -545,7 +545,7 @@ namespace Std } [StructLayout(LayoutKind.Explicit, Size = 24)] - public unsafe partial struct __Internalc__N_std_S__Vector_base_____N_CppSharp_N_CppParser_N_AST_S_Expression___N_std_S_allocator__S0_ + public unsafe partial struct __Internalc__N_std_S__Vector_base_____N_CppSharp_N_CppParser_N_AST_S_ExpressionObsolete___N_std_S_allocator__S0_ { [FieldOffset(0)] internal global::Std.VectorBase.VectorImpl.__Internal _M_impl; @@ -655,8 +655,6 @@ namespace Std { public enum RbTreeColor : uint { - S_red = 0, - S_black = 1 } namespace RbTree diff --git a/src/CppParser/Bindings/CSharp/x86_64-pc-win32-msvc/CppSharp.CppParser.cs b/src/CppParser/Bindings/CSharp/x86_64-pc-win32-msvc/CppSharp.CppParser.cs index 3235cb9a..bc4f6479 100644 --- a/src/CppParser/Bindings/CSharp/x86_64-pc-win32-msvc/CppSharp.CppParser.cs +++ b/src/CppParser/Bindings/CSharp/x86_64-pc-win32-msvc/CppSharp.CppParser.cs @@ -17,79 +17,6 @@ namespace CppSharp { namespace AST { - public enum TypeKind - { - Tag = 0, - Array = 1, - Function = 2, - Pointer = 3, - MemberPointer = 4, - Typedef = 5, - Attributed = 6, - Decayed = 7, - TemplateSpecialization = 8, - DependentTemplateSpecialization = 9, - TemplateParameter = 10, - TemplateParameterSubstitution = 11, - InjectedClassName = 12, - DependentName = 13, - PackExpansion = 14, - Builtin = 15, - UnaryTransform = 16, - Vector = 17 - } - - public enum DeclarationKind - { - DeclarationContext = 0, - Typedef = 1, - TypeAlias = 2, - Parameter = 3, - Function = 4, - Method = 5, - Enumeration = 6, - EnumerationItem = 7, - Variable = 8, - Field = 9, - AccessSpecifier = 10, - Class = 11, - Template = 12, - TypeAliasTemplate = 13, - ClassTemplate = 14, - ClassTemplateSpecialization = 15, - ClassTemplatePartialSpecialization = 16, - FunctionTemplate = 17, - Namespace = 18, - PreprocessedEntity = 19, - MacroDefinition = 20, - MacroExpansion = 21, - TranslationUnit = 22, - Friend = 23, - TemplateTemplateParm = 24, - TemplateTypeParm = 25, - NonTypeTemplateParm = 26, - VarTemplate = 27, - VarTemplateSpecialization = 28, - VarTemplatePartialSpecialization = 29 - } - - public enum AccessSpecifier - { - Private = 0, - Protected = 1, - Public = 2 - } - - public enum MacroLocation - { - Unknown = 0, - ClassHead = 1, - ClassBody = 2, - FunctionHead = 3, - FunctionParameters = 4, - FunctionBody = 5 - } - public enum RawCommentKind { Invalid = 0, @@ -121,176 +48,6 @@ namespace CppSharp VerbatimBlockLineComment = 14 } - public enum FriendKind - { - None = 0, - Declared = 1, - Undeclared = 2 - } - - public enum CXXOperatorKind - { - None = 0, - New = 1, - Delete = 2, - ArrayNew = 3, - ArrayDelete = 4, - Plus = 5, - Minus = 6, - Star = 7, - Slash = 8, - Percent = 9, - Caret = 10, - Amp = 11, - Pipe = 12, - Tilde = 13, - Exclaim = 14, - Equal = 15, - Less = 16, - Greater = 17, - PlusEqual = 18, - MinusEqual = 19, - StarEqual = 20, - SlashEqual = 21, - PercentEqual = 22, - CaretEqual = 23, - AmpEqual = 24, - PipeEqual = 25, - LessLess = 26, - GreaterGreater = 27, - LessLessEqual = 28, - GreaterGreaterEqual = 29, - EqualEqual = 30, - ExclaimEqual = 31, - LessEqual = 32, - GreaterEqual = 33, - Spaceship = 34, - AmpAmp = 35, - PipePipe = 36, - PlusPlus = 37, - MinusMinus = 38, - Comma = 39, - ArrowStar = 40, - Arrow = 41, - Call = 42, - Subscript = 43, - Conditional = 44, - Coawait = 45 - } - - public enum CallingConvention - { - Default = 0, - C = 1, - StdCall = 2, - ThisCall = 3, - FastCall = 4, - Unknown = 5 - } - - public enum StatementClass - { - Any = 0, - BinaryOperator = 1, - CallExprClass = 2, - DeclRefExprClass = 3, - CXXConstructExprClass = 4, - CXXOperatorCallExpr = 5, - ImplicitCastExpr = 6, - ExplicitCastExpr = 7 - } - - public enum TemplateSpecializationKind - { - Undeclared = 0, - ImplicitInstantiation = 1, - ExplicitSpecialization = 2, - ExplicitInstantiationDeclaration = 3, - ExplicitInstantiationDefinition = 4 - } - - public enum CXXMethodKind - { - Normal = 0, - Constructor = 1, - Destructor = 2, - Conversion = 3, - Operator = 4, - UsingDirective = 5 - } - - public enum RefQualifierKind - { - None = 0, - LValue = 1, - RValue = 2 - } - - public enum CppAbi - { - Itanium = 0, - Microsoft = 1, - ARM = 2, - iOS = 3, - iOS64 = 4 - } - - public enum VTableComponentKind - { - VCallOffset = 0, - VBaseOffset = 1, - OffsetToTop = 2, - RTTI = 3, - FunctionPointer = 4, - CompleteDtorPointer = 5, - DeletingDtorPointer = 6, - UnusedFunctionPointer = 7 - } - - public enum PrimitiveType - { - Null = 0, - Void = 1, - Bool = 2, - WideChar = 3, - Char = 4, - SChar = 5, - UChar = 6, - Char16 = 7, - Char32 = 8, - Short = 9, - UShort = 10, - Int = 11, - UInt = 12, - Long = 13, - ULong = 14, - LongLong = 15, - ULongLong = 16, - Int128 = 17, - UInt128 = 18, - Half = 19, - Float = 20, - Double = 21, - LongDouble = 22, - Float128 = 23, - IntPtr = 24 - } - - public enum ExceptionSpecType - { - None = 0, - DynamicNone = 1, - Dynamic = 2, - MSAny = 3, - BasicNoexcept = 4, - DependentNoexcept = 5, - NoexceptFalse = 6, - NoexceptTrue = 7, - Unevaluated = 8, - Uninstantiated = 9, - Unparsed = 10 - } - public enum ArchType { UnknownArch = 0, @@ -298,78 +55,129 @@ namespace CppSharp X86_64 = 2 } - public unsafe partial class Type : IDisposable + public unsafe partial class NativeLibrary : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 88)] public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C fileName; - [FieldOffset(4)] - internal byte isDependent; + [FieldOffset(32)] + internal global::CppSharp.Parser.AST.ArchType archType; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Type@AST@CppParser@CppSharp@@QEAA@W4TypeKind@123@@Z")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.TypeKind kind); + [FieldOffset(40)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C___N_std_S_allocator__S0_ Symbols; + + [FieldOffset(64)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C___N_std_S_allocator__S0_ Dependencies; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Type@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0NativeLibrary@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0NativeLibrary@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1NativeLibrary@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getSymbols@NativeLibrary@AST@CppParser@CppSharp@@QEAAPEBDI@Z")] + internal static extern global::System.IntPtr GetSymbols(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?addSymbols@NativeLibrary@AST@CppParser@CppSharp@@QEAAXPEBD@Z")] + internal static extern void AddSymbols(global::System.IntPtr __instance, [MarshalAs(UnmanagedType.LPStr)] string s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?clearSymbols@NativeLibrary@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearSymbols(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getDependencies@NativeLibrary@AST@CppParser@CppSharp@@QEAAPEBDI@Z")] + internal static extern global::System.IntPtr GetDependencies(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?addDependencies@NativeLibrary@AST@CppParser@CppSharp@@QEAAXPEBD@Z")] + internal static extern void AddDependencies(global::System.IntPtr __instance, [MarshalAs(UnmanagedType.LPStr)] string s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?clearDependencies@NativeLibrary@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearDependencies(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getSymbolsCount@NativeLibrary@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetSymbolsCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getDependenciesCount@NativeLibrary@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetDependenciesCount(global::System.IntPtr __instance); } public global::System.IntPtr __Instance { get; protected set; } protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); protected internal void*[] __OriginalVTables; protected bool __ownsNativeInstance; - internal static global::CppSharp.Parser.AST.Type __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.NativeLibrary __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Type(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.NativeLibrary(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Type __CreateInstance(global::CppSharp.Parser.AST.Type.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.NativeLibrary __CreateInstance(global::CppSharp.Parser.AST.NativeLibrary.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Type(native, skipVTables); + return new global::CppSharp.Parser.AST.NativeLibrary(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Type.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.NativeLibrary.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Type.__Internal)); - global::CppSharp.Parser.AST.Type.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); + global::CppSharp.Parser.AST.NativeLibrary.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Type(global::CppSharp.Parser.AST.Type.__Internal native, bool skipVTables = false) + private NativeLibrary(global::CppSharp.Parser.AST.NativeLibrary.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Type(void* native, bool skipVTables = false) + protected NativeLibrary(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public Type(global::CppSharp.Parser.AST.TypeKind kind) + public NativeLibrary() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Type.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), kind); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public Type(global::CppSharp.Parser.AST.Type _0) + public NativeLibrary(global::CppSharp.Parser.AST.NativeLibrary _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Type.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -387,117 +195,167 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Type __dummy; + global::CppSharp.Parser.AST.NativeLibrary __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - public static implicit operator global::CppSharp.Parser.AST.Type(global::CppSharp.Parser.AST.TypeKind kind) + public string GetSymbols(uint i) { - return new global::CppSharp.Parser.AST.Type(kind); + var __ret = __Internal.GetSymbols((__Instance + __PointerAdjustment), i); + return Marshal.PtrToStringAnsi(__ret); } - public global::CppSharp.Parser.AST.TypeKind Kind + public void AddSymbols(string s) + { + __Internal.AddSymbols((__Instance + __PointerAdjustment), s); + } + + public void ClearSymbols() + { + __Internal.ClearSymbols((__Instance + __PointerAdjustment)); + } + + public string GetDependencies(uint i) + { + var __ret = __Internal.GetDependencies((__Instance + __PointerAdjustment), i); + return Marshal.PtrToStringAnsi(__ret); + } + + public void AddDependencies(string s) + { + __Internal.AddDependencies((__Instance + __PointerAdjustment), s); + } + + public void ClearDependencies() + { + __Internal.ClearDependencies((__Instance + __PointerAdjustment)); + } + + public string FileName { get { - return ((global::CppSharp.Parser.AST.Type.__Internal*) __Instance)->kind; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.NativeLibrary.__Internal*) __Instance)->fileName)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.Type.__Internal*)__Instance)->kind = value; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.NativeLibrary.__Internal*)__Instance)->fileName), value); } } - public bool IsDependent + public global::CppSharp.Parser.AST.ArchType ArchType { get { - return ((global::CppSharp.Parser.AST.Type.__Internal*) __Instance)->isDependent != 0; + return ((global::CppSharp.Parser.AST.NativeLibrary.__Internal*) __Instance)->archType; } set { - ((global::CppSharp.Parser.AST.Type.__Internal*)__Instance)->isDependent = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.NativeLibrary.__Internal*)__Instance)->archType = value; + } + } + + public uint SymbolsCount + { + get + { + var __ret = __Internal.GetSymbolsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public uint DependenciesCount + { + get + { + var __ret = __Internal.GetDependenciesCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class TypeQualifiers : IDisposable + public unsafe partial class Comment : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 3)] + [StructLayout(LayoutKind.Explicit, Size = 4)] public partial struct __Internal { [FieldOffset(0)] - internal byte isConst; - - [FieldOffset(1)] - internal byte isVolatile; + internal global::CppSharp.Parser.AST.CommentKind kind; - [FieldOffset(2)] - internal byte isRestrict; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0Comment@AST@CppParser@CppSharp@@QEAA@W4CommentKind@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.CommentKind kind); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TypeQualifiers@AST@CppParser@CppSharp@@QEAA@AEBU0123@@Z")] + EntryPoint="??0Comment@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); } public global::System.IntPtr __Instance { get; protected set; } protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); protected internal void*[] __OriginalVTables; protected bool __ownsNativeInstance; - internal static global::CppSharp.Parser.AST.TypeQualifiers __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Comment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypeQualifiers(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Comment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TypeQualifiers __CreateInstance(global::CppSharp.Parser.AST.TypeQualifiers.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Comment __CreateInstance(global::CppSharp.Parser.AST.Comment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypeQualifiers(native, skipVTables); + return new global::CppSharp.Parser.AST.Comment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypeQualifiers.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Comment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeQualifiers.__Internal)); - *(global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) ret = native; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); + *(global::CppSharp.Parser.AST.Comment.__Internal*) ret = native; return ret.ToPointer(); } - private TypeQualifiers(global::CppSharp.Parser.AST.TypeQualifiers.__Internal native, bool skipVTables = false) + private Comment(global::CppSharp.Parser.AST.Comment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TypeQualifiers(void* native, bool skipVTables = false) + protected Comment(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public TypeQualifiers(global::CppSharp.Parser.AST.TypeQualifiers _0) + public Comment(global::CppSharp.Parser.AST.CommentKind kind) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeQualifiers.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) _0.__Instance); + __Internal.ctor((__Instance + __PointerAdjustment), kind); } - public TypeQualifiers() + public Comment(global::CppSharp.Parser.AST.Comment _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeQualifiers.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.Comment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.Comment.__Internal*) _0.__Instance); } public void Dispose() @@ -509,228 +367,194 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.TypeQualifiers __dummy; + global::CppSharp.Parser.AST.Comment __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - public bool IsConst - { - get - { - return ((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) __Instance)->isConst != 0; - } - - set - { - ((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*)__Instance)->isConst = (byte) (value ? 1 : 0); - } - } - - public bool IsVolatile + public static implicit operator global::CppSharp.Parser.AST.Comment(global::CppSharp.Parser.AST.CommentKind kind) { - get - { - return ((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) __Instance)->isVolatile != 0; - } - - set - { - ((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*)__Instance)->isVolatile = (byte) (value ? 1 : 0); - } + return new global::CppSharp.Parser.AST.Comment(kind); } - public bool IsRestrict + public global::CppSharp.Parser.AST.CommentKind Kind { get { - return ((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) __Instance)->isRestrict != 0; + return ((global::CppSharp.Parser.AST.Comment.__Internal*) __Instance)->kind; } set { - ((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*)__Instance)->isRestrict = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Comment.__Internal*)__Instance)->kind = value; } } } - public unsafe partial class QualifiedType : IDisposable + public unsafe partial class BlockContentComment : global::CppSharp.Parser.AST.Comment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 16)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 4)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::System.IntPtr type; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.TypeQualifiers.__Internal qualifiers; + internal global::CppSharp.Parser.AST.CommentKind kind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0QualifiedType@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0BlockContentComment@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0QualifiedType@AST@CppParser@CppSharp@@QEAA@AEBU0123@@Z")] + EntryPoint="??0BlockContentComment@AST@CppParser@CppSharp@@QEAA@W4CommentKind@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.CommentKind Kind); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0BlockContentComment@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); } - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.QualifiedType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.BlockContentComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.QualifiedType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.BlockContentComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.QualifiedType __CreateInstance(global::CppSharp.Parser.AST.QualifiedType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.BlockContentComment __CreateInstance(global::CppSharp.Parser.AST.BlockContentComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.QualifiedType(native, skipVTables); + return new global::CppSharp.Parser.AST.BlockContentComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.QualifiedType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.BlockContentComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.QualifiedType.__Internal)); - *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) ret = native; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); + *(global::CppSharp.Parser.AST.BlockContentComment.__Internal*) ret = native; return ret.ToPointer(); } - private QualifiedType(global::CppSharp.Parser.AST.QualifiedType.__Internal native, bool skipVTables = false) + private BlockContentComment(global::CppSharp.Parser.AST.BlockContentComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected QualifiedType(void* native, bool skipVTables = false) + protected BlockContentComment(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public QualifiedType() + public BlockContentComment() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.QualifiedType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public QualifiedType(global::CppSharp.Parser.AST.QualifiedType _0) + public BlockContentComment(global::CppSharp.Parser.AST.CommentKind Kind) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.QualifiedType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.QualifiedType.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.QualifiedType.__Internal*) _0.__Instance); - } - - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.QualifiedType __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + __Internal.ctor((__Instance + __PointerAdjustment), Kind); } - public global::CppSharp.Parser.AST.Type Type + public BlockContentComment(global::CppSharp.Parser.AST.BlockContentComment _0) + : this((void*) null) { - get - { - global::CppSharp.Parser.AST.Type __result0; - if (((global::CppSharp.Parser.AST.QualifiedType.__Internal*) __Instance)->type == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.QualifiedType.__Internal*) __Instance)->type)) - __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((global::CppSharp.Parser.AST.QualifiedType.__Internal*) __Instance)->type]; - else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((global::CppSharp.Parser.AST.QualifiedType.__Internal*) __Instance)->type); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.QualifiedType.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.BlockContentComment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BlockContentComment.__Internal*) _0.__Instance); } - public global::CppSharp.Parser.AST.TypeQualifiers Qualifiers + public static implicit operator global::CppSharp.Parser.AST.BlockContentComment(global::CppSharp.Parser.AST.CommentKind Kind) { - get - { - return global::CppSharp.Parser.AST.TypeQualifiers.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.QualifiedType.__Internal*) __Instance)->qualifiers)); - } - - set - { - ((global::CppSharp.Parser.AST.QualifiedType.__Internal*)__Instance)->qualifiers = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.TypeQualifiers.__Internal() : *(global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) value.__Instance; - } + return new global::CppSharp.Parser.AST.BlockContentComment(Kind); } } - public unsafe partial class TagType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class FullComment : global::CppSharp.Parser.AST.Comment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 16)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - internal byte isDependent; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(8)] - internal global::System.IntPtr declaration; + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BlockContentComment___N_std_S_allocator__S0_ Blocks; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TagType@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0FullComment@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TagType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0FullComment@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1FullComment@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getBlocks@FullComment@AST@CppParser@CppSharp@@QEAAPEAVBlockContentComment@234@I@Z")] + internal static extern global::System.IntPtr GetBlocks(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?addBlocks@FullComment@AST@CppParser@CppSharp@@QEAAXAEAPEAVBlockContentComment@234@@Z")] + internal static extern void AddBlocks(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?clearBlocks@FullComment@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearBlocks(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getBlocksCount@FullComment@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetBlocksCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.TagType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.FullComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TagType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.FullComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TagType __CreateInstance(global::CppSharp.Parser.AST.TagType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.FullComment __CreateInstance(global::CppSharp.Parser.AST.FullComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TagType(native, skipVTables); + return new global::CppSharp.Parser.AST.FullComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TagType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.FullComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); - global::CppSharp.Parser.AST.TagType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); + global::CppSharp.Parser.AST.FullComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TagType(global::CppSharp.Parser.AST.TagType.__Internal native, bool skipVTables = false) + private FullComment(global::CppSharp.Parser.AST.FullComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TagType(void* native, bool skipVTables = false) + protected FullComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -739,19 +563,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TagType() + public FullComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TagType(global::CppSharp.Parser.AST.TagType _0) + public FullComment(global::CppSharp.Parser.AST.FullComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -760,92 +584,105 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.Declaration Declaration + public override void Dispose(bool disposing) { - get - { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration); - return __result0; - } + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Comment __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } - set + public global::CppSharp.Parser.AST.BlockContentComment GetBlocks(uint i) + { + var __ret = __Internal.GetBlocks((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.BlockContentComment __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.BlockContentComment.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.BlockContentComment) global::CppSharp.Parser.AST.BlockContentComment.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.BlockContentComment.__CreateInstance(__ret); + return __result0; + } + + public void AddBlocks(global::CppSharp.Parser.AST.BlockContentComment s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddBlocks((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearBlocks() + { + __Internal.ClearBlocks((__Instance + __PointerAdjustment)); + } + + public uint BlocksCount + { + get { - ((global::CppSharp.Parser.AST.TagType.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + var __ret = __Internal.GetBlocksCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class ArrayType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class InlineContentComment : global::CppSharp.Parser.AST.Comment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(4)] - internal byte isDependent; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - - [FieldOffset(24)] - internal global::CppSharp.Parser.AST.ArrayType.ArraySize sizeType; - - [FieldOffset(28)] - internal int size; - - [FieldOffset(32)] - internal int elementSize; + internal byte hasTrailingNewline; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0ArrayType@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0InlineContentComment@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0ArrayType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0InlineContentComment@AST@CppParser@CppSharp@@QEAA@W4CommentKind@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.CommentKind Kind); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0InlineContentComment@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); } - public enum ArraySize + internal static new global::CppSharp.Parser.AST.InlineContentComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - Constant = 0, - Variable = 1, - Dependent = 2, - Incomplete = 3 + return new global::CppSharp.Parser.AST.InlineContentComment(native.ToPointer(), skipVTables); } - internal static new global::CppSharp.Parser.AST.ArrayType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.InlineContentComment __CreateInstance(global::CppSharp.Parser.AST.InlineContentComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ArrayType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.InlineContentComment(native, skipVTables); } - internal static global::CppSharp.Parser.AST.ArrayType __CreateInstance(global::CppSharp.Parser.AST.ArrayType.__Internal native, bool skipVTables = false) + private static void* __CopyValue(global::CppSharp.Parser.AST.InlineContentComment.__Internal native) { - return new global::CppSharp.Parser.AST.ArrayType(native, skipVTables); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal)); + *(global::CppSharp.Parser.AST.InlineContentComment.__Internal*) ret = native; + return ret.ToPointer(); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ArrayType.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); - global::CppSharp.Parser.AST.ArrayType.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private ArrayType(global::CppSharp.Parser.AST.ArrayType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + private InlineContentComment(global::CppSharp.Parser.AST.InlineContentComment.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected ArrayType(void* native, bool skipVTables = false) + protected InlineContentComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -854,164 +691,127 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public ArrayType() + public InlineContentComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public ArrayType(global::CppSharp.Parser.AST.ArrayType _0) + public InlineContentComment(global::CppSharp.Parser.AST.CommentKind Kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } - - public global::CppSharp.Parser.AST.QualifiedType QualifiedType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->qualifiedType)); - } - - set - { - ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } + __Internal.ctor((__Instance + __PointerAdjustment), Kind); } - public global::CppSharp.Parser.AST.ArrayType.ArraySize SizeType + public InlineContentComment(global::CppSharp.Parser.AST.InlineContentComment _0) + : this((void*) null) { - get - { - return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->sizeType; - } - - set - { - ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->sizeType = value; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.InlineContentComment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.InlineContentComment.__Internal*) _0.__Instance); } - public int Size + public static implicit operator global::CppSharp.Parser.AST.InlineContentComment(global::CppSharp.Parser.AST.CommentKind Kind) { - get - { - return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->size; - } - - set - { - ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->size = value; - } + return new global::CppSharp.Parser.AST.InlineContentComment(Kind); } - public int ElementSize + public bool HasTrailingNewline { get { - return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->elementSize; + return ((global::CppSharp.Parser.AST.InlineContentComment.__Internal*) __Instance)->hasTrailingNewline != 0; } set { - ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->elementSize = value; + ((global::CppSharp.Parser.AST.InlineContentComment.__Internal*)__Instance)->hasTrailingNewline = (byte) (value ? 1 : 0); } } } - public unsafe partial class FunctionType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class ParagraphComment : global::CppSharp.Parser.AST.BlockContentComment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 56)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(4)] - internal byte isDependent; + internal byte isWhitespace; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; - - [FieldOffset(24)] - internal global::CppSharp.Parser.AST.CallingConvention callingConvention; - - [FieldOffset(28)] - internal global::CppSharp.Parser.AST.ExceptionSpecType exceptionSpecType; - - [FieldOffset(32)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_S_allocator__S0_ Parameters; + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_InlineContentComment___N_std_S_allocator__S0_ Content; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0FunctionType@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0ParagraphComment@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0FunctionType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0ParagraphComment@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1FunctionType@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??1ParagraphComment@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern void dtor(global::System.IntPtr __instance, int delete); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getParameters@FunctionType@AST@CppParser@CppSharp@@QEAAPEAVParameter@234@I@Z")] - internal static extern global::System.IntPtr GetParameters(global::System.IntPtr __instance, uint i); + EntryPoint="?getContent@ParagraphComment@AST@CppParser@CppSharp@@QEAAPEAVInlineContentComment@234@I@Z")] + internal static extern global::System.IntPtr GetContent(global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addParameters@FunctionType@AST@CppParser@CppSharp@@QEAAXAEAPEAVParameter@234@@Z")] - internal static extern void AddParameters(global::System.IntPtr __instance, global::System.IntPtr s); + EntryPoint="?addContent@ParagraphComment@AST@CppParser@CppSharp@@QEAAXAEAPEAVInlineContentComment@234@@Z")] + internal static extern void AddContent(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearParameters@FunctionType@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearParameters(global::System.IntPtr __instance); + EntryPoint="?clearContent@ParagraphComment@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearContent(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getParametersCount@FunctionType@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetParametersCount(global::System.IntPtr __instance); + EntryPoint="?getContentCount@ParagraphComment@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetContentCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.FunctionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.ParagraphComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FunctionType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.ParagraphComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.FunctionType __CreateInstance(global::CppSharp.Parser.AST.FunctionType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.ParagraphComment __CreateInstance(global::CppSharp.Parser.AST.ParagraphComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FunctionType(native, skipVTables); + return new global::CppSharp.Parser.AST.ParagraphComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ParagraphComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); - global::CppSharp.Parser.AST.FunctionType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParagraphComment.__Internal)); + global::CppSharp.Parser.AST.ParagraphComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private FunctionType(global::CppSharp.Parser.AST.FunctionType.__Internal native, bool skipVTables = false) + private ParagraphComment(global::CppSharp.Parser.AST.ParagraphComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected FunctionType(void* native, bool skipVTables = false) + protected ParagraphComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -1020,19 +820,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public FunctionType() + public ParagraphComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParagraphComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public FunctionType(global::CppSharp.Parser.AST.FunctionType _0) + public ParagraphComment(global::CppSharp.Parser.AST.ParagraphComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParagraphComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -1045,7 +845,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Type __dummy; + global::CppSharp.Parser.AST.Comment __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -1054,246 +854,253 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.Parameter GetParameters(uint i) + public global::CppSharp.Parser.AST.InlineContentComment GetContent(uint i) { - var __ret = __Internal.GetParameters((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Parameter __result0; + var __ret = __Internal.GetContent((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.InlineContentComment __result0; if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Parameter.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Parameter) global::CppSharp.Parser.AST.Parameter.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Parameter.__CreateInstance(__ret); + else if (global::CppSharp.Parser.AST.InlineContentComment.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.InlineContentComment) global::CppSharp.Parser.AST.InlineContentComment.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.InlineContentComment.__CreateInstance(__ret); return __result0; } - public void AddParameters(global::CppSharp.Parser.AST.Parameter s) + public void AddContent(global::CppSharp.Parser.AST.InlineContentComment s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddParameters((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearParameters() - { - __Internal.ClearParameters((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.QualifiedType ReturnType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->returnType)); - } - - set - { - ((global::CppSharp.Parser.AST.FunctionType.__Internal*)__Instance)->returnType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } + __Internal.AddContent((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.CallingConvention CallingConvention + public void ClearContent() { - get - { - return ((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->callingConvention; - } - - set - { - ((global::CppSharp.Parser.AST.FunctionType.__Internal*)__Instance)->callingConvention = value; - } + __Internal.ClearContent((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.ExceptionSpecType ExceptionSpecType + public bool IsWhitespace { get { - return ((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->exceptionSpecType; + return ((global::CppSharp.Parser.AST.ParagraphComment.__Internal*) __Instance)->isWhitespace != 0; } set { - ((global::CppSharp.Parser.AST.FunctionType.__Internal*)__Instance)->exceptionSpecType = value; + ((global::CppSharp.Parser.AST.ParagraphComment.__Internal*)__Instance)->isWhitespace = (byte) (value ? 1 : 0); } } - public uint ParametersCount + public uint ContentCount { get { - var __ret = __Internal.GetParametersCount((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetContentCount((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class PointerType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class BlockCommandComment : global::CppSharp.Parser.AST.BlockContentComment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(4)] - internal byte isDependent; + internal uint commandId; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedPointee; + internal global::System.IntPtr paragraphComment; - [FieldOffset(24)] - internal global::CppSharp.Parser.AST.PointerType.TypeModifier modifier; + [FieldOffset(16)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_S_allocator__S0_ Arguments; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0PointerType@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0BlockCommandComment@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0PointerType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0BlockCommandComment@AST@CppParser@CppSharp@@QEAA@W4CommentKind@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.CommentKind Kind); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0BlockCommandComment@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - } - public enum TypeModifier - { - Value = 0, - Pointer = 1, - LVReference = 2, - RVReference = 3 - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1BlockCommandComment@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); - internal static new global::CppSharp.Parser.AST.PointerType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.PointerType(native.ToPointer(), skipVTables); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getArguments@BlockCommandComment@AST@CppParser@CppSharp@@QEAA?AVArgument@1234@I@Z")] + internal static extern void GetArguments(global::System.IntPtr __instance, global::System.IntPtr @return, uint i); - internal static global::CppSharp.Parser.AST.PointerType __CreateInstance(global::CppSharp.Parser.AST.PointerType.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.PointerType(native, skipVTables); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?addArguments@BlockCommandComment@AST@CppParser@CppSharp@@QEAAXAEAVArgument@1234@@Z")] + internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); - private static void* __CopyValue(global::CppSharp.Parser.AST.PointerType.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); - global::CppSharp.Parser.AST.PointerType.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?clearArguments@BlockCommandComment@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearArguments(global::System.IntPtr __instance); - private PointerType(global::CppSharp.Parser.AST.PointerType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getArgumentsCount@BlockCommandComment@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); } - protected PointerType(void* native, bool skipVTables = false) - : base((void*) null) + public unsafe partial class Argument : IDisposable { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [StructLayout(LayoutKind.Explicit, Size = 32)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; - public PointerType() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0Argument@BlockCommandComment@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); - public PointerType(global::CppSharp.Parser.AST.PointerType _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0Argument@BlockCommandComment@AST@CppParser@CppSharp@@QEAA@AEBV01234@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - public global::CppSharp.Parser.AST.QualifiedType QualifiedPointee - { - get + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1Argument@BlockCommandComment@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.BlockCommandComment.Argument __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->qualifiedPointee)); + return new global::CppSharp.Parser.AST.BlockCommandComment.Argument(native.ToPointer(), skipVTables); } - set + internal static global::CppSharp.Parser.AST.BlockCommandComment.Argument __CreateInstance(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal native, bool skipVTables = false) { - ((global::CppSharp.Parser.AST.PointerType.__Internal*)__Instance)->qualifiedPointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + return new global::CppSharp.Parser.AST.BlockCommandComment.Argument(native, skipVTables); } - } - public global::CppSharp.Parser.AST.PointerType.TypeModifier Modifier - { - get + private static void* __CopyValue(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal native) { - return ((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->modifier; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal)); + global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - set + private Argument(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - ((global::CppSharp.Parser.AST.PointerType.__Internal*)__Instance)->modifier = value; + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; } - } - } - public unsafe partial class MemberPointerType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 24)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + protected Argument(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(4)] - internal byte isDependent; + public Argument() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; + public Argument(global::CppSharp.Parser.AST.BlockCommandComment.Argument _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0MemberPointerType@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + public void Dispose() + { + Dispose(disposing: true); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0MemberPointerType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.BlockCommandComment.Argument __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public string Text + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal*) __Instance)->text)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal*)__Instance)->text), value); + } + } } - internal static new global::CppSharp.Parser.AST.MemberPointerType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.BlockCommandComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.MemberPointerType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.BlockCommandComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.MemberPointerType __CreateInstance(global::CppSharp.Parser.AST.MemberPointerType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.BlockCommandComment __CreateInstance(global::CppSharp.Parser.AST.BlockCommandComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.MemberPointerType(native, skipVTables); + return new global::CppSharp.Parser.AST.BlockCommandComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.MemberPointerType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.BlockCommandComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); - global::CppSharp.Parser.AST.MemberPointerType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__Internal)); + global::CppSharp.Parser.AST.BlockCommandComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType.__Internal native, bool skipVTables = false) + private BlockCommandComment(global::CppSharp.Parser.AST.BlockCommandComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected MemberPointerType(void* native, bool skipVTables = false) + protected BlockCommandComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -1302,19 +1109,28 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public MemberPointerType() + public BlockCommandComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType _0) + public BlockCommandComment(global::CppSharp.Parser.AST.CommentKind Kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), Kind); + } + + public BlockCommandComment(global::CppSharp.Parser.AST.BlockCommandComment _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -1323,171 +1139,156 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Pointee + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Comment __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.BlockCommandComment.Argument GetArguments(uint i) + { + var __ret = new global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal(); + __Internal.GetArguments((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); + return global::CppSharp.Parser.AST.BlockCommandComment.Argument.__CreateInstance(__ret); + } + + public void AddArguments(global::CppSharp.Parser.AST.BlockCommandComment.Argument s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearArguments() + { + __Internal.ClearArguments((__Instance + __PointerAdjustment)); + } + + public static implicit operator global::CppSharp.Parser.AST.BlockCommandComment(global::CppSharp.Parser.AST.CommentKind Kind) + { + return new global::CppSharp.Parser.AST.BlockCommandComment(Kind); + } + + public uint CommandId { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MemberPointerType.__Internal*) __Instance)->pointee)); + return ((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*) __Instance)->commandId; } set { - ((global::CppSharp.Parser.AST.MemberPointerType.__Internal*)__Instance)->pointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*)__Instance)->commandId = value; } } - } - public unsafe partial class TypedefType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 16)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - internal byte isDependent; - - [FieldOffset(8)] - internal global::System.IntPtr declaration; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TypedefType@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TypedefType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - } - - internal static new global::CppSharp.Parser.AST.TypedefType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.TypedefType(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.TypedefType __CreateInstance(global::CppSharp.Parser.AST.TypedefType.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.TypedefType(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefType.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); - global::CppSharp.Parser.AST.TypedefType.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private TypedefType(global::CppSharp.Parser.AST.TypedefType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected TypedefType(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public TypedefType() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } - - public TypedefType(global::CppSharp.Parser.AST.TypedefType _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } - - public global::CppSharp.Parser.AST.TypedefNameDecl Declaration + public global::CppSharp.Parser.AST.ParagraphComment ParagraphComment { get { - global::CppSharp.Parser.AST.TypedefNameDecl __result0; - if (((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TypedefNameDecl.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration)) - __result0 = (global::CppSharp.Parser.AST.TypedefNameDecl) global::CppSharp.Parser.AST.TypedefNameDecl.NativeToManagedMap[((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration]; - else __result0 = global::CppSharp.Parser.AST.TypedefNameDecl.__CreateInstance(((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration); + global::CppSharp.Parser.AST.ParagraphComment __result0; + if (((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*) __Instance)->paragraphComment == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ParagraphComment.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*) __Instance)->paragraphComment)) + __result0 = (global::CppSharp.Parser.AST.ParagraphComment) global::CppSharp.Parser.AST.ParagraphComment.NativeToManagedMap[((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*) __Instance)->paragraphComment]; + else __result0 = global::CppSharp.Parser.AST.ParagraphComment.__CreateInstance(((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*) __Instance)->paragraphComment); return __result0; } set { - ((global::CppSharp.Parser.AST.TypedefType.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*)__Instance)->paragraphComment = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public uint ArgumentsCount + { + get + { + var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class AttributedType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class ParamCommandComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 48)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(4)] - internal byte isDependent; + internal uint commandId; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal modified; + internal global::System.IntPtr paragraphComment; - [FieldOffset(24)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal equivalent; + [FieldOffset(16)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_S_allocator__S0_ Arguments; + + [FieldOffset(40)] + internal global::CppSharp.Parser.AST.ParamCommandComment.PassDirection direction; + + [FieldOffset(44)] + internal uint paramIndex; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0AttributedType@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0ParamCommandComment@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0AttributedType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0ParamCommandComment@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1ParamCommandComment@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); } - internal static new global::CppSharp.Parser.AST.AttributedType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public enum PassDirection { - return new global::CppSharp.Parser.AST.AttributedType(native.ToPointer(), skipVTables); + In = 0, + Out = 1, + InOut = 2 } - internal static global::CppSharp.Parser.AST.AttributedType __CreateInstance(global::CppSharp.Parser.AST.AttributedType.__Internal native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.ParamCommandComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.AttributedType(native, skipVTables); + return new global::CppSharp.Parser.AST.ParamCommandComment(native.ToPointer(), skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.AttributedType.__Internal native) + internal static global::CppSharp.Parser.AST.ParamCommandComment __CreateInstance(global::CppSharp.Parser.AST.ParamCommandComment.__Internal native, bool skipVTables = false) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); - global::CppSharp.Parser.AST.AttributedType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return new global::CppSharp.Parser.AST.ParamCommandComment(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.ParamCommandComment.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParamCommandComment.__Internal)); + global::CppSharp.Parser.AST.ParamCommandComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private AttributedType(global::CppSharp.Parser.AST.AttributedType.__Internal native, bool skipVTables = false) + private ParamCommandComment(global::CppSharp.Parser.AST.ParamCommandComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected AttributedType(void* native, bool skipVTables = false) + protected ParamCommandComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -1496,19 +1297,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public AttributedType() + public ParamCommandComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParamCommandComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public AttributedType(global::CppSharp.Parser.AST.AttributedType _0) + public ParamCommandComment(global::CppSharp.Parser.AST.ParamCommandComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParamCommandComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -1517,89 +1318,127 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Modified + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Comment __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.ParamCommandComment.PassDirection Direction { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.AttributedType.__Internal*) __Instance)->modified)); + return ((global::CppSharp.Parser.AST.ParamCommandComment.__Internal*) __Instance)->direction; } set { - ((global::CppSharp.Parser.AST.AttributedType.__Internal*)__Instance)->modified = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.ParamCommandComment.__Internal*)__Instance)->direction = value; } } - public global::CppSharp.Parser.AST.QualifiedType Equivalent + public uint ParamIndex { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.AttributedType.__Internal*) __Instance)->equivalent)); + return ((global::CppSharp.Parser.AST.ParamCommandComment.__Internal*) __Instance)->paramIndex; } set { - ((global::CppSharp.Parser.AST.AttributedType.__Internal*)__Instance)->equivalent = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.ParamCommandComment.__Internal*)__Instance)->paramIndex = value; } } } - public unsafe partial class DecayedType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class TParamCommandComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 56)] + [StructLayout(LayoutKind.Explicit, Size = 64)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(4)] - internal byte isDependent; + internal uint commandId; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal decayed; + internal global::System.IntPtr paragraphComment; - [FieldOffset(24)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal original; + [FieldOffset(16)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_S_allocator__S0_ Arguments; [FieldOffset(40)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; + internal global::Std.Vector.__Internalc__N_std_S_vector__i___N_std_S_allocator__i Position; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0DecayedType@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0TParamCommandComment@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0DecayedType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0TParamCommandComment@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1TParamCommandComment@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getPosition@TParamCommandComment@AST@CppParser@CppSharp@@QEAAII@Z")] + internal static extern uint GetPosition(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?addPosition@TParamCommandComment@AST@CppParser@CppSharp@@QEAAXAEAI@Z")] + internal static extern void AddPosition(global::System.IntPtr __instance, uint* s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?clearPosition@TParamCommandComment@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearPosition(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getPositionCount@TParamCommandComment@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetPositionCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.DecayedType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TParamCommandComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.DecayedType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TParamCommandComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.DecayedType __CreateInstance(global::CppSharp.Parser.AST.DecayedType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TParamCommandComment __CreateInstance(global::CppSharp.Parser.AST.TParamCommandComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.DecayedType(native, skipVTables); + return new global::CppSharp.Parser.AST.TParamCommandComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.DecayedType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TParamCommandComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); - global::CppSharp.Parser.AST.DecayedType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TParamCommandComment.__Internal)); + global::CppSharp.Parser.AST.TParamCommandComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private DecayedType(global::CppSharp.Parser.AST.DecayedType.__Internal native, bool skipVTables = false) + private TParamCommandComment(global::CppSharp.Parser.AST.TParamCommandComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected DecayedType(void* native, bool skipVTables = false) + protected TParamCommandComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -1608,19 +1447,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public DecayedType() + public TParamCommandComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TParamCommandComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public DecayedType(global::CppSharp.Parser.AST.DecayedType _0) + public TParamCommandComment(global::CppSharp.Parser.AST.TParamCommandComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TParamCommandComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -1629,296 +1468,241 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Decayed + public override void Dispose(bool disposing) { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->decayed)); - } - - set - { - ((global::CppSharp.Parser.AST.DecayedType.__Internal*)__Instance)->decayed = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Comment __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.QualifiedType Original + public uint GetPosition(uint i) { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->original)); - } + var __ret = __Internal.GetPosition((__Instance + __PointerAdjustment), i); + return __ret; + } - set + public void AddPosition(ref uint s) + { + fixed (uint* __s0 = &s) { - ((global::CppSharp.Parser.AST.DecayedType.__Internal*)__Instance)->original = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + var __arg0 = __s0; + __Internal.AddPosition((__Instance + __PointerAdjustment), __arg0); } } - public global::CppSharp.Parser.AST.QualifiedType Pointee + public void ClearPosition() { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->pointee)); - } + __Internal.ClearPosition((__Instance + __PointerAdjustment)); + } - set + public uint PositionCount + { + get { - ((global::CppSharp.Parser.AST.DecayedType.__Internal*)__Instance)->pointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + var __ret = __Internal.GetPositionCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class TemplateArgument : IDisposable + public unsafe partial class VerbatimBlockLineComment : global::CppSharp.Parser.AST.Comment, IDisposable { [StructLayout(LayoutKind.Explicit, Size = 40)] - public partial struct __Internal + public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; - - [FieldOffset(24)] - internal global::System.IntPtr declaration; - - [FieldOffset(32)] - internal int integral; + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TemplateArgument@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0VerbatimBlockLineComment@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TemplateArgument@AST@CppParser@CppSharp@@QEAA@AEBU0123@@Z")] + EntryPoint="??0VerbatimBlockLineComment@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(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 + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1VerbatimBlockLineComment@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); } - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.TemplateArgument __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.VerbatimBlockLineComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateArgument(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.VerbatimBlockLineComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TemplateArgument __CreateInstance(global::CppSharp.Parser.AST.TemplateArgument.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VerbatimBlockLineComment __CreateInstance(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateArgument(native, skipVTables); + return new global::CppSharp.Parser.AST.VerbatimBlockLineComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateArgument.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); - *(global::CppSharp.Parser.AST.TemplateArgument.__Internal*) ret = native; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal)); + global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument.__Internal native, bool skipVTables = false) + private VerbatimBlockLineComment(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TemplateArgument(void* native, bool skipVTables = false) + protected VerbatimBlockLineComment(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public TemplateArgument() + public VerbatimBlockLineComment() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument _0) + public VerbatimBlockLineComment(global::CppSharp.Parser.AST.VerbatimBlockLineComment _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) _0.__Instance); - } - - public void Dispose() - { - Dispose(disposing: true); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.TemplateArgument __dummy; + global::CppSharp.Parser.AST.Comment __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind Kind - { - get - { - return ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->kind; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->kind = value; - } - } - - public global::CppSharp.Parser.AST.QualifiedType Type - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->type)); - } - - set - { - ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } - - public global::CppSharp.Parser.AST.Declaration Declaration - { - get - { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - - public int Integral + public string Text { get { - return ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->integral; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal*) __Instance)->text)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->integral = value; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal*)__Instance)->text), value); } } } - public unsafe partial class TemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class VerbatimBlockComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 56)] + [StructLayout(LayoutKind.Explicit, Size = 64)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(4)] - internal byte isDependent; + internal uint commandId; [FieldOffset(8)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; + internal global::System.IntPtr paragraphComment; - [FieldOffset(32)] - internal global::System.IntPtr _template; + [FieldOffset(16)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_S_allocator__S0_ Arguments; [FieldOffset(40)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_VerbatimBlockLineComment___N_std_S_allocator__S0_ Lines; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TemplateSpecializationType@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0VerbatimBlockComment@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TemplateSpecializationType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0VerbatimBlockComment@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1TemplateSpecializationType@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??1VerbatimBlockComment@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern void dtor(global::System.IntPtr __instance, int delete); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getArguments@TemplateSpecializationType@AST@CppParser@CppSharp@@QEAA?AUTemplateArgument@234@I@Z")] - internal static extern void GetArguments(global::System.IntPtr __instance, global::System.IntPtr @return, uint i); + EntryPoint="?getLines@VerbatimBlockComment@AST@CppParser@CppSharp@@QEAAPEAVVerbatimBlockLineComment@234@I@Z")] + internal static extern global::System.IntPtr GetLines(global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addArguments@TemplateSpecializationType@AST@CppParser@CppSharp@@QEAAXAEAUTemplateArgument@234@@Z")] - internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); + EntryPoint="?addLines@VerbatimBlockComment@AST@CppParser@CppSharp@@QEAAXAEAPEAVVerbatimBlockLineComment@234@@Z")] + internal static extern void AddLines(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearArguments@TemplateSpecializationType@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearArguments(global::System.IntPtr __instance); + EntryPoint="?clearLines@VerbatimBlockComment@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearLines(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getArgumentsCount@TemplateSpecializationType@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); + EntryPoint="?getLinesCount@VerbatimBlockComment@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetLinesCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.TemplateSpecializationType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.VerbatimBlockComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateSpecializationType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.VerbatimBlockComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TemplateSpecializationType __CreateInstance(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VerbatimBlockComment __CreateInstance(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateSpecializationType(native, skipVTables); + return new global::CppSharp.Parser.AST.VerbatimBlockComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); - global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal)); + global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native, bool skipVTables = false) + private VerbatimBlockComment(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TemplateSpecializationType(void* native, bool skipVTables = false) + protected VerbatimBlockComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -1927,19 +1711,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TemplateSpecializationType() + public VerbatimBlockComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType _0) + public VerbatimBlockComment(global::CppSharp.Parser.AST.VerbatimBlockComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -1952,7 +1736,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Type __dummy; + global::CppSharp.Parser.AST.Comment __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -1961,145 +1745,101 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) + public global::CppSharp.Parser.AST.VerbatimBlockLineComment GetLines(uint i) { - var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); - __Internal.GetArguments((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); - return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); - } - - public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + var __ret = __Internal.GetLines((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.VerbatimBlockLineComment __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.VerbatimBlockLineComment.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.VerbatimBlockLineComment) global::CppSharp.Parser.AST.VerbatimBlockLineComment.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.VerbatimBlockLineComment.__CreateInstance(__ret); + return __result0; + } + + public void AddLines(global::CppSharp.Parser.AST.VerbatimBlockLineComment s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearArguments() - { - __Internal.ClearArguments((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.Template Template - { - get - { - global::CppSharp.Parser.AST.Template __result0; - if (((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Template.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template)) - __result0 = (global::CppSharp.Parser.AST.Template) global::CppSharp.Parser.AST.Template.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template]; - else __result0 = global::CppSharp.Parser.AST.Template.__CreateInstance(((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*)__Instance)->_template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + __Internal.AddLines((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Desugared + public void ClearLines() { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->desugared)); - } - - set - { - ((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*)__Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } + __Internal.ClearLines((__Instance + __PointerAdjustment)); } - public uint ArgumentsCount + public uint LinesCount { get { - var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetLinesCount((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class DependentTemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class VerbatimLineComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 72)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(4)] - internal byte isDependent; + internal uint commandId; [FieldOffset(8)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; + internal global::System.IntPtr paragraphComment; - [FieldOffset(32)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; + [FieldOffset(16)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_S_allocator__S0_ Arguments; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0DependentTemplateSpecializationType@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0VerbatimLineComment@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0DependentTemplateSpecializationType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0VerbatimLineComment@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1DependentTemplateSpecializationType@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??1VerbatimLineComment@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern void dtor(global::System.IntPtr __instance, int delete); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getArguments@DependentTemplateSpecializationType@AST@CppParser@CppSharp@@QEAA?AUTemplateArgument@234@I@Z")] - internal static extern void GetArguments(global::System.IntPtr __instance, global::System.IntPtr @return, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addArguments@DependentTemplateSpecializationType@AST@CppParser@CppSharp@@QEAAXAEAUTemplateArgument@234@@Z")] - internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearArguments@DependentTemplateSpecializationType@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearArguments(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getArgumentsCount@DependentTemplateSpecializationType@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.DependentTemplateSpecializationType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.VerbatimLineComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.DependentTemplateSpecializationType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.VerbatimLineComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.DependentTemplateSpecializationType __CreateInstance(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VerbatimLineComment __CreateInstance(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.DependentTemplateSpecializationType(native, skipVTables); + return new global::CppSharp.Parser.AST.VerbatimLineComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); - global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal)); + global::CppSharp.Parser.AST.VerbatimLineComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native, bool skipVTables = false) + private VerbatimLineComment(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected DependentTemplateSpecializationType(void* native, bool skipVTables = false) + protected VerbatimLineComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2108,19 +1848,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public DependentTemplateSpecializationType() + public VerbatimLineComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType _0) + public VerbatimLineComment(global::CppSharp.Parser.AST.VerbatimLineComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -2133,7 +1873,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Type __dummy; + global::CppSharp.Parser.AST.Comment __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -2142,266 +1882,229 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) - { - var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); - __Internal.GetArguments((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); - return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); - } - - public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearArguments() - { - __Internal.ClearArguments((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.QualifiedType Desugared + public string Text { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal*) __Instance)->desugared)); + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VerbatimLineComment.__Internal*) __Instance)->text)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal*)__Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } - - public uint ArgumentsCount - { - get - { - var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); - return __ret; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VerbatimLineComment.__Internal*)__Instance)->text), value); } } } - public unsafe partial class TemplateParameterType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class InlineCommandComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(4)] - internal byte isDependent; + internal byte hasTrailingNewline; [FieldOffset(8)] - internal global::System.IntPtr parameter; - - [FieldOffset(16)] - internal uint depth; + internal uint commandId; - [FieldOffset(20)] - internal uint index; + [FieldOffset(12)] + internal global::CppSharp.Parser.AST.InlineCommandComment.RenderKind commentRenderKind; - [FieldOffset(24)] - internal byte isParameterPack; + [FieldOffset(16)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_InlineCommandComment_S_Argument___N_std_S_allocator__S0_ Arguments; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TemplateParameterType@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0InlineCommandComment@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TemplateParameterType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0InlineCommandComment@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1TemplateParameterType@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??1InlineCommandComment@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern void dtor(global::System.IntPtr __instance, int delete); - } - internal static new global::CppSharp.Parser.AST.TemplateParameterType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.TemplateParameterType(native.ToPointer(), skipVTables); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getArguments@InlineCommandComment@AST@CppParser@CppSharp@@QEAA?AVArgument@1234@I@Z")] + internal static extern void GetArguments(global::System.IntPtr __instance, global::System.IntPtr @return, uint i); - internal static global::CppSharp.Parser.AST.TemplateParameterType __CreateInstance(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.TemplateParameterType(native, skipVTables); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?addArguments@InlineCommandComment@AST@CppParser@CppSharp@@QEAAXAEAVArgument@1234@@Z")] + internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); - global::CppSharp.Parser.AST.TemplateParameterType.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?clearArguments@InlineCommandComment@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearArguments(global::System.IntPtr __instance); - private TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getArgumentsCount@InlineCommandComment@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); } - protected TemplateParameterType(void* native, bool skipVTables = false) - : base((void*) null) + public enum RenderKind { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); + RenderNormal = 0, + RenderBold = 1, + RenderMonospaced = 2, + RenderEmphasized = 3 } - public TemplateParameterType() - : this((void*) null) + public unsafe partial class Argument : IDisposable { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + [StructLayout(LayoutKind.Explicit, Size = 32)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; - public TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0Argument@InlineCommandComment@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Type __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0Argument@InlineCommandComment@AST@CppParser@CppSharp@@QEAA@AEBV01234@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - public global::CppSharp.Parser.AST.TypeTemplateParameter Parameter - { - get - { - global::CppSharp.Parser.AST.TypeTemplateParameter __result0; - if (((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TypeTemplateParameter.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter)) - __result0 = (global::CppSharp.Parser.AST.TypeTemplateParameter) global::CppSharp.Parser.AST.TypeTemplateParameter.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter]; - else __result0 = global::CppSharp.Parser.AST.TypeTemplateParameter.__CreateInstance(((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter); - return __result0; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1Argument@InlineCommandComment@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); } - set + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.InlineCommandComment.Argument __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->parameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + return new global::CppSharp.Parser.AST.InlineCommandComment.Argument(native.ToPointer(), skipVTables); } - } - public uint Depth - { - get + internal static global::CppSharp.Parser.AST.InlineCommandComment.Argument __CreateInstance(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal native, bool skipVTables = false) { - return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->depth; + return new global::CppSharp.Parser.AST.InlineCommandComment.Argument(native, skipVTables); } - set + private static void* __CopyValue(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal native) { - ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->depth = value; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal)); + global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - } - public uint Index - { - get + private Argument(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->index; + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; } - set + protected Argument(void* native, bool skipVTables = false) { - ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->index = value; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - } - public bool IsParameterPack - { - get + public Argument() { - return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->isParameterPack != 0; + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); } - set + public Argument(global::CppSharp.Parser.AST.InlineCommandComment.Argument _0) { - ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->isParameterPack = (byte) (value ? 1 : 0); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - } - } - - public unsafe partial class TemplateParameterSubstitutionType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 32)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - internal byte isDependent; - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal replacement; + public void Dispose() + { + Dispose(disposing: true); + } - [FieldOffset(24)] - internal global::System.IntPtr replacedParameter; + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.InlineCommandComment.Argument __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TemplateParameterSubstitutionType@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + public string Text + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal*) __Instance)->text)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TemplateParameterSubstitutionType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal*)__Instance)->text), value); + } + } } - internal static new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.InlineCommandComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.InlineCommandComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TemplateParameterSubstitutionType __CreateInstance(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.InlineCommandComment __CreateInstance(global::CppSharp.Parser.AST.InlineCommandComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType(native, skipVTables); + return new global::CppSharp.Parser.AST.InlineCommandComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.InlineCommandComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); - global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.__Internal)); + global::CppSharp.Parser.AST.InlineCommandComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native, bool skipVTables = false) + private InlineCommandComment(global::CppSharp.Parser.AST.InlineCommandComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TemplateParameterSubstitutionType(void* native, bool skipVTables = false) + protected InlineCommandComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2410,19 +2113,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TemplateParameterSubstitutionType() + public InlineCommandComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType _0) + public InlineCommandComment(global::CppSharp.Parser.AST.InlineCommandComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -2431,91 +2134,127 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Replacement + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Comment __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.InlineCommandComment.Argument GetArguments(uint i) + { + var __ret = new global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal(); + __Internal.GetArguments((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); + return global::CppSharp.Parser.AST.InlineCommandComment.Argument.__CreateInstance(__ret); + } + + public void AddArguments(global::CppSharp.Parser.AST.InlineCommandComment.Argument s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearArguments() + { + __Internal.ClearArguments((__Instance + __PointerAdjustment)); + } + + public uint CommandId { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacement)); + return ((global::CppSharp.Parser.AST.InlineCommandComment.__Internal*) __Instance)->commandId; } set { - ((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*)__Instance)->replacement = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.InlineCommandComment.__Internal*)__Instance)->commandId = value; } } - public global::CppSharp.Parser.AST.TemplateParameterType ReplacedParameter + public global::CppSharp.Parser.AST.InlineCommandComment.RenderKind CommentRenderKind { get { - global::CppSharp.Parser.AST.TemplateParameterType __result0; - if (((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TemplateParameterType.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter)) - __result0 = (global::CppSharp.Parser.AST.TemplateParameterType) global::CppSharp.Parser.AST.TemplateParameterType.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter]; - else __result0 = global::CppSharp.Parser.AST.TemplateParameterType.__CreateInstance(((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter); - return __result0; + return ((global::CppSharp.Parser.AST.InlineCommandComment.__Internal*) __Instance)->commentRenderKind; } set { - ((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*)__Instance)->replacedParameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.InlineCommandComment.__Internal*)__Instance)->commentRenderKind = value; + } + } + + public uint ArgumentsCount + { + get + { + var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class InjectedClassNameType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class HTMLTagComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(4)] - internal byte isDependent; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal injectedSpecializationType; - - [FieldOffset(24)] - internal global::System.IntPtr _class; + internal byte hasTrailingNewline; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0InjectedClassNameType@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0HTMLTagComment@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0InjectedClassNameType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - } + EntryPoint="??0HTMLTagComment@AST@CppParser@CppSharp@@QEAA@W4CommentKind@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.CommentKind Kind); - internal static new global::CppSharp.Parser.AST.InjectedClassNameType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0HTMLTagComment@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + internal static new global::CppSharp.Parser.AST.HTMLTagComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.InjectedClassNameType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.HTMLTagComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.InjectedClassNameType __CreateInstance(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.HTMLTagComment __CreateInstance(global::CppSharp.Parser.AST.HTMLTagComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.InjectedClassNameType(native, skipVTables); + return new global::CppSharp.Parser.AST.HTMLTagComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.HTMLTagComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); - global::CppSharp.Parser.AST.InjectedClassNameType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal)); + *(global::CppSharp.Parser.AST.HTMLTagComment.__Internal*) ret = native; return ret.ToPointer(); } - private InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native, bool skipVTables = false) + private HTMLTagComment(global::CppSharp.Parser.AST.HTMLTagComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected InjectedClassNameType(void* native, bool skipVTables = false) + protected HTMLTagComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2524,236 +2263,253 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public InjectedClassNameType() + public HTMLTagComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType _0) + public HTMLTagComment(global::CppSharp.Parser.AST.CommentKind Kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + __Internal.ctor((__Instance + __PointerAdjustment), Kind); } - public global::CppSharp.Parser.AST.QualifiedType InjectedSpecializationType + public HTMLTagComment(global::CppSharp.Parser.AST.HTMLTagComment _0) + : this((void*) null) { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->injectedSpecializationType)); - } - - set - { - ((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*)__Instance)->injectedSpecializationType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.HTMLTagComment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.HTMLTagComment.__Internal*) _0.__Instance); } - public global::CppSharp.Parser.AST.Class Class + public static implicit operator global::CppSharp.Parser.AST.HTMLTagComment(global::CppSharp.Parser.AST.CommentKind Kind) { - get - { - global::CppSharp.Parser.AST.Class __result0; - if (((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class)) - __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class]; - else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*)__Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + return new global::CppSharp.Parser.AST.HTMLTagComment(Kind); } } - public unsafe partial class DependentNameType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class HTMLStartTagComment : global::CppSharp.Parser.AST.HTMLTagComment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 56)] + [StructLayout(LayoutKind.Explicit, Size = 64)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(4)] - internal byte isDependent; + internal byte hasTrailingNewline; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifier; + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C tagName; - [FieldOffset(24)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C identifier; + [FieldOffset(40)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_HTMLStartTagComment_S_Attribute___N_std_S_allocator__S0_ Attributes; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0DependentNameType@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0HTMLStartTagComment@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0DependentNameType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0HTMLStartTagComment@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1DependentNameType@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??1HTMLStartTagComment@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern void dtor(global::System.IntPtr __instance, int delete); - } - internal static new global::CppSharp.Parser.AST.DependentNameType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.DependentNameType(native.ToPointer(), skipVTables); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getAttributes@HTMLStartTagComment@AST@CppParser@CppSharp@@QEAA?AVAttribute@1234@I@Z")] + internal static extern void GetAttributes(global::System.IntPtr __instance, global::System.IntPtr @return, uint i); - internal static global::CppSharp.Parser.AST.DependentNameType __CreateInstance(global::CppSharp.Parser.AST.DependentNameType.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.DependentNameType(native, skipVTables); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?addAttributes@HTMLStartTagComment@AST@CppParser@CppSharp@@QEAAXAEAVAttribute@1234@@Z")] + internal static extern void AddAttributes(global::System.IntPtr __instance, global::System.IntPtr s); - private static void* __CopyValue(global::CppSharp.Parser.AST.DependentNameType.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); - global::CppSharp.Parser.AST.DependentNameType.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?clearAttributes@HTMLStartTagComment@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearAttributes(global::System.IntPtr __instance); - private DependentNameType(global::CppSharp.Parser.AST.DependentNameType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getAttributesCount@HTMLStartTagComment@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetAttributesCount(global::System.IntPtr __instance); } - protected DependentNameType(void* native, bool skipVTables = false) - : base((void*) null) + public unsafe partial class Attribute : IDisposable { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [StructLayout(LayoutKind.Explicit, Size = 64)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - public DependentNameType() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + [FieldOffset(32)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C value; - public DependentNameType(global::CppSharp.Parser.AST.DependentNameType _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0Attribute@HTMLStartTagComment@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Type __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0Attribute@HTMLStartTagComment@AST@CppParser@CppSharp@@QEAA@AEBV01234@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - public global::CppSharp.Parser.AST.QualifiedType Qualifier - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentNameType.__Internal*) __Instance)->qualifier)); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1Attribute@HTMLStartTagComment@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); } - set + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - ((global::CppSharp.Parser.AST.DependentNameType.__Internal*)__Instance)->qualifier = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + return new global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute(native.ToPointer(), skipVTables); } - } - public string Identifier - { - get + internal static global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute __CreateInstance(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal native, bool skipVTables = false) { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentNameType.__Internal*) __Instance)->identifier)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + return new global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute(native, skipVTables); } - set + private static void* __CopyValue(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal native) { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentNameType.__Internal*)__Instance)->identifier), value); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal)); + global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - } - } - public unsafe partial class PackExpansionType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 8)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + private Attribute(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(4)] - internal byte isDependent; + protected Attribute(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0PackExpansionType@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + public Attribute() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0PackExpansionType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + public Attribute(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public string Name + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal*) __Instance)->name)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal*)__Instance)->name), value); + } + } + + public string Value + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal*) __Instance)->value)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal*)__Instance)->value), value); + } + } } - internal static new global::CppSharp.Parser.AST.PackExpansionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.HTMLStartTagComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.PackExpansionType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.HTMLStartTagComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.PackExpansionType __CreateInstance(global::CppSharp.Parser.AST.PackExpansionType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.HTMLStartTagComment __CreateInstance(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.PackExpansionType(native, skipVTables); + return new global::CppSharp.Parser.AST.HTMLStartTagComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.PackExpansionType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); - global::CppSharp.Parser.AST.PackExpansionType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal)); + global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private PackExpansionType(global::CppSharp.Parser.AST.PackExpansionType.__Internal native, bool skipVTables = false) + private HTMLStartTagComment(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected PackExpansionType(void* native, bool skipVTables = false) + protected HTMLStartTagComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2762,19 +2518,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public PackExpansionType() + public HTMLStartTagComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public PackExpansionType(global::CppSharp.Parser.AST.PackExpansionType _0) + public HTMLStartTagComment(global::CppSharp.Parser.AST.HTMLStartTagComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -2782,61 +2538,121 @@ namespace CppSharp var __arg0 = _0.__Instance; __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Comment __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute GetAttributes(uint i) + { + var __ret = new global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal(); + __Internal.GetAttributes((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); + return global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__CreateInstance(__ret); + } + + public void AddAttributes(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddAttributes((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearAttributes() + { + __Internal.ClearAttributes((__Instance + __PointerAdjustment)); + } + + public string TagName + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal*) __Instance)->tagName)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal*)__Instance)->tagName), value); + } + } + + public uint AttributesCount + { + get + { + var __ret = __Internal.GetAttributesCount((__Instance + __PointerAdjustment)); + return __ret; + } + } } - public unsafe partial class UnaryTransformType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class HTMLEndTagComment : global::CppSharp.Parser.AST.HTMLTagComment, IDisposable { [StructLayout(LayoutKind.Explicit, Size = 40)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(4)] - internal byte isDependent; + internal byte hasTrailingNewline; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; - - [FieldOffset(24)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal baseType; + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C tagName; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0UnaryTransformType@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0HTMLEndTagComment@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0UnaryTransformType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0HTMLEndTagComment@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1HTMLEndTagComment@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); } - internal static new global::CppSharp.Parser.AST.UnaryTransformType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.HTMLEndTagComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.UnaryTransformType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.HTMLEndTagComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.UnaryTransformType __CreateInstance(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.HTMLEndTagComment __CreateInstance(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.UnaryTransformType(native, skipVTables); + return new global::CppSharp.Parser.AST.HTMLEndTagComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); - global::CppSharp.Parser.AST.UnaryTransformType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); + global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native, bool skipVTables = false) + private HTMLEndTagComment(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected UnaryTransformType(void* native, bool skipVTables = false) + protected HTMLEndTagComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2845,19 +2661,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public UnaryTransformType() + public HTMLEndTagComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType _0) + public HTMLEndTagComment(global::CppSharp.Parser.AST.HTMLEndTagComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -2866,86 +2682,91 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Desugared + public override void Dispose(bool disposing) { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*) __Instance)->desugared)); - } - - set - { - ((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*)__Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Comment __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.QualifiedType BaseType + public string TagName { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*) __Instance)->baseType)); + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal*) __Instance)->tagName)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*)__Instance)->baseType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal*)__Instance)->tagName), value); } } } - public unsafe partial class VectorType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class TextComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; + internal global::CppSharp.Parser.AST.CommentKind kind; [FieldOffset(4)] - internal byte isDependent; + internal byte hasTrailingNewline; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal elementType; - - [FieldOffset(24)] - internal uint numElements; + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0VectorType@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0TextComment@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0VectorType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0TextComment@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1TextComment@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); } - internal static new global::CppSharp.Parser.AST.VectorType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TextComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VectorType(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TextComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.VectorType __CreateInstance(global::CppSharp.Parser.AST.VectorType.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TextComment __CreateInstance(global::CppSharp.Parser.AST.TextComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VectorType(native, skipVTables); + return new global::CppSharp.Parser.AST.TextComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.VectorType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TextComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); - global::CppSharp.Parser.AST.VectorType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); + global::CppSharp.Parser.AST.TextComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private VectorType(global::CppSharp.Parser.AST.VectorType.__Internal native, bool skipVTables = false) + private TextComment(global::CppSharp.Parser.AST.TextComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected VectorType(void* native, bool skipVTables = false) + protected TextComment(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2954,19 +2775,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public VectorType() + public TextComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public VectorType(global::CppSharp.Parser.AST.VectorType _0) + public TextComment(global::CppSharp.Parser.AST.TextComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -2975,204 +2796,125 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType ElementType + public override void Dispose(bool disposing) { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->elementType)); - } - - set - { - ((global::CppSharp.Parser.AST.VectorType.__Internal*)__Instance)->elementType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Comment __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } - public uint NumElements + public string Text { get { - return ((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->numElements; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TextComment.__Internal*) __Instance)->text)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.VectorType.__Internal*)__Instance)->numElements = value; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TextComment.__Internal*)__Instance)->text), value); } } } - public unsafe partial class BuiltinType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class RawComment : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 12)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 80)] + public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - internal byte isDependent; + internal global::CppSharp.Parser.AST.RawCommentKind kind; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.PrimitiveType type; + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C briefText; + + [FieldOffset(72)] + internal global::System.IntPtr fullCommentBlock; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0BuiltinType@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0RawComment@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0BuiltinType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0RawComment@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - } - - internal static new global::CppSharp.Parser.AST.BuiltinType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.BuiltinType(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.BuiltinType __CreateInstance(global::CppSharp.Parser.AST.BuiltinType.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.BuiltinType(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.BuiltinType.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); - global::CppSharp.Parser.AST.BuiltinType.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private BuiltinType(global::CppSharp.Parser.AST.BuiltinType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected BuiltinType(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public BuiltinType() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } - - public BuiltinType(global::CppSharp.Parser.AST.BuiltinType _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } - - public global::CppSharp.Parser.AST.PrimitiveType Type - { - get - { - return ((global::CppSharp.Parser.AST.BuiltinType.__Internal*) __Instance)->type; - } - - set - { - ((global::CppSharp.Parser.AST.BuiltinType.__Internal*)__Instance)->type = value; - } - } - } - - public unsafe partial class VTableComponent : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 16)] - public partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.VTableComponentKind kind; - - [FieldOffset(4)] - internal uint offset; - - [FieldOffset(8)] - internal global::System.IntPtr declaration; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0VTableComponent@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0VTableComponent@AST@CppParser@CppSharp@@QEAA@AEBU0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + EntryPoint="??1RawComment@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); } public global::System.IntPtr __Instance { get; protected set; } protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); protected internal void*[] __OriginalVTables; protected bool __ownsNativeInstance; - internal static global::CppSharp.Parser.AST.VTableComponent __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.RawComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VTableComponent(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.RawComment(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.VTableComponent __CreateInstance(global::CppSharp.Parser.AST.VTableComponent.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.RawComment __CreateInstance(global::CppSharp.Parser.AST.RawComment.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VTableComponent(native, skipVTables); + return new global::CppSharp.Parser.AST.RawComment(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.VTableComponent.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.RawComment.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); - *(global::CppSharp.Parser.AST.VTableComponent.__Internal*) ret = native; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); + global::CppSharp.Parser.AST.RawComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private VTableComponent(global::CppSharp.Parser.AST.VTableComponent.__Internal native, bool skipVTables = false) + private RawComment(global::CppSharp.Parser.AST.RawComment.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected VTableComponent(void* native, bool skipVTables = false) + protected RawComment(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public VTableComponent() + public RawComment() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public VTableComponent(global::CppSharp.Parser.AST.VTableComponent _0) + public RawComment(global::CppSharp.Parser.AST.RawComment _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.VTableComponent.__Internal*) _0.__Instance); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } public void Dispose() @@ -3184,291 +2926,449 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.VTableComponent __dummy; + global::CppSharp.Parser.AST.RawComment __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.VTableComponentKind Kind + public global::CppSharp.Parser.AST.RawCommentKind Kind { get { - return ((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->kind; + return ((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->kind; } set { - ((global::CppSharp.Parser.AST.VTableComponent.__Internal*)__Instance)->kind = value; + ((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->kind = value; } } - public uint Offset + public string Text { get { - return ((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->offset; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->text)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.VTableComponent.__Internal*)__Instance)->offset = value; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->text), value); } } - public global::CppSharp.Parser.AST.Declaration Declaration + public string BriefText { get { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration); - return __result0; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->briefText)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.VTableComponent.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->briefText), value); } } - } - public unsafe partial class VTableLayout : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 24)] - public partial struct __Internal + public global::CppSharp.Parser.AST.FullComment FullCommentBlock { - [FieldOffset(0)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_VTableComponent___N_std_S_allocator__S0_ Components; + get + { + global::CppSharp.Parser.AST.FullComment __result0; + if (((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.FullComment.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock)) + __result0 = (global::CppSharp.Parser.AST.FullComment) global::CppSharp.Parser.AST.FullComment.NativeToManagedMap[((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock]; + else __result0 = global::CppSharp.Parser.AST.FullComment.__CreateInstance(((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock); + return __result0; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0VTableLayout@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + set + { + ((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->fullCommentBlock = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + } + } +} - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0VTableLayout@AST@CppParser@CppSharp@@QEAA@AEBU0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); +namespace CppSharp +{ + namespace Parser + { + public unsafe partial struct SourceLocation + { + [StructLayout(LayoutKind.Explicit, Size = 4)] + public partial struct __Internal + { + [FieldOffset(0)] + internal uint ID; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1VTableLayout@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern void dtor(global::System.IntPtr __instance, int delete); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0SourceLocation@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getComponents@VTableLayout@AST@CppParser@CppSharp@@QEAA?AUVTableComponent@234@I@Z")] - internal static extern void GetComponents(global::System.IntPtr __instance, global::System.IntPtr @return, uint i); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0SourceLocation@CppParser@CppSharp@@QEAA@I@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, uint ID); - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addComponents@VTableLayout@AST@CppParser@CppSharp@@QEAAXAEAUVTableComponent@234@@Z")] - internal static extern void AddComponents(global::System.IntPtr __instance, global::System.IntPtr s); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0SourceLocation@CppParser@CppSharp@@QEAA@AEBU012@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearComponents@VTableLayout@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearComponents(global::System.IntPtr __instance); + private SourceLocation.__Internal __instance; + internal SourceLocation.__Internal __Instance { get { return __instance; } } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getComponentsCount@VTableLayout@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetComponentsCount(global::System.IntPtr __instance); - } + internal static global::CppSharp.Parser.SourceLocation __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.SourceLocation(native.ToPointer(), skipVTables); + } - public global::System.IntPtr __Instance { get; protected set; } + internal static global::CppSharp.Parser.SourceLocation __CreateInstance(global::CppSharp.Parser.SourceLocation.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.SourceLocation(native, skipVTables); + } - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; + private SourceLocation(global::CppSharp.Parser.SourceLocation.__Internal native, bool skipVTables = false) + : this() + { + __instance = native; + } - protected bool __ownsNativeInstance; + private SourceLocation(void* native, bool skipVTables = false) : this() + { + __instance = *(global::CppSharp.Parser.SourceLocation.__Internal*) native; + } - internal static global::CppSharp.Parser.AST.VTableLayout __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public SourceLocation(uint ID) + : this() + { + fixed (__Internal* __instancePtr = &__instance) { - return new global::CppSharp.Parser.AST.VTableLayout(native.ToPointer(), skipVTables); + __Internal.ctor(new global::System.IntPtr(__instancePtr), ID); } + } - internal static global::CppSharp.Parser.AST.VTableLayout __CreateInstance(global::CppSharp.Parser.AST.VTableLayout.__Internal native, bool skipVTables = false) + public SourceLocation(global::CppSharp.Parser.SourceLocation _0) + : this() + { + var ____arg0 = _0.__Instance; + var __arg0 = new global::System.IntPtr(&____arg0); + fixed (__Internal* __instancePtr = &__instance) { - return new global::CppSharp.Parser.AST.VTableLayout(native, skipVTables); + __Internal.cctor(new global::System.IntPtr(__instancePtr), __arg0); } + } - private static void* __CopyValue(global::CppSharp.Parser.AST.VTableLayout.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); - global::CppSharp.Parser.AST.VTableLayout.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + public static implicit operator global::CppSharp.Parser.SourceLocation(uint ID) + { + return new global::CppSharp.Parser.SourceLocation(ID); + } - private VTableLayout(global::CppSharp.Parser.AST.VTableLayout.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + public uint ID + { + get { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + return __instance.ID; } - protected VTableLayout(void* native, bool skipVTables = false) + set { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); + __instance.ID = value; } + } + } - public VTableLayout() - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + public unsafe partial class SourceRange : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 8)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; - public VTableLayout(global::CppSharp.Parser.AST.VTableLayout _0) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; - public void Dispose() - { - Dispose(disposing: true); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0SourceRange@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.VTableLayout __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0SourceRange@CppParser@CppSharp@@QEAA@AEBU012@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } - public global::CppSharp.Parser.AST.VTableComponent GetComponents(uint i) - { - var __ret = new global::CppSharp.Parser.AST.VTableComponent.__Internal(); - __Internal.GetComponents((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); - return global::CppSharp.Parser.AST.VTableComponent.__CreateInstance(__ret); - } + public global::System.IntPtr __Instance { get; protected set; } - public void AddComponents(global::CppSharp.Parser.AST.VTableComponent s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddComponents((__Instance + __PointerAdjustment), __arg0); - } + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; - public void ClearComponents() - { - __Internal.ClearComponents((__Instance + __PointerAdjustment)); - } + protected bool __ownsNativeInstance; - public uint ComponentsCount - { - get - { - var __ret = __Internal.GetComponentsCount((__Instance + __PointerAdjustment)); - return __ret; - } - } + internal static global::CppSharp.Parser.SourceRange __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.SourceRange(native.ToPointer(), skipVTables); } - public unsafe partial class VFTableInfo : IDisposable + internal static global::CppSharp.Parser.SourceRange __CreateInstance(global::CppSharp.Parser.SourceRange.__Internal native, bool skipVTables = false) { - [StructLayout(LayoutKind.Explicit, Size = 40)] - public partial struct __Internal - { - [FieldOffset(0)] - internal ulong VBTableIndex; + return new global::CppSharp.Parser.SourceRange(native, skipVTables); + } - [FieldOffset(8)] - internal uint VFPtrOffset; + private static void* __CopyValue(global::CppSharp.Parser.SourceRange.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.SourceRange.__Internal)); + *(global::CppSharp.Parser.SourceRange.__Internal*) ret = native; + return ret.ToPointer(); + } - [FieldOffset(12)] - internal uint VFPtrFullOffset; + private SourceRange(global::CppSharp.Parser.SourceRange.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(16)] - internal global::CppSharp.Parser.AST.VTableLayout.__Internal layout; + protected SourceRange(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0VFTableInfo@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + public SourceRange() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.SourceRange.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0VFTableInfo@AST@CppParser@CppSharp@@QEAA@AEBU0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + public SourceRange(global::CppSharp.Parser.SourceRange _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.SourceRange.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.SourceRange.__Internal*) __Instance) = *((global::CppSharp.Parser.SourceRange.__Internal*) _0.__Instance); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1VFTableInfo@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern void dtor(global::System.IntPtr __instance, int delete); - } + public void Dispose() + { + Dispose(disposing: true); + } - public global::System.IntPtr __Instance { get; protected set; } + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.SourceRange __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; + public global::CppSharp.Parser.SourceLocation BeginLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.SourceRange.__Internal*) __Instance)->beginLoc); + } + + set + { + ((global::CppSharp.Parser.SourceRange.__Internal*)__Instance)->beginLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation EndLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.SourceRange.__Internal*) __Instance)->endLoc); + } + + set + { + ((global::CppSharp.Parser.SourceRange.__Internal*)__Instance)->endLoc = value.__Instance; + } + } + } + } +} + +namespace CppSharp +{ + namespace Parser + { + namespace AST + { + public enum TypeKind + { + Tag = 0, + Array = 1, + Function = 2, + Pointer = 3, + MemberPointer = 4, + Typedef = 5, + Attributed = 6, + Decayed = 7, + TemplateSpecialization = 8, + DependentTemplateSpecialization = 9, + TemplateParameter = 10, + TemplateParameterSubstitution = 11, + InjectedClassName = 12, + DependentName = 13, + PackExpansion = 14, + Builtin = 15, + UnaryTransform = 16, + Vector = 17 + } + + public enum CallingConvention + { + Default = 0, + C = 1, + StdCall = 2, + ThisCall = 3, + FastCall = 4, + Unknown = 5 + } + + public enum PrimitiveType + { + Null = 0, + Void = 1, + Bool = 2, + WideChar = 3, + Char = 4, + SChar = 5, + UChar = 6, + Char16 = 7, + Char32 = 8, + Short = 9, + UShort = 10, + Int = 11, + UInt = 12, + Long = 13, + ULong = 14, + LongLong = 15, + ULongLong = 16, + Int128 = 17, + UInt128 = 18, + Half = 19, + Float = 20, + Double = 21, + LongDouble = 22, + Float128 = 23, + IntPtr = 24 + } + + public enum ExceptionSpecType + { + None = 0, + DynamicNone = 1, + Dynamic = 2, + MSAny = 3, + BasicNoexcept = 4, + DependentNoexcept = 5, + NoexceptFalse = 6, + NoexceptTrue = 7, + Unevaluated = 8, + Uninstantiated = 9, + Unparsed = 10 + } + + public unsafe partial class Type : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 8)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + internal byte isDependent; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0Type@AST@CppParser@CppSharp@@QEAA@W4TypeKind@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.TypeKind kind); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0Type@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; protected bool __ownsNativeInstance; - internal static global::CppSharp.Parser.AST.VFTableInfo __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Type __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VFTableInfo(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Type(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.VFTableInfo __CreateInstance(global::CppSharp.Parser.AST.VFTableInfo.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Type __CreateInstance(global::CppSharp.Parser.AST.Type.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VFTableInfo(native, skipVTables); + return new global::CppSharp.Parser.AST.Type(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.VFTableInfo.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Type.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); - global::CppSharp.Parser.AST.VFTableInfo.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Type.__Internal)); + global::CppSharp.Parser.AST.Type.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private VFTableInfo(global::CppSharp.Parser.AST.VFTableInfo.__Internal native, bool skipVTables = false) + private Type(global::CppSharp.Parser.AST.Type.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected VFTableInfo(void* native, bool skipVTables = false) + protected Type(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public VFTableInfo() + public Type(global::CppSharp.Parser.AST.TypeKind kind) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Type.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + __Internal.ctor((__Instance + __PointerAdjustment), kind); } - public VFTableInfo(global::CppSharp.Parser.AST.VFTableInfo _0) + public Type(global::CppSharp.Parser.AST.Type _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Type.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -3486,157 +3386,117 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.VFTableInfo __dummy; + global::CppSharp.Parser.AST.Type __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - public ulong VBTableIndex - { - get - { - return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VBTableIndex; - } - - set - { - ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->VBTableIndex = value; - } - } - - public uint VFPtrOffset + public static implicit operator global::CppSharp.Parser.AST.Type(global::CppSharp.Parser.AST.TypeKind kind) { - get - { - return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VFPtrOffset; - } - - set - { - ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->VFPtrOffset = value; - } + return new global::CppSharp.Parser.AST.Type(kind); } - public uint VFPtrFullOffset + public global::CppSharp.Parser.AST.TypeKind Kind { get { - return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VFPtrFullOffset; + return ((global::CppSharp.Parser.AST.Type.__Internal*) __Instance)->kind; } set { - ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->VFPtrFullOffset = value; + ((global::CppSharp.Parser.AST.Type.__Internal*)__Instance)->kind = value; } } - public global::CppSharp.Parser.AST.VTableLayout Layout + public bool IsDependent { get { - return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->layout)); + return ((global::CppSharp.Parser.AST.Type.__Internal*) __Instance)->isDependent != 0; } set { - ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->layout = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.VTableLayout.__Internal() : *(global::CppSharp.Parser.AST.VTableLayout.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.Type.__Internal*)__Instance)->isDependent = (byte) (value ? 1 : 0); } } } - public unsafe partial class LayoutField : IDisposable + public unsafe partial class TypeQualifiers : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 64)] + [StructLayout(LayoutKind.Explicit, Size = 3)] public partial struct __Internal { [FieldOffset(0)] - internal uint offset; - - [FieldOffset(8)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(40)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - - [FieldOffset(56)] - internal global::System.IntPtr fieldPtr; + internal byte isConst; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0LayoutField@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + [FieldOffset(1)] + internal byte isVolatile; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0LayoutField@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr other); + [FieldOffset(2)] + internal byte isRestrict; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1LayoutField@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern void dtor(global::System.IntPtr __instance, int delete); + EntryPoint="??0TypeQualifiers@AST@CppParser@CppSharp@@QEAA@AEBU0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); } public global::System.IntPtr __Instance { get; protected set; } protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); protected internal void*[] __OriginalVTables; protected bool __ownsNativeInstance; - internal static global::CppSharp.Parser.AST.LayoutField __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TypeQualifiers __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.LayoutField(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TypeQualifiers(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.LayoutField __CreateInstance(global::CppSharp.Parser.AST.LayoutField.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TypeQualifiers __CreateInstance(global::CppSharp.Parser.AST.TypeQualifiers.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.LayoutField(native, skipVTables); + return new global::CppSharp.Parser.AST.TypeQualifiers(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.LayoutField.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypeQualifiers.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); - global::CppSharp.Parser.AST.LayoutField.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeQualifiers.__Internal)); + *(global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) ret = native; return ret.ToPointer(); } - private LayoutField(global::CppSharp.Parser.AST.LayoutField.__Internal native, bool skipVTables = false) + private TypeQualifiers(global::CppSharp.Parser.AST.TypeQualifiers.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected LayoutField(void* native, bool skipVTables = false) + protected TypeQualifiers(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public LayoutField() + public TypeQualifiers(global::CppSharp.Parser.AST.TypeQualifiers _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeQualifiers.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + *((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) _0.__Instance); } - public LayoutField(global::CppSharp.Parser.AST.LayoutField other) + public TypeQualifiers() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeQualifiers.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(other, null)) - throw new global::System.ArgumentNullException("other", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = other.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } public void Dispose() @@ -3648,154 +3508,128 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.LayoutField __dummy; + global::CppSharp.Parser.AST.TypeQualifiers __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - public uint Offset - { - get - { - return ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->offset; - } - - set - { - ((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->offset = value; - } - } - - public string Name + public bool IsConst { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->name)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + return ((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) __Instance)->isConst != 0; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->name), value); + ((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*)__Instance)->isConst = (byte) (value ? 1 : 0); } } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType + public bool IsVolatile { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->qualifiedType)); + return ((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) __Instance)->isVolatile != 0; } set { - ((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*)__Instance)->isVolatile = (byte) (value ? 1 : 0); } } - public global::System.IntPtr FieldPtr + public bool IsRestrict { get { - return ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->fieldPtr; + return ((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) __Instance)->isRestrict != 0; } set { - ((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->fieldPtr = (global::System.IntPtr) value; + ((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*)__Instance)->isRestrict = (byte) (value ? 1 : 0); } } } - public unsafe partial class LayoutBase : IDisposable + public unsafe partial class QualifiedType : IDisposable { [StructLayout(LayoutKind.Explicit, Size = 16)] public partial struct __Internal { [FieldOffset(0)] - internal uint offset; + internal global::System.IntPtr type; [FieldOffset(8)] - internal global::System.IntPtr _class; + internal global::CppSharp.Parser.AST.TypeQualifiers.__Internal qualifiers; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0LayoutBase@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0QualifiedType@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0LayoutBase@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr other); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1LayoutBase@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern void dtor(global::System.IntPtr __instance, int delete); + EntryPoint="??0QualifiedType@AST@CppParser@CppSharp@@QEAA@AEBU0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); } public global::System.IntPtr __Instance { get; protected set; } protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); protected internal void*[] __OriginalVTables; protected bool __ownsNativeInstance; - internal static global::CppSharp.Parser.AST.LayoutBase __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.QualifiedType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.LayoutBase(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.QualifiedType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.LayoutBase __CreateInstance(global::CppSharp.Parser.AST.LayoutBase.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.QualifiedType __CreateInstance(global::CppSharp.Parser.AST.QualifiedType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.LayoutBase(native, skipVTables); + return new global::CppSharp.Parser.AST.QualifiedType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.LayoutBase.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.QualifiedType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); - global::CppSharp.Parser.AST.LayoutBase.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.QualifiedType.__Internal)); + *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) ret = native; return ret.ToPointer(); } - private LayoutBase(global::CppSharp.Parser.AST.LayoutBase.__Internal native, bool skipVTables = false) + private QualifiedType(global::CppSharp.Parser.AST.QualifiedType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected LayoutBase(void* native, bool skipVTables = false) + protected QualifiedType(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public LayoutBase() + public QualifiedType() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.QualifiedType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public LayoutBase(global::CppSharp.Parser.AST.LayoutBase other) + public QualifiedType(global::CppSharp.Parser.AST.QualifiedType _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.QualifiedType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(other, null)) - throw new global::System.ArgumentNullException("other", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = other.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + *((global::CppSharp.Parser.AST.QualifiedType.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.QualifiedType.__Internal*) _0.__Instance); } public void Dispose() @@ -3807,208 +3641,116 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.LayoutBase __dummy; + global::CppSharp.Parser.AST.QualifiedType __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - public uint Offset + public global::CppSharp.Parser.AST.Type Type { get { - return ((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->offset; + global::CppSharp.Parser.AST.Type __result0; + if (((global::CppSharp.Parser.AST.QualifiedType.__Internal*) __Instance)->type == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.QualifiedType.__Internal*) __Instance)->type)) + __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((global::CppSharp.Parser.AST.QualifiedType.__Internal*) __Instance)->type]; + else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((global::CppSharp.Parser.AST.QualifiedType.__Internal*) __Instance)->type); + return __result0; } set { - ((global::CppSharp.Parser.AST.LayoutBase.__Internal*)__Instance)->offset = value; + ((global::CppSharp.Parser.AST.QualifiedType.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public global::CppSharp.Parser.AST.Class Class + public global::CppSharp.Parser.AST.TypeQualifiers Qualifiers { get { - global::CppSharp.Parser.AST.Class __result0; - if (((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class)) - __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class]; - else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class); - return __result0; + return global::CppSharp.Parser.AST.TypeQualifiers.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.QualifiedType.__Internal*) __Instance)->qualifiers)); } set { - ((global::CppSharp.Parser.AST.LayoutBase.__Internal*)__Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.QualifiedType.__Internal*)__Instance)->qualifiers = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.TypeQualifiers.__Internal() : *(global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) value.__Instance; } } } - public unsafe partial class ClassLayout : IDisposable + public unsafe partial class TagType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 128)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 16)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CppAbi ABI; - - [FieldOffset(8)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_VFTableInfo___N_std_S_allocator__S0_ VFTables; - - [FieldOffset(32)] - internal global::CppSharp.Parser.AST.VTableLayout.__Internal layout; - - [FieldOffset(56)] - internal byte hasOwnVFPtr; - - [FieldOffset(60)] - internal int VBPtrOffset; - - [FieldOffset(64)] - internal int alignment; - - [FieldOffset(68)] - internal int size; - - [FieldOffset(72)] - internal int dataSize; + internal global::CppSharp.Parser.AST.TypeKind kind; - [FieldOffset(80)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_LayoutField___N_std_S_allocator__S0_ Fields; + [FieldOffset(4)] + internal byte isDependent; - [FieldOffset(104)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_LayoutBase___N_std_S_allocator__S0_ Bases; + [FieldOffset(8)] + internal global::System.IntPtr declaration; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0ClassLayout@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0TagType@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0ClassLayout@AST@CppParser@CppSharp@@QEAA@AEBU0123@@Z")] + EntryPoint="??0TagType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1ClassLayout@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern void dtor(global::System.IntPtr __instance, int delete); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getVFTables@ClassLayout@AST@CppParser@CppSharp@@QEAA?AUVFTableInfo@234@I@Z")] - internal static extern void GetVFTables(global::System.IntPtr __instance, global::System.IntPtr @return, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addVFTables@ClassLayout@AST@CppParser@CppSharp@@QEAAXAEAUVFTableInfo@234@@Z")] - internal static extern void AddVFTables(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearVFTables@ClassLayout@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearVFTables(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getFields@ClassLayout@AST@CppParser@CppSharp@@QEAA?AVLayoutField@234@I@Z")] - internal static extern void GetFields(global::System.IntPtr __instance, global::System.IntPtr @return, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addFields@ClassLayout@AST@CppParser@CppSharp@@QEAAXAEAVLayoutField@234@@Z")] - internal static extern void AddFields(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearFields@ClassLayout@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearFields(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getBases@ClassLayout@AST@CppParser@CppSharp@@QEAA?AVLayoutBase@234@I@Z")] - internal static extern void GetBases(global::System.IntPtr __instance, global::System.IntPtr @return, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addBases@ClassLayout@AST@CppParser@CppSharp@@QEAAXAEAVLayoutBase@234@@Z")] - internal static extern void AddBases(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearBases@ClassLayout@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearBases(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getVFTablesCount@ClassLayout@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetVFTablesCount(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getFieldsCount@ClassLayout@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetFieldsCount(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getBasesCount@ClassLayout@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetBasesCount(global::System.IntPtr __instance); } - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.ClassLayout __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TagType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ClassLayout(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TagType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.ClassLayout __CreateInstance(global::CppSharp.Parser.AST.ClassLayout.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TagType __CreateInstance(global::CppSharp.Parser.AST.TagType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ClassLayout(native, skipVTables); + return new global::CppSharp.Parser.AST.TagType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ClassLayout.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TagType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); - global::CppSharp.Parser.AST.ClassLayout.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); + global::CppSharp.Parser.AST.TagType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private ClassLayout(global::CppSharp.Parser.AST.ClassLayout.__Internal native, bool skipVTables = false) + private TagType(global::CppSharp.Parser.AST.TagType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected ClassLayout(void* native, bool skipVTables = false) + protected TagType(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public ClassLayout() - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); + public TagType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public ClassLayout(global::CppSharp.Parser.AST.ClassLayout _0) + public TagType(global::CppSharp.Parser.AST.TagType _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -4017,146 +3759,144 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public void Dispose() + public global::CppSharp.Parser.AST.Declaration Declaration { - Dispose(disposing: true); - } + get + { + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration); + return __result0; + } - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.ClassLayout __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + set + { + ((global::CppSharp.Parser.AST.TagType.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } } + } - public global::CppSharp.Parser.AST.VFTableInfo GetVFTables(uint i) + public unsafe partial class ArrayType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct __Internal { - var __ret = new global::CppSharp.Parser.AST.VFTableInfo.__Internal(); - __Internal.GetVFTables((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); - return global::CppSharp.Parser.AST.VFTableInfo.__CreateInstance(__ret); - } + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; - public void AddVFTables(global::CppSharp.Parser.AST.VFTableInfo s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddVFTables((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(4)] + internal byte isDependent; - public void ClearVFTables() - { - __Internal.ClearVFTables((__Instance + __PointerAdjustment)); - } + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - public global::CppSharp.Parser.AST.LayoutField GetFields(uint i) - { - var __ret = new global::CppSharp.Parser.AST.LayoutField.__Internal(); - __Internal.GetFields((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); - return global::CppSharp.Parser.AST.LayoutField.__CreateInstance(__ret); + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.ArrayType.ArraySize sizeType; + + [FieldOffset(28)] + internal int size; + + [FieldOffset(32)] + internal int elementSize; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0ArrayType@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0ArrayType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); } - public void AddFields(global::CppSharp.Parser.AST.LayoutField s) + public enum ArraySize { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddFields((__Instance + __PointerAdjustment), __arg0); + Constant = 0, + Variable = 1, + Dependent = 2, + Incomplete = 3 } - public void ClearFields() + internal static new global::CppSharp.Parser.AST.ArrayType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - __Internal.ClearFields((__Instance + __PointerAdjustment)); + return new global::CppSharp.Parser.AST.ArrayType(native.ToPointer(), skipVTables); } - public global::CppSharp.Parser.AST.LayoutBase GetBases(uint i) + internal static global::CppSharp.Parser.AST.ArrayType __CreateInstance(global::CppSharp.Parser.AST.ArrayType.__Internal native, bool skipVTables = false) { - var __ret = new global::CppSharp.Parser.AST.LayoutBase.__Internal(); - __Internal.GetBases((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); - return global::CppSharp.Parser.AST.LayoutBase.__CreateInstance(__ret); + return new global::CppSharp.Parser.AST.ArrayType(native, skipVTables); } - public void AddBases(global::CppSharp.Parser.AST.LayoutBase s) + private static void* __CopyValue(global::CppSharp.Parser.AST.ArrayType.__Internal native) { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddBases((__Instance + __PointerAdjustment), __arg0); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); + global::CppSharp.Parser.AST.ArrayType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - public void ClearBases() + private ArrayType(global::CppSharp.Parser.AST.ArrayType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - __Internal.ClearBases((__Instance + __PointerAdjustment)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; } - public global::CppSharp.Parser.AST.CppAbi ABI + protected ArrayType(void* native, bool skipVTables = false) + : base((void*) null) { - get - { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->ABI; - } - - set - { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->ABI = value; - } + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - public global::CppSharp.Parser.AST.VTableLayout Layout + public ArrayType() + : this((void*) null) { - get - { - return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->layout)); - } - - set - { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->layout = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.VTableLayout.__Internal() : *(global::CppSharp.Parser.AST.VTableLayout.__Internal*) value.__Instance; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); } - public bool HasOwnVFPtr + public ArrayType(global::CppSharp.Parser.AST.ArrayType _0) + : this((void*) null) { - get - { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->hasOwnVFPtr != 0; - } - - set - { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->hasOwnVFPtr = (byte) (value ? 1 : 0); - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public int VBPtrOffset + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { get { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->VBPtrOffset; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->qualifiedType)); } set { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->VBPtrOffset = value; + ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public int Alignment + public global::CppSharp.Parser.AST.ArrayType.ArraySize SizeType { get { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->alignment; + return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->sizeType; } set { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->alignment = value; + ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->sizeType = value; } } @@ -4164,227 +3904,134 @@ namespace CppSharp { get { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->size; + return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->size; } set { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->size = value; + ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->size = value; } } - public int DataSize + public int ElementSize { get { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->dataSize; + return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->elementSize; } set { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->dataSize = value; - } - } - - public uint VFTablesCount - { - get - { - var __ret = __Internal.GetVFTablesCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint FieldsCount - { - get - { - var __ret = __Internal.GetFieldsCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint BasesCount - { - get - { - var __ret = __Internal.GetBasesCount((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.ArrayType.__Internal*)__Instance)->elementSize = value; } } } - public unsafe partial class Declaration : IDisposable + public unsafe partial class FunctionType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 224)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - internal int maxFieldAlignment; + internal byte isDependent; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + internal global::CppSharp.Parser.AST.CallingConvention callingConvention; [FieldOffset(28)] - internal int lineNumberStart; + internal global::CppSharp.Parser.AST.ExceptionSpecType exceptionSpecType; [FieldOffset(32)] - internal int lineNumberEnd; + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_S_allocator__S0_ Parameters; - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0FunctionType@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); - [FieldOffset(72)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - - [FieldOffset(104)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - - [FieldOffset(136)] - internal byte isIncomplete; - - [FieldOffset(137)] - internal byte isDependent; - - [FieldOffset(138)] - internal byte isImplicit; - - [FieldOffset(139)] - internal byte isInvalid; - - [FieldOffset(144)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(152)] - internal uint definitionOrder; - - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(184)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - - [FieldOffset(208)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(216)] - internal global::System.IntPtr comment; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Declaration@AST@CppParser@CppSharp@@QEAA@W4DeclarationKind@123@@Z")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.DeclarationKind kind); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Declaration@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0FunctionType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1Declaration@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??1FunctionType@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern void dtor(global::System.IntPtr __instance, int delete); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getPreprocessedEntities@Declaration@AST@CppParser@CppSharp@@QEAAPEAVPreprocessedEntity@234@I@Z")] - internal static extern global::System.IntPtr GetPreprocessedEntities(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addPreprocessedEntities@Declaration@AST@CppParser@CppSharp@@QEAAXAEAPEAVPreprocessedEntity@234@@Z")] - internal static extern void AddPreprocessedEntities(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearPreprocessedEntities@Declaration@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearPreprocessedEntities(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getRedeclarations@Declaration@AST@CppParser@CppSharp@@QEAAPEAV1234@I@Z")] - internal static extern global::System.IntPtr GetRedeclarations(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addRedeclarations@Declaration@AST@CppParser@CppSharp@@QEAAXAEAPEAV1234@@Z")] - internal static extern void AddRedeclarations(global::System.IntPtr __instance, global::System.IntPtr s); + EntryPoint="?getParameters@FunctionType@AST@CppParser@CppSharp@@QEAAPEAVParameter@234@I@Z")] + internal static extern global::System.IntPtr GetParameters(global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearRedeclarations@Declaration@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearRedeclarations(global::System.IntPtr __instance); + EntryPoint="?addParameters@FunctionType@AST@CppParser@CppSharp@@QEAAXAEAPEAVParameter@234@@Z")] + internal static extern void AddParameters(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getPreprocessedEntitiesCount@Declaration@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetPreprocessedEntitiesCount(global::System.IntPtr __instance); + EntryPoint="?clearParameters@FunctionType@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearParameters(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getRedeclarationsCount@Declaration@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetRedeclarationsCount(global::System.IntPtr __instance); + EntryPoint="?getParametersCount@FunctionType@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetParametersCount(global::System.IntPtr __instance); } - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.Declaration __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.FunctionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Declaration(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.FunctionType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Declaration __CreateInstance(global::CppSharp.Parser.AST.Declaration.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.FunctionType __CreateInstance(global::CppSharp.Parser.AST.FunctionType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Declaration(native, skipVTables); + return new global::CppSharp.Parser.AST.FunctionType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Declaration.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); - global::CppSharp.Parser.AST.Declaration.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); + global::CppSharp.Parser.AST.FunctionType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Declaration(global::CppSharp.Parser.AST.Declaration.__Internal native, bool skipVTables = false) + private FunctionType(global::CppSharp.Parser.AST.FunctionType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Declaration(void* native, bool skipVTables = false) + protected FunctionType(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public Declaration(global::CppSharp.Parser.AST.DeclarationKind kind) + public FunctionType() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), kind); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public Declaration(global::CppSharp.Parser.AST.Declaration _0) + public FunctionType(global::CppSharp.Parser.AST.FunctionType _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -4393,16 +4040,11 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.Type __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -4411,655 +4053,552 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.PreprocessedEntity GetPreprocessedEntities(uint i) - { - var __ret = __Internal.GetPreprocessedEntities((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.PreprocessedEntity __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.PreprocessedEntity.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.PreprocessedEntity) global::CppSharp.Parser.AST.PreprocessedEntity.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.PreprocessedEntity.__CreateInstance(__ret); - return __result0; - } - - public void AddPreprocessedEntities(global::CppSharp.Parser.AST.PreprocessedEntity s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddPreprocessedEntities((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearPreprocessedEntities() - { - __Internal.ClearPreprocessedEntities((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.Declaration GetRedeclarations(uint i) + public global::CppSharp.Parser.AST.Parameter GetParameters(uint i) { - var __ret = __Internal.GetRedeclarations((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Declaration __result0; + var __ret = __Internal.GetParameters((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Parameter __result0; if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(__ret); + else if (global::CppSharp.Parser.AST.Parameter.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Parameter) global::CppSharp.Parser.AST.Parameter.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Parameter.__CreateInstance(__ret); return __result0; } - public void AddRedeclarations(global::CppSharp.Parser.AST.Declaration s) + public void AddParameters(global::CppSharp.Parser.AST.Parameter s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddRedeclarations((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearRedeclarations() - { - __Internal.ClearRedeclarations((__Instance + __PointerAdjustment)); + __Internal.AddParameters((__Instance + __PointerAdjustment), __arg0); } - public static implicit operator global::CppSharp.Parser.AST.Declaration(global::CppSharp.Parser.AST.DeclarationKind kind) + public void ClearParameters() { - return new global::CppSharp.Parser.AST.Declaration(kind); + __Internal.ClearParameters((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.DeclarationKind Kind + public global::CppSharp.Parser.AST.QualifiedType ReturnType { get { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->kind; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->returnType)); } set { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->kind = value; + ((global::CppSharp.Parser.AST.FunctionType.__Internal*)__Instance)->returnType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public int MaxFieldAlignment + public global::CppSharp.Parser.AST.CallingConvention CallingConvention { get { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->maxFieldAlignment; + return ((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->callingConvention; } set { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->maxFieldAlignment = value; + ((global::CppSharp.Parser.AST.FunctionType.__Internal*)__Instance)->callingConvention = value; } } - public global::CppSharp.Parser.AST.AccessSpecifier Access + public global::CppSharp.Parser.AST.ExceptionSpecType ExceptionSpecType { get { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->access; + return ((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->exceptionSpecType; } set { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->access = value; + ((global::CppSharp.Parser.AST.FunctionType.__Internal*)__Instance)->exceptionSpecType = value; } } - public global::CppSharp.Parser.AST.DeclarationContext Namespace + public uint ParametersCount { get { - global::CppSharp.Parser.AST.DeclarationContext __result0; - if (((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.DeclarationContext.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace)) - __result0 = (global::CppSharp.Parser.AST.DeclarationContext) global::CppSharp.Parser.AST.DeclarationContext.NativeToManagedMap[((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace]; - else __result0 = global::CppSharp.Parser.AST.DeclarationContext.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->_namespace = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + var __ret = __Internal.GetParametersCount((__Instance + __PointerAdjustment)); + return __ret; } } + } - public global::CppSharp.Parser.SourceLocation Location + public unsafe partial class PointerType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal { - get - { - return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->location); - } + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->location = value.__Instance; - } - } + [FieldOffset(4)] + internal byte isDependent; - public int LineNumberStart - { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->lineNumberStart; - } + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedPointee; - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->lineNumberStart = value; - } - } + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.PointerType.TypeModifier modifier; - public int LineNumberEnd - { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->lineNumberEnd; - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0PointerType@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->lineNumberEnd = value; - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0PointerType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); } - public string Name + public enum TypeModifier { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->name)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + Value = 0, + Pointer = 1, + LVReference = 2, + RVReference = 3 + } - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->name), value); - } + internal static new global::CppSharp.Parser.AST.PointerType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.PointerType(native.ToPointer(), skipVTables); } - public string USR + internal static global::CppSharp.Parser.AST.PointerType __CreateInstance(global::CppSharp.Parser.AST.PointerType.__Internal native, bool skipVTables = false) { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->USR)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + return new global::CppSharp.Parser.AST.PointerType(native, skipVTables); + } - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->USR), value); - } + private static void* __CopyValue(global::CppSharp.Parser.AST.PointerType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); + global::CppSharp.Parser.AST.PointerType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - public string DebugText + private PointerType(global::CppSharp.Parser.AST.PointerType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->debugText)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->debugText), value); - } + protected PointerType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - public bool IsIncomplete + public PointerType() + : this((void*) null) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isIncomplete != 0; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isIncomplete = (byte) (value ? 1 : 0); - } + public PointerType(global::CppSharp.Parser.AST.PointerType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public bool IsDependent + public global::CppSharp.Parser.AST.QualifiedType QualifiedPointee { get { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isDependent != 0; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->qualifiedPointee)); } set { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isDependent = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.PointerType.__Internal*)__Instance)->qualifiedPointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public bool IsImplicit + public global::CppSharp.Parser.AST.PointerType.TypeModifier Modifier { get { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isImplicit != 0; + return ((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->modifier; } set { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isImplicit = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.PointerType.__Internal*)__Instance)->modifier = value; } } + } - public bool IsInvalid + public unsafe partial class MemberPointerType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public new partial struct __Internal { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isInvalid != 0; - } + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isInvalid = (byte) (value ? 1 : 0); - } + [FieldOffset(4)] + internal byte isDependent; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0MemberPointerType@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0MemberPointerType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); } - public global::CppSharp.Parser.AST.Declaration CompleteDeclaration + internal static new global::CppSharp.Parser.AST.MemberPointerType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - get - { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->completeDeclaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + return new global::CppSharp.Parser.AST.MemberPointerType(native.ToPointer(), skipVTables); } - public uint DefinitionOrder + internal static global::CppSharp.Parser.AST.MemberPointerType __CreateInstance(global::CppSharp.Parser.AST.MemberPointerType.__Internal native, bool skipVTables = false) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->definitionOrder; - } + return new global::CppSharp.Parser.AST.MemberPointerType(native, skipVTables); + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->definitionOrder = value; - } + private static void* __CopyValue(global::CppSharp.Parser.AST.MemberPointerType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); + global::CppSharp.Parser.AST.MemberPointerType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - public global::System.IntPtr OriginalPtr + private MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->originalPtr; - } + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->originalPtr = (global::System.IntPtr) value; - } + protected MemberPointerType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - public global::CppSharp.Parser.AST.RawComment Comment + public MemberPointerType() + : this((void*) null) { - get - { - global::CppSharp.Parser.AST.RawComment __result0; - if (((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.RawComment.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment)) - __result0 = (global::CppSharp.Parser.AST.RawComment) global::CppSharp.Parser.AST.RawComment.NativeToManagedMap[((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment]; - else __result0 = global::CppSharp.Parser.AST.RawComment.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment); - return __result0; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->comment = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + public MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public uint PreprocessedEntitiesCount + public global::CppSharp.Parser.AST.QualifiedType Pointee { get { - var __ret = __Internal.GetPreprocessedEntitiesCount((__Instance + __PointerAdjustment)); - return __ret; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MemberPointerType.__Internal*) __Instance)->pointee)); } - } - public uint RedeclarationsCount - { - get + set { - var __ret = __Internal.GetRedeclarationsCount((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.MemberPointerType.__Internal*)__Instance)->pointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } } - public unsafe partial class DeclarationContext : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class TypedefType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 464)] + [StructLayout(LayoutKind.Explicit, Size = 16)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - internal int maxFieldAlignment; + internal byte isDependent; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; + internal global::System.IntPtr declaration; - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0TypedefType@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); - [FieldOffset(28)] - internal int lineNumberStart; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0TypedefType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } - [FieldOffset(32)] - internal int lineNumberEnd; + internal static new global::CppSharp.Parser.AST.TypedefType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TypedefType(native.ToPointer(), skipVTables); + } - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + internal static global::CppSharp.Parser.AST.TypedefType __CreateInstance(global::CppSharp.Parser.AST.TypedefType.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TypedefType(native, skipVTables); + } - [FieldOffset(72)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); + global::CppSharp.Parser.AST.TypedefType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(104)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + private TypedefType(global::CppSharp.Parser.AST.TypedefType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(136)] - internal byte isIncomplete; + protected TypedefType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(137)] - internal byte isDependent; + public TypedefType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [FieldOffset(138)] - internal byte isImplicit; + public TypedefType(global::CppSharp.Parser.AST.TypedefType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(139)] - internal byte isInvalid; + public global::CppSharp.Parser.AST.TypedefNameDecl Declaration + { + get + { + global::CppSharp.Parser.AST.TypedefNameDecl __result0; + if (((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TypedefNameDecl.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration)) + __result0 = (global::CppSharp.Parser.AST.TypedefNameDecl) global::CppSharp.Parser.AST.TypedefNameDecl.NativeToManagedMap[((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration]; + else __result0 = global::CppSharp.Parser.AST.TypedefNameDecl.__CreateInstance(((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration); + return __result0; + } - [FieldOffset(144)] - internal global::System.IntPtr completeDeclaration; + set + { + ((global::CppSharp.Parser.AST.TypedefType.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } - [FieldOffset(152)] - internal uint definitionOrder; + public unsafe partial class AttributedType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + [FieldOffset(4)] + internal byte isDependent; - [FieldOffset(184)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal modified; - [FieldOffset(208)] - internal global::System.IntPtr originalPtr; + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal equivalent; - [FieldOffset(216)] - internal global::System.IntPtr comment; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0AttributedType@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); - [FieldOffset(224)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0AttributedType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + } - [FieldOffset(248)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; + internal static new global::CppSharp.Parser.AST.AttributedType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AttributedType(native.ToPointer(), skipVTables); + } - [FieldOffset(272)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; + internal static global::CppSharp.Parser.AST.AttributedType __CreateInstance(global::CppSharp.Parser.AST.AttributedType.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.AttributedType(native, skipVTables); + } - [FieldOffset(296)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; + private static void* __CopyValue(global::CppSharp.Parser.AST.AttributedType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + global::CppSharp.Parser.AST.AttributedType.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(320)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; + private AttributedType(global::CppSharp.Parser.AST.AttributedType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(344)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; + protected AttributedType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(368)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; + public AttributedType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [FieldOffset(392)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; + public AttributedType(global::CppSharp.Parser.AST.AttributedType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(416)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; + public global::CppSharp.Parser.AST.QualifiedType Modified + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.AttributedType.__Internal*) __Instance)->modified)); + } - [FieldOffset(440)] - internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + set + { + ((global::CppSharp.Parser.AST.AttributedType.__Internal*)__Instance)->modified = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } - [FieldOffset(456)] - internal byte isAnonymous; + public global::CppSharp.Parser.AST.QualifiedType Equivalent + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.AttributedType.__Internal*) __Instance)->equivalent)); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0DeclarationContext@AST@CppParser@CppSharp@@QEAA@W4DeclarationKind@123@@Z")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.DeclarationKind kind); + set + { + ((global::CppSharp.Parser.AST.AttributedType.__Internal*)__Instance)->equivalent = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0DeclarationContext@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + public unsafe partial class DecayedType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1DeclarationContext@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern void dtor(global::System.IntPtr __instance, int delete); + [FieldOffset(4)] + internal byte isDependent; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getNamespaces@DeclarationContext@AST@CppParser@CppSharp@@QEAAPEAVNamespace@234@I@Z")] - internal static extern global::System.IntPtr GetNamespaces(global::System.IntPtr __instance, uint i); + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal decayed; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal original; + + [FieldOffset(40)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addNamespaces@DeclarationContext@AST@CppParser@CppSharp@@QEAAXAEAPEAVNamespace@234@@Z")] - internal static extern void AddNamespaces(global::System.IntPtr __instance, global::System.IntPtr s); + EntryPoint="??0DecayedType@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearNamespaces@DeclarationContext@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearNamespaces(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getEnums@DeclarationContext@AST@CppParser@CppSharp@@QEAAPEAVEnumeration@234@I@Z")] - internal static extern global::System.IntPtr GetEnums(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addEnums@DeclarationContext@AST@CppParser@CppSharp@@QEAAXAEAPEAVEnumeration@234@@Z")] - internal static extern void AddEnums(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearEnums@DeclarationContext@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearEnums(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getFunctions@DeclarationContext@AST@CppParser@CppSharp@@QEAAPEAVFunction@234@I@Z")] - internal static extern global::System.IntPtr GetFunctions(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addFunctions@DeclarationContext@AST@CppParser@CppSharp@@QEAAXAEAPEAVFunction@234@@Z")] - internal static extern void AddFunctions(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearFunctions@DeclarationContext@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearFunctions(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getClasses@DeclarationContext@AST@CppParser@CppSharp@@QEAAPEAVClass@234@I@Z")] - internal static extern global::System.IntPtr GetClasses(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addClasses@DeclarationContext@AST@CppParser@CppSharp@@QEAAXAEAPEAVClass@234@@Z")] - internal static extern void AddClasses(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearClasses@DeclarationContext@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearClasses(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getTemplates@DeclarationContext@AST@CppParser@CppSharp@@QEAAPEAVTemplate@234@I@Z")] - internal static extern global::System.IntPtr GetTemplates(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addTemplates@DeclarationContext@AST@CppParser@CppSharp@@QEAAXAEAPEAVTemplate@234@@Z")] - internal static extern void AddTemplates(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearTemplates@DeclarationContext@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearTemplates(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getTypedefs@DeclarationContext@AST@CppParser@CppSharp@@QEAAPEAVTypedefDecl@234@I@Z")] - internal static extern global::System.IntPtr GetTypedefs(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addTypedefs@DeclarationContext@AST@CppParser@CppSharp@@QEAAXAEAPEAVTypedefDecl@234@@Z")] - internal static extern void AddTypedefs(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearTypedefs@DeclarationContext@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearTypedefs(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getTypeAliases@DeclarationContext@AST@CppParser@CppSharp@@QEAAPEAVTypeAlias@234@I@Z")] - internal static extern global::System.IntPtr GetTypeAliases(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addTypeAliases@DeclarationContext@AST@CppParser@CppSharp@@QEAAXAEAPEAVTypeAlias@234@@Z")] - internal static extern void AddTypeAliases(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearTypeAliases@DeclarationContext@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearTypeAliases(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getVariables@DeclarationContext@AST@CppParser@CppSharp@@QEAAPEAVVariable@234@I@Z")] - internal static extern global::System.IntPtr GetVariables(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addVariables@DeclarationContext@AST@CppParser@CppSharp@@QEAAXAEAPEAVVariable@234@@Z")] - internal static extern void AddVariables(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearVariables@DeclarationContext@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearVariables(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getFriends@DeclarationContext@AST@CppParser@CppSharp@@QEAAPEAVFriend@234@I@Z")] - internal static extern global::System.IntPtr GetFriends(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addFriends@DeclarationContext@AST@CppParser@CppSharp@@QEAAXAEAPEAVFriend@234@@Z")] - internal static extern void AddFriends(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearFriends@DeclarationContext@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearFriends(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getNamespacesCount@DeclarationContext@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetNamespacesCount(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getEnumsCount@DeclarationContext@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetEnumsCount(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getFunctionsCount@DeclarationContext@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetFunctionsCount(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getClassesCount@DeclarationContext@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetClassesCount(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getTemplatesCount@DeclarationContext@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetTemplatesCount(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getTypedefsCount@DeclarationContext@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetTypedefsCount(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getTypeAliasesCount@DeclarationContext@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetTypeAliasesCount(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getVariablesCount@DeclarationContext@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetVariablesCount(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getFriendsCount@DeclarationContext@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetFriendsCount(global::System.IntPtr __instance); + EntryPoint="??0DecayedType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); } - internal static new global::CppSharp.Parser.AST.DeclarationContext __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.DecayedType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.DeclarationContext(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.DecayedType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.DeclarationContext __CreateInstance(global::CppSharp.Parser.AST.DeclarationContext.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.DecayedType __CreateInstance(global::CppSharp.Parser.AST.DecayedType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.DeclarationContext(native, skipVTables); + return new global::CppSharp.Parser.AST.DecayedType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.DeclarationContext.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.DecayedType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); - global::CppSharp.Parser.AST.DeclarationContext.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); + global::CppSharp.Parser.AST.DecayedType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private DeclarationContext(global::CppSharp.Parser.AST.DeclarationContext.__Internal native, bool skipVTables = false) + private DecayedType(global::CppSharp.Parser.AST.DecayedType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected DeclarationContext(void* native, bool skipVTables = false) + protected DecayedType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -5068,19 +4607,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public DeclarationContext(global::CppSharp.Parser.AST.DeclarationKind kind) + public DecayedType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), kind); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public DeclarationContext(global::CppSharp.Parser.AST.DeclarationContext _0) + public DecayedType(global::CppSharp.Parser.AST.DecayedType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -5089,444 +4628,296 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public global::CppSharp.Parser.AST.QualifiedType Decayed { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->decayed)); + } - public global::CppSharp.Parser.AST.Namespace GetNamespaces(uint i) - { - var __ret = __Internal.GetNamespaces((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Namespace __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Namespace.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Namespace) global::CppSharp.Parser.AST.Namespace.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Namespace.__CreateInstance(__ret); - return __result0; + set + { + ((global::CppSharp.Parser.AST.DecayedType.__Internal*)__Instance)->decayed = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } - public void AddNamespaces(global::CppSharp.Parser.AST.Namespace s) + public global::CppSharp.Parser.AST.QualifiedType Original { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddNamespaces((__Instance + __PointerAdjustment), __arg0); - } + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->original)); + } - public void ClearNamespaces() - { - __Internal.ClearNamespaces((__Instance + __PointerAdjustment)); + set + { + ((global::CppSharp.Parser.AST.DecayedType.__Internal*)__Instance)->original = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } - public global::CppSharp.Parser.AST.Enumeration GetEnums(uint i) + public global::CppSharp.Parser.AST.QualifiedType Pointee { - var __ret = __Internal.GetEnums((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Enumeration __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Enumeration.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Enumeration) global::CppSharp.Parser.AST.Enumeration.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Enumeration.__CreateInstance(__ret); - return __result0; - } + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->pointee)); + } - public void AddEnums(global::CppSharp.Parser.AST.Enumeration s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddEnums((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearEnums() - { - __Internal.ClearEnums((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.Function GetFunctions(uint i) - { - var __ret = __Internal.GetFunctions((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Function __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(__ret); - return __result0; - } - - public void AddFunctions(global::CppSharp.Parser.AST.Function s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddFunctions((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearFunctions() - { - __Internal.ClearFunctions((__Instance + __PointerAdjustment)); + set + { + ((global::CppSharp.Parser.AST.DecayedType.__Internal*)__Instance)->pointee = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } + } - public global::CppSharp.Parser.AST.Class GetClasses(uint i) + public unsafe partial class TemplateArgument : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public partial struct __Internal { - var __ret = __Internal.GetClasses((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Class __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(__ret); - return __result0; - } + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind kind; - public void AddClasses(global::CppSharp.Parser.AST.Class s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddClasses((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; - public void ClearClasses() - { - __Internal.ClearClasses((__Instance + __PointerAdjustment)); - } + [FieldOffset(24)] + internal global::System.IntPtr declaration; - public global::CppSharp.Parser.AST.Template GetTemplates(uint i) - { - var __ret = __Internal.GetTemplates((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Template __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Template.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Template) global::CppSharp.Parser.AST.Template.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Template.__CreateInstance(__ret); - return __result0; - } + [FieldOffset(32)] + internal int integral; - public void AddTemplates(global::CppSharp.Parser.AST.Template s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddTemplates((__Instance + __PointerAdjustment), __arg0); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0TemplateArgument@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); - public void ClearTemplates() - { - __Internal.ClearTemplates((__Instance + __PointerAdjustment)); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0TemplateArgument@AST@CppParser@CppSharp@@QEAA@AEBU0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); } - public global::CppSharp.Parser.AST.TypedefDecl GetTypedefs(uint i) + public enum ArgumentKind { - var __ret = __Internal.GetTypedefs((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.TypedefDecl __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TypedefDecl.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.TypedefDecl) global::CppSharp.Parser.AST.TypedefDecl.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.TypedefDecl.__CreateInstance(__ret); - return __result0; + Type = 0, + Declaration = 1, + NullPtr = 2, + Integral = 3, + Template = 4, + TemplateExpansion = 5, + Expression = 6, + Pack = 7 } - public void AddTypedefs(global::CppSharp.Parser.AST.TypedefDecl s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddTypedefs((__Instance + __PointerAdjustment), __arg0); - } + public global::System.IntPtr __Instance { get; protected set; } - public void ClearTypedefs() - { - __Internal.ClearTypedefs((__Instance + __PointerAdjustment)); - } + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; - public global::CppSharp.Parser.AST.TypeAlias GetTypeAliases(uint i) - { - var __ret = __Internal.GetTypeAliases((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.TypeAlias __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TypeAlias.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.TypeAlias) global::CppSharp.Parser.AST.TypeAlias.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.TypeAlias.__CreateInstance(__ret); - return __result0; - } + protected bool __ownsNativeInstance; - public void AddTypeAliases(global::CppSharp.Parser.AST.TypeAlias s) + internal static global::CppSharp.Parser.AST.TemplateArgument __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddTypeAliases((__Instance + __PointerAdjustment), __arg0); + return new global::CppSharp.Parser.AST.TemplateArgument(native.ToPointer(), skipVTables); } - public void ClearTypeAliases() + internal static global::CppSharp.Parser.AST.TemplateArgument __CreateInstance(global::CppSharp.Parser.AST.TemplateArgument.__Internal native, bool skipVTables = false) { - __Internal.ClearTypeAliases((__Instance + __PointerAdjustment)); + return new global::CppSharp.Parser.AST.TemplateArgument(native, skipVTables); } - public global::CppSharp.Parser.AST.Variable GetVariables(uint i) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateArgument.__Internal native) { - var __ret = __Internal.GetVariables((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Variable __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Variable.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Variable) global::CppSharp.Parser.AST.Variable.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Variable.__CreateInstance(__ret); - return __result0; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + *(global::CppSharp.Parser.AST.TemplateArgument.__Internal*) ret = native; + return ret.ToPointer(); } - public void AddVariables(global::CppSharp.Parser.AST.Variable s) + private TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddVariables((__Instance + __PointerAdjustment), __arg0); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; } - public void ClearVariables() + protected TemplateArgument(void* native, bool skipVTables = false) { - __Internal.ClearVariables((__Instance + __PointerAdjustment)); + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - public global::CppSharp.Parser.AST.Friend GetFriends(uint i) + public TemplateArgument() { - var __ret = __Internal.GetFriends((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Friend __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Friend.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Friend) global::CppSharp.Parser.AST.Friend.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Friend.__CreateInstance(__ret); - return __result0; + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); } - public void AddFriends(global::CppSharp.Parser.AST.Friend s) + public TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument _0) { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddFriends((__Instance + __PointerAdjustment), __arg0); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) _0.__Instance); } - public void ClearFriends() + public void Dispose() { - __Internal.ClearFriends((__Instance + __PointerAdjustment)); + Dispose(disposing: true); } - public static implicit operator global::CppSharp.Parser.AST.DeclarationContext(global::CppSharp.Parser.AST.DeclarationKind kind) + public virtual void Dispose(bool disposing) { - return new global::CppSharp.Parser.AST.DeclarationContext(kind); + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.TemplateArgument __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } - public bool IsAnonymous + public global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind Kind { get { - return ((global::CppSharp.Parser.AST.DeclarationContext.__Internal*) __Instance)->isAnonymous != 0; + return ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->kind; } set { - ((global::CppSharp.Parser.AST.DeclarationContext.__Internal*)__Instance)->isAnonymous = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->kind = value; } } - public uint NamespacesCount + public global::CppSharp.Parser.AST.QualifiedType Type { get { - var __ret = __Internal.GetNamespacesCount((__Instance + __PointerAdjustment)); - return __ret; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->type)); } - } - public uint EnumsCount - { - get + set { - var __ret = __Internal.GetEnumsCount((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public uint FunctionsCount + public global::CppSharp.Parser.AST.Declaration Declaration { get { - var __ret = __Internal.GetFunctionsCount((__Instance + __PointerAdjustment)); - return __ret; + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration); + return __result0; } - } - public uint ClassesCount - { - get + set { - var __ret = __Internal.GetClassesCount((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public uint TemplatesCount - { - get - { - var __ret = __Internal.GetTemplatesCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint TypedefsCount - { - get - { - var __ret = __Internal.GetTypedefsCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint TypeAliasesCount - { - get - { - var __ret = __Internal.GetTypeAliasesCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint VariablesCount + public int Integral { get { - var __ret = __Internal.GetVariablesCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->integral; } - } - public uint FriendsCount - { - get + set { - var __ret = __Internal.GetFriendsCount((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*)__Instance)->integral = value; } } } - public unsafe partial class TypedefNameDecl : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class TemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 240)] + [StructLayout(LayoutKind.Explicit, Size = 56)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - internal int maxFieldAlignment; + internal byte isDependent; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; [FieldOffset(32)] - internal int lineNumberEnd; + internal global::System.IntPtr _template; [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(72)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - - [FieldOffset(104)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - - [FieldOffset(136)] - internal byte isIncomplete; - - [FieldOffset(137)] - internal byte isDependent; - - [FieldOffset(138)] - internal byte isImplicit; - - [FieldOffset(139)] - internal byte isInvalid; - - [FieldOffset(144)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(152)] - internal uint definitionOrder; - - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; - [FieldOffset(184)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0TemplateSpecializationType@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); - [FieldOffset(208)] - internal global::System.IntPtr originalPtr; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0TemplateSpecializationType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - [FieldOffset(216)] - internal global::System.IntPtr comment; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1TemplateSpecializationType@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); - [FieldOffset(224)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getArguments@TemplateSpecializationType@AST@CppParser@CppSharp@@QEAA?AUTemplateArgument@234@I@Z")] + internal static extern void GetArguments(global::System.IntPtr __instance, global::System.IntPtr @return, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TypedefNameDecl@AST@CppParser@CppSharp@@QEAA@W4DeclarationKind@123@@Z")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.DeclarationKind kind); + EntryPoint="?addArguments@TemplateSpecializationType@AST@CppParser@CppSharp@@QEAAXAEAUTemplateArgument@234@@Z")] + internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TypedefNameDecl@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + EntryPoint="?clearArguments@TemplateSpecializationType@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearArguments(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1TypedefNameDecl@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern void dtor(global::System.IntPtr __instance, int delete); + EntryPoint="?getArgumentsCount@TemplateSpecializationType@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.TypedefNameDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TemplateSpecializationType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypedefNameDecl(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TemplateSpecializationType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TypedefNameDecl __CreateInstance(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TemplateSpecializationType __CreateInstance(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypedefNameDecl(native, skipVTables); + return new global::CppSharp.Parser.AST.TemplateSpecializationType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); - global::CppSharp.Parser.AST.TypedefNameDecl.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); + global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native, bool skipVTables = false) + private TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TypedefNameDecl(void* native, bool skipVTables = false) + protected TemplateSpecializationType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -5535,19 +4926,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) + public TemplateSpecializationType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), kind); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl _0) + public TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -5560,7 +4951,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.Type __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -5569,134 +4960,145 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public static implicit operator global::CppSharp.Parser.AST.TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) { - return new global::CppSharp.Parser.AST.TypedefNameDecl(kind); + var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); + __Internal.GetArguments((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); + return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType + public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearArguments() + { + __Internal.ClearArguments((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Template Template { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TypedefNameDecl.__Internal*) __Instance)->qualifiedType)); + global::CppSharp.Parser.AST.Template __result0; + if (((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Template.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template)) + __result0 = (global::CppSharp.Parser.AST.Template) global::CppSharp.Parser.AST.Template.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template]; + else __result0 = global::CppSharp.Parser.AST.Template.__CreateInstance(((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template); + return __result0; } set { - ((global::CppSharp.Parser.AST.TypedefNameDecl.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*)__Instance)->_template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType Desugared + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->desugared)); + } + + set + { + ((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*)__Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public uint ArgumentsCount + { + get + { + var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class TypedefDecl : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable + public unsafe partial class DependentTemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 240)] + [StructLayout(LayoutKind.Explicit, Size = 48)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - internal int maxFieldAlignment; + internal byte isDependent; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; [FieldOffset(32)] - internal int lineNumberEnd; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; - [FieldOffset(72)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0DependentTemplateSpecializationType@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); - [FieldOffset(104)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0DependentTemplateSpecializationType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - [FieldOffset(136)] - internal byte isIncomplete; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1DependentTemplateSpecializationType@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); - [FieldOffset(137)] - internal byte isDependent; - - [FieldOffset(138)] - internal byte isImplicit; - - [FieldOffset(139)] - internal byte isInvalid; - - [FieldOffset(144)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(152)] - internal uint definitionOrder; - - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(184)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - - [FieldOffset(208)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(216)] - internal global::System.IntPtr comment; - - [FieldOffset(224)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getArguments@DependentTemplateSpecializationType@AST@CppParser@CppSharp@@QEAA?AUTemplateArgument@234@I@Z")] + internal static extern void GetArguments(global::System.IntPtr __instance, global::System.IntPtr @return, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TypedefDecl@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + EntryPoint="?addArguments@DependentTemplateSpecializationType@AST@CppParser@CppSharp@@QEAAXAEAUTemplateArgument@234@@Z")] + internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TypedefDecl@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + EntryPoint="?clearArguments@DependentTemplateSpecializationType@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearArguments(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1TypedefDecl@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern void dtor(global::System.IntPtr __instance, int delete); + EntryPoint="?getArgumentsCount@DependentTemplateSpecializationType@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.TypedefDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.DependentTemplateSpecializationType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypedefDecl(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.DependentTemplateSpecializationType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TypedefDecl __CreateInstance(global::CppSharp.Parser.AST.TypedefDecl.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.DependentTemplateSpecializationType __CreateInstance(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypedefDecl(native, skipVTables); + return new global::CppSharp.Parser.AST.DependentTemplateSpecializationType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefDecl.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); - global::CppSharp.Parser.AST.TypedefDecl.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); + global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl.__Internal native, bool skipVTables = false) + private DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TypedefDecl(void* native, bool skipVTables = false) + protected DependentTemplateSpecializationType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -5705,19 +5107,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TypedefDecl() + public DependentTemplateSpecializationType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl _0) + public DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -5730,7 +5132,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.Type __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -5738,120 +5140,114 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - } - public unsafe partial class TypeAlias : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 248)] - public new partial struct __Internal + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); + __Internal.GetArguments((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); + return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); + } - [FieldOffset(28)] - internal int lineNumberStart; + public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(32)] - internal int lineNumberEnd; + public void ClearArguments() + { + __Internal.ClearArguments((__Instance + __PointerAdjustment)); + } - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + public global::CppSharp.Parser.AST.QualifiedType Desugared + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal*) __Instance)->desugared)); + } - [FieldOffset(72)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + set + { + ((global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal*)__Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } - [FieldOffset(104)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + public uint ArgumentsCount + { + get + { + var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } - [FieldOffset(136)] - internal byte isIncomplete; + public unsafe partial class TemplateParameterType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; - [FieldOffset(137)] + [FieldOffset(4)] internal byte isDependent; - [FieldOffset(138)] - internal byte isImplicit; - - [FieldOffset(139)] - internal byte isInvalid; - - [FieldOffset(144)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(152)] - internal uint definitionOrder; - - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(184)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - - [FieldOffset(208)] - internal global::System.IntPtr originalPtr; + [FieldOffset(8)] + internal global::System.IntPtr parameter; - [FieldOffset(216)] - internal global::System.IntPtr comment; + [FieldOffset(16)] + internal uint depth; - [FieldOffset(224)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + [FieldOffset(20)] + internal uint index; - [FieldOffset(240)] - internal global::System.IntPtr describedAliasTemplate; + [FieldOffset(24)] + internal byte isParameterPack; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TypeAlias@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0TemplateParameterType@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TypeAlias@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0TemplateParameterType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1TypeAlias@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??1TemplateParameterType@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern void dtor(global::System.IntPtr __instance, int delete); } - internal static new global::CppSharp.Parser.AST.TypeAlias __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TemplateParameterType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypeAlias(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TemplateParameterType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TypeAlias __CreateInstance(global::CppSharp.Parser.AST.TypeAlias.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TemplateParameterType __CreateInstance(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypeAlias(native, skipVTables); + return new global::CppSharp.Parser.AST.TemplateParameterType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypeAlias.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); - global::CppSharp.Parser.AST.TypeAlias.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); + global::CppSharp.Parser.AST.TemplateParameterType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TypeAlias(global::CppSharp.Parser.AST.TypeAlias.__Internal native, bool skipVTables = false) + private TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TypeAlias(void* native, bool skipVTables = false) + protected TemplateParameterType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -5860,19 +5256,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TypeAlias() + public TemplateParameterType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TypeAlias(global::CppSharp.Parser.AST.TypeAlias _0) + public TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -5885,7 +5281,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.Type __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -5894,134 +5290,117 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TypeAliasTemplate DescribedAliasTemplate + public global::CppSharp.Parser.AST.TypeTemplateParameter Parameter { get { - global::CppSharp.Parser.AST.TypeAliasTemplate __result0; - if (((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TypeAliasTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate)) - __result0 = (global::CppSharp.Parser.AST.TypeAliasTemplate) global::CppSharp.Parser.AST.TypeAliasTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate]; - else __result0 = global::CppSharp.Parser.AST.TypeAliasTemplate.__CreateInstance(((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate); + global::CppSharp.Parser.AST.TypeTemplateParameter __result0; + if (((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TypeTemplateParameter.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter)) + __result0 = (global::CppSharp.Parser.AST.TypeTemplateParameter) global::CppSharp.Parser.AST.TypeTemplateParameter.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter]; + else __result0 = global::CppSharp.Parser.AST.TypeTemplateParameter.__CreateInstance(((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter); return __result0; } set { - ((global::CppSharp.Parser.AST.TypeAlias.__Internal*)__Instance)->describedAliasTemplate = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->parameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - } - public unsafe partial class Friend : global::CppSharp.Parser.AST.Declaration, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 232)] - public new partial struct __Internal + public uint Depth { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; + get + { + return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->depth; + } - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + set + { + ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->depth = value; + } + } - [FieldOffset(16)] - internal global::System.IntPtr _namespace; + public uint Index + { + get + { + return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->index; + } - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; - - [FieldOffset(32)] - internal int lineNumberEnd; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + set + { + ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->index = value; + } + } - [FieldOffset(72)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + public bool IsParameterPack + { + get + { + return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->isParameterPack != 0; + } - [FieldOffset(104)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + set + { + ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*)__Instance)->isParameterPack = (byte) (value ? 1 : 0); + } + } + } - [FieldOffset(136)] - internal byte isIncomplete; + public unsafe partial class TemplateParameterSubstitutionType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; - [FieldOffset(137)] + [FieldOffset(4)] internal byte isDependent; - [FieldOffset(138)] - internal byte isImplicit; - - [FieldOffset(139)] - internal byte isInvalid; - - [FieldOffset(144)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(152)] - internal uint definitionOrder; - - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(184)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - - [FieldOffset(208)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(216)] - internal global::System.IntPtr comment; + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal replacement; - [FieldOffset(224)] - internal global::System.IntPtr declaration; + [FieldOffset(24)] + internal global::System.IntPtr replacedParameter; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Friend@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0TemplateParameterSubstitutionType@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Friend@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0TemplateParameterSubstitutionType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1Friend@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern void dtor(global::System.IntPtr __instance, int delete); } - internal static new global::CppSharp.Parser.AST.Friend __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Friend(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Friend __CreateInstance(global::CppSharp.Parser.AST.Friend.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TemplateParameterSubstitutionType __CreateInstance(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Friend(native, skipVTables); + return new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Friend.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); - global::CppSharp.Parser.AST.Friend.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); + global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Friend(global::CppSharp.Parser.AST.Friend.__Internal native, bool skipVTables = false) + private TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Friend(void* native, bool skipVTables = false) + protected TemplateParameterSubstitutionType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -6030,19 +5409,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Friend() + public TemplateParameterSubstitutionType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public Friend(global::CppSharp.Parser.AST.Friend _0) + public TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -6051,123 +5430,112 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public global::CppSharp.Parser.AST.QualifiedType Replacement { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacement)); + } + + set + { + ((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*)__Instance)->replacement = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } - public global::CppSharp.Parser.AST.Declaration Declaration + public global::CppSharp.Parser.AST.TemplateParameterType ReplacedParameter { get { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration); + global::CppSharp.Parser.AST.TemplateParameterType __result0; + if (((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TemplateParameterType.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter)) + __result0 = (global::CppSharp.Parser.AST.TemplateParameterType) global::CppSharp.Parser.AST.TemplateParameterType.NativeToManagedMap[((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter]; + else __result0 = global::CppSharp.Parser.AST.TemplateParameterType.__CreateInstance(((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter); return __result0; } set { - ((global::CppSharp.Parser.AST.Friend.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*)__Instance)->replacedParameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class Statement : IDisposable + public unsafe partial class InjectedClassNameType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 48)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.StatementClass _class; + internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + internal byte isDependent; [FieldOffset(8)] - internal global::System.IntPtr decl; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal injectedSpecializationType; - [FieldOffset(16)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; + [FieldOffset(24)] + internal global::System.IntPtr _class; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Statement@AST@CppParser@CppSharp@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@W4StatementClass@123@PEAVDeclaration@123@@Z")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::System.IntPtr str, global::CppSharp.Parser.AST.StatementClass Class, global::System.IntPtr decl); + EntryPoint="??0InjectedClassNameType@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Statement@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0InjectedClassNameType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1Statement@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern void dtor(global::System.IntPtr __instance, int delete); } - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.Statement __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.InjectedClassNameType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Statement(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.InjectedClassNameType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Statement __CreateInstance(global::CppSharp.Parser.AST.Statement.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.InjectedClassNameType __CreateInstance(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Statement(native, skipVTables); + return new global::CppSharp.Parser.AST.InjectedClassNameType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Statement.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Statement.__Internal)); - global::CppSharp.Parser.AST.Statement.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); + global::CppSharp.Parser.AST.InjectedClassNameType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Statement(global::CppSharp.Parser.AST.Statement.__Internal native, bool skipVTables = false) + private InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Statement(void* native, bool skipVTables = false) + protected InjectedClassNameType(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public Statement(string str, global::CppSharp.Parser.AST.StatementClass Class, global::CppSharp.Parser.AST.Declaration decl) + public InjectedClassNameType() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Statement.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, str); - var __arg0 = __basicString0.__Instance; - var __arg2 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; - __Internal.ctor((__Instance + __PointerAdjustment), __arg0, Class, __arg2); - __basicString0.Dispose(false); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public Statement(global::CppSharp.Parser.AST.Statement _0) + public InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Statement.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -6176,127 +5544,96 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Statement __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public global::CppSharp.Parser.AST.StatementClass Class + public global::CppSharp.Parser.AST.QualifiedType InjectedSpecializationType { get { - return ((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->_class; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->injectedSpecializationType)); } set { - ((global::CppSharp.Parser.AST.Statement.__Internal*)__Instance)->_class = value; + ((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*)__Instance)->injectedSpecializationType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public global::CppSharp.Parser.AST.Declaration Decl + public global::CppSharp.Parser.AST.Class Class { get { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl); + global::CppSharp.Parser.AST.Class __result0; + if (((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class)) + __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class]; + else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class); return __result0; } set { - ((global::CppSharp.Parser.AST.Statement.__Internal*)__Instance)->decl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - - public string String - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->@string)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Statement.__Internal*)__Instance)->@string), value); + ((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*)__Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class Expression : global::CppSharp.Parser.AST.Statement, IDisposable + public unsafe partial class DependentNameType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 56)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.StatementClass _class; + internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + internal byte isDependent; [FieldOffset(8)] - internal global::System.IntPtr decl; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifier; - [FieldOffset(16)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; + [FieldOffset(24)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C identifier; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Expression@AST@CppParser@CppSharp@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@W4StatementClass@123@PEAVDeclaration@123@@Z")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::System.IntPtr str, global::CppSharp.Parser.AST.StatementClass Class, global::System.IntPtr decl); + EntryPoint="??0DependentNameType@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Expression@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0DependentNameType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1Expression@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??1DependentNameType@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern void dtor(global::System.IntPtr __instance, int delete); } - internal static new global::CppSharp.Parser.AST.Expression __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.DependentNameType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Expression(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.DependentNameType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Expression __CreateInstance(global::CppSharp.Parser.AST.Expression.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.DependentNameType __CreateInstance(global::CppSharp.Parser.AST.DependentNameType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Expression(native, skipVTables); + return new global::CppSharp.Parser.AST.DependentNameType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Expression.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.DependentNameType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expression.__Internal)); - global::CppSharp.Parser.AST.Expression.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); + global::CppSharp.Parser.AST.DependentNameType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Expression(global::CppSharp.Parser.AST.Expression.__Internal native, bool skipVTables = false) + private DependentNameType(global::CppSharp.Parser.AST.DependentNameType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Expression(void* native, bool skipVTables = false) + protected DependentNameType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -6305,24 +5642,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Expression(string str, global::CppSharp.Parser.AST.StatementClass Class, global::CppSharp.Parser.AST.Declaration decl) + public DependentNameType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expression.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, str); - var __arg0 = __basicString0.__Instance; - var __arg2 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; - __Internal.ctor((__Instance + __PointerAdjustment), __arg0, Class, __arg2); - __basicString0.Dispose(false); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public Expression(global::CppSharp.Parser.AST.Expression _0) + public DependentNameType(global::CppSharp.Parser.AST.DependentNameType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expression.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -6335,7 +5667,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Statement __dummy; + global::CppSharp.Parser.AST.Type __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -6343,72 +5675,84 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - } - public unsafe partial class BinaryOperator : global::CppSharp.Parser.AST.Expression, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 96)] - public new partial struct __Internal + public global::CppSharp.Parser.AST.QualifiedType Qualifier { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.StatementClass _class; + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentNameType.__Internal*) __Instance)->qualifier)); + } - [FieldOffset(8)] - internal global::System.IntPtr decl; + set + { + ((global::CppSharp.Parser.AST.DependentNameType.__Internal*)__Instance)->qualifier = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } - [FieldOffset(16)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; + public string Identifier + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentNameType.__Internal*) __Instance)->identifier)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - [FieldOffset(48)] - internal global::System.IntPtr LHS; + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.DependentNameType.__Internal*)__Instance)->identifier), value); + } + } + } - [FieldOffset(56)] - internal global::System.IntPtr RHS; + public unsafe partial class PackExpansionType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 8)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; - [FieldOffset(64)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C opcodeStr; + [FieldOffset(4)] + internal byte isDependent; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0BinaryOperator@AST@CppParser@CppSharp@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PEAVExpression@123@10@Z")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::System.IntPtr str, global::System.IntPtr lhs, global::System.IntPtr rhs, global::System.IntPtr opcodeStr); + EntryPoint="??0PackExpansionType@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0BinaryOperator@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0PackExpansionType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1BinaryOperator@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern void dtor(global::System.IntPtr __instance, int delete); } - internal static new global::CppSharp.Parser.AST.BinaryOperator __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.PackExpansionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BinaryOperator(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.PackExpansionType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.BinaryOperator __CreateInstance(global::CppSharp.Parser.AST.BinaryOperator.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.PackExpansionType __CreateInstance(global::CppSharp.Parser.AST.PackExpansionType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BinaryOperator(native, skipVTables); + return new global::CppSharp.Parser.AST.PackExpansionType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.BinaryOperator.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.PackExpansionType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); - global::CppSharp.Parser.AST.BinaryOperator.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); + global::CppSharp.Parser.AST.PackExpansionType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private BinaryOperator(global::CppSharp.Parser.AST.BinaryOperator.__Internal native, bool skipVTables = false) + private PackExpansionType(global::CppSharp.Parser.AST.PackExpansionType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected BinaryOperator(void* native, bool skipVTables = false) + protected PackExpansionType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -6417,29 +5761,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public BinaryOperator(string str, global::CppSharp.Parser.AST.Expression lhs, global::CppSharp.Parser.AST.Expression rhs, string opcodeStr) + public PackExpansionType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, str); - var __arg0 = __basicString0.__Instance; - var __arg1 = ReferenceEquals(lhs, null) ? global::System.IntPtr.Zero : lhs.__Instance; - var __arg2 = ReferenceEquals(rhs, null) ? global::System.IntPtr.Zero : rhs.__Instance; - var __basicString3 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString3, opcodeStr); - var __arg3 = __basicString3.__Instance; - __Internal.ctor((__Instance + __PointerAdjustment), __arg0, __arg1, __arg2, __arg3); - __basicString0.Dispose(false); - __basicString3.Dispose(false); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public BinaryOperator(global::CppSharp.Parser.AST.BinaryOperator _0) + public PackExpansionType(global::CppSharp.Parser.AST.PackExpansionType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -6447,151 +5781,61 @@ namespace CppSharp var __arg0 = _0.__Instance; __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Statement __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public global::CppSharp.Parser.AST.Expression LHS - { - get - { - global::CppSharp.Parser.AST.Expression __result0; - if (((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS)) - __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS]; - else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->LHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - - public global::CppSharp.Parser.AST.Expression RHS - { - get - { - global::CppSharp.Parser.AST.Expression __result0; - if (((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS)) - __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS]; - else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->RHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - - public string OpcodeStr - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->opcodeStr)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.BinaryOperator.__Internal*)__Instance)->opcodeStr), value); - } - } } - public unsafe partial class CallExpr : global::CppSharp.Parser.AST.Expression, IDisposable + public unsafe partial class UnaryTransformType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 72)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.StatementClass _class; + internal global::CppSharp.Parser.AST.TypeKind kind; - [FieldOffset(8)] - internal global::System.IntPtr decl; + [FieldOffset(4)] + internal byte isDependent; - [FieldOffset(16)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; - [FieldOffset(48)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expression___N_std_S_allocator__S0_ Arguments; + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal baseType; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0CallExpr@AST@CppParser@CppSharp@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PEAVDeclaration@123@@Z")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::System.IntPtr str, global::System.IntPtr decl); + EntryPoint="??0UnaryTransformType@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0CallExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0UnaryTransformType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1CallExpr@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern void dtor(global::System.IntPtr __instance, int delete); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getArguments@CallExpr@AST@CppParser@CppSharp@@QEAAPEAVExpression@234@I@Z")] - internal static extern global::System.IntPtr GetArguments(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addArguments@CallExpr@AST@CppParser@CppSharp@@QEAAXAEAPEAVExpression@234@@Z")] - internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearArguments@CallExpr@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearArguments(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getArgumentsCount@CallExpr@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.CallExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.UnaryTransformType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.CallExpr(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.UnaryTransformType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.CallExpr __CreateInstance(global::CppSharp.Parser.AST.CallExpr.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.UnaryTransformType __CreateInstance(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.CallExpr(native, skipVTables); + return new global::CppSharp.Parser.AST.UnaryTransformType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.CallExpr.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); - global::CppSharp.Parser.AST.CallExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); + global::CppSharp.Parser.AST.UnaryTransformType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private CallExpr(global::CppSharp.Parser.AST.CallExpr.__Internal native, bool skipVTables = false) + private UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected CallExpr(void* native, bool skipVTables = false) + protected UnaryTransformType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -6600,24 +5844,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public CallExpr(string str, global::CppSharp.Parser.AST.Declaration decl) + public UnaryTransformType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, str); - var __arg0 = __basicString0.__Instance; - var __arg1 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; - __Internal.ctor((__Instance + __PointerAdjustment), __arg0, __arg1); - __basicString0.Dispose(false); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public CallExpr(global::CppSharp.Parser.AST.CallExpr _0) + public UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -6626,131 +5865,86 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Statement __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public global::CppSharp.Parser.AST.Expression GetArguments(uint i) - { - var __ret = __Internal.GetArguments((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Expression __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(__ret); - return __result0; - } - - public void AddArguments(global::CppSharp.Parser.AST.Expression s) + public global::CppSharp.Parser.AST.QualifiedType Desugared { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); - } + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*) __Instance)->desugared)); + } - public void ClearArguments() - { - __Internal.ClearArguments((__Instance + __PointerAdjustment)); + set + { + ((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*)__Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } - public uint ArgumentsCount + public global::CppSharp.Parser.AST.QualifiedType BaseType { get { - var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); - return __ret; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*) __Instance)->baseType)); + } + + set + { + ((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*)__Instance)->baseType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } } - public unsafe partial class CXXConstructExpr : global::CppSharp.Parser.AST.Expression, IDisposable + public unsafe partial class VectorType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 72)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.StatementClass _class; + internal global::CppSharp.Parser.AST.TypeKind kind; - [FieldOffset(8)] - internal global::System.IntPtr decl; + [FieldOffset(4)] + internal byte isDependent; - [FieldOffset(16)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal elementType; - [FieldOffset(48)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expression___N_std_S_allocator__S0_ Arguments; + [FieldOffset(24)] + internal uint numElements; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0CXXConstructExpr@AST@CppParser@CppSharp@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PEAVDeclaration@123@@Z")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::System.IntPtr str, global::System.IntPtr decl); + EntryPoint="??0VectorType@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0CXXConstructExpr@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0VectorType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1CXXConstructExpr@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern void dtor(global::System.IntPtr __instance, int delete); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getArguments@CXXConstructExpr@AST@CppParser@CppSharp@@QEAAPEAVExpression@234@I@Z")] - internal static extern global::System.IntPtr GetArguments(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addArguments@CXXConstructExpr@AST@CppParser@CppSharp@@QEAAXAEAPEAVExpression@234@@Z")] - internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearArguments@CXXConstructExpr@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearArguments(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getArgumentsCount@CXXConstructExpr@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.CXXConstructExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.VectorType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.CXXConstructExpr(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.VectorType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.CXXConstructExpr __CreateInstance(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VectorType __CreateInstance(global::CppSharp.Parser.AST.VectorType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.CXXConstructExpr(native, skipVTables); + return new global::CppSharp.Parser.AST.VectorType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VectorType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); - global::CppSharp.Parser.AST.CXXConstructExpr.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); + global::CppSharp.Parser.AST.VectorType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private CXXConstructExpr(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native, bool skipVTables = false) + private VectorType(global::CppSharp.Parser.AST.VectorType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected CXXConstructExpr(void* native, bool skipVTables = false) + protected VectorType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -6759,24 +5953,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public CXXConstructExpr(string str, global::CppSharp.Parser.AST.Declaration decl) + public VectorType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, str); - var __arg0 = __basicString0.__Instance; - var __arg1 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; - __Internal.ctor((__Instance + __PointerAdjustment), __arg0, __arg1); - __basicString0.Dispose(false); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public CXXConstructExpr(global::CppSharp.Parser.AST.CXXConstructExpr _0) + public VectorType(global::CppSharp.Parser.AST.VectorType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -6785,174 +5974,83 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Statement __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public global::CppSharp.Parser.AST.Expression GetArguments(uint i) - { - var __ret = __Internal.GetArguments((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Expression __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(__ret); - return __result0; - } - - public void AddArguments(global::CppSharp.Parser.AST.Expression s) + public global::CppSharp.Parser.AST.QualifiedType ElementType { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); - } + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->elementType)); + } - public void ClearArguments() - { - __Internal.ClearArguments((__Instance + __PointerAdjustment)); + set + { + ((global::CppSharp.Parser.AST.VectorType.__Internal*)__Instance)->elementType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } - public uint ArgumentsCount + public uint NumElements { get { - var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->numElements; + } + + set + { + ((global::CppSharp.Parser.AST.VectorType.__Internal*)__Instance)->numElements = value; } } } - public unsafe partial class Parameter : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class BuiltinType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 256)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; - - [FieldOffset(32)] - internal int lineNumberEnd; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(72)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - - [FieldOffset(104)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - - [FieldOffset(136)] - internal byte isIncomplete; - - [FieldOffset(137)] internal byte isDependent; - [FieldOffset(138)] - internal byte isImplicit; - - [FieldOffset(139)] - internal byte isInvalid; - - [FieldOffset(144)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(152)] - internal uint definitionOrder; - - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(184)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - - [FieldOffset(208)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(216)] - internal global::System.IntPtr comment; - - [FieldOffset(224)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - - [FieldOffset(240)] - internal byte isIndirect; - - [FieldOffset(241)] - internal byte hasDefaultValue; - - [FieldOffset(244)] - internal uint index; - - [FieldOffset(248)] - internal global::System.IntPtr defaultArgument; + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.PrimitiveType type; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Parameter@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0BuiltinType@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Parameter@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0BuiltinType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1Parameter@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern void dtor(global::System.IntPtr __instance, int delete); } - internal static new global::CppSharp.Parser.AST.Parameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.BuiltinType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Parameter(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.BuiltinType(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Parameter __CreateInstance(global::CppSharp.Parser.AST.Parameter.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.BuiltinType __CreateInstance(global::CppSharp.Parser.AST.BuiltinType.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Parameter(native, skipVTables); + return new global::CppSharp.Parser.AST.BuiltinType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Parameter.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.BuiltinType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); - global::CppSharp.Parser.AST.Parameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); + global::CppSharp.Parser.AST.BuiltinType.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Parameter(global::CppSharp.Parser.AST.Parameter.__Internal native, bool skipVTables = false) + private BuiltinType(global::CppSharp.Parser.AST.BuiltinType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Parameter(void* native, bool skipVTables = false) + protected BuiltinType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -6961,19 +6059,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Parameter() + public BuiltinType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public Parameter(global::CppSharp.Parser.AST.Parameter _0) + public BuiltinType(global::CppSharp.Parser.AST.BuiltinType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -6982,94 +6080,247 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public global::CppSharp.Parser.AST.QualifiedType QualifiedType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->qualifiedType)); - } - - set - { - ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } - - public bool IsIndirect + public global::CppSharp.Parser.AST.PrimitiveType Type { get { - return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->isIndirect != 0; + return ((global::CppSharp.Parser.AST.BuiltinType.__Internal*) __Instance)->type; } set { - ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->isIndirect = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.BuiltinType.__Internal*)__Instance)->type = value; } } + } + } + } +} - public bool HasDefaultValue - { - get - { - return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->hasDefaultValue != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->hasDefaultValue = (byte) (value ? 1 : 0); - } +namespace CppSharp +{ + namespace Parser + { + namespace AST + { + public enum DeclarationKind + { + DeclarationContext = 0, + Typedef = 1, + TypeAlias = 2, + Parameter = 3, + Function = 4, + Method = 5, + Enumeration = 6, + EnumerationItem = 7, + Variable = 8, + Field = 9, + AccessSpecifier = 10, + Class = 11, + Template = 12, + TypeAliasTemplate = 13, + ClassTemplate = 14, + ClassTemplateSpecialization = 15, + ClassTemplatePartialSpecialization = 16, + FunctionTemplate = 17, + Namespace = 18, + PreprocessedEntity = 19, + MacroDefinition = 20, + MacroExpansion = 21, + TranslationUnit = 22, + Friend = 23, + TemplateTemplateParm = 24, + TemplateTypeParm = 25, + NonTypeTemplateParm = 26, + VarTemplate = 27, + VarTemplateSpecialization = 28, + VarTemplatePartialSpecialization = 29 + } + + public enum AccessSpecifier + { + Private = 0, + Protected = 1, + Public = 2 + } + + public enum MacroLocation + { + Unknown = 0, + ClassHead = 1, + ClassBody = 2, + FunctionHead = 3, + FunctionParameters = 4, + FunctionBody = 5 + } + + public enum FriendKind + { + None = 0, + Declared = 1, + Undeclared = 2 + } + + public enum CXXOperatorKind + { + None = 0, + New = 1, + Delete = 2, + ArrayNew = 3, + ArrayDelete = 4, + Plus = 5, + Minus = 6, + Star = 7, + Slash = 8, + Percent = 9, + Caret = 10, + Amp = 11, + Pipe = 12, + Tilde = 13, + Exclaim = 14, + Equal = 15, + Less = 16, + Greater = 17, + PlusEqual = 18, + MinusEqual = 19, + StarEqual = 20, + SlashEqual = 21, + PercentEqual = 22, + CaretEqual = 23, + AmpEqual = 24, + PipeEqual = 25, + LessLess = 26, + GreaterGreater = 27, + LessLessEqual = 28, + GreaterGreaterEqual = 29, + EqualEqual = 30, + ExclaimEqual = 31, + LessEqual = 32, + GreaterEqual = 33, + Spaceship = 34, + AmpAmp = 35, + PipePipe = 36, + PlusPlus = 37, + MinusMinus = 38, + Comma = 39, + ArrowStar = 40, + Arrow = 41, + Call = 42, + Subscript = 43, + Conditional = 44, + Coawait = 45 + } + + public enum StatementClassObsolete + { + Any = 0, + BinaryOperator = 1, + CallExprClass = 2, + DeclRefExprClass = 3, + CXXConstructExprClass = 4, + CXXOperatorCallExpr = 5, + ImplicitCastExpr = 6, + ExplicitCastExpr = 7 + } + + public enum TemplateSpecializationKind + { + Undeclared = 0, + ImplicitInstantiation = 1, + ExplicitSpecialization = 2, + ExplicitInstantiationDeclaration = 3, + ExplicitInstantiationDefinition = 4 + } + + public enum CXXMethodKind + { + Normal = 0, + Constructor = 1, + Destructor = 2, + Conversion = 3, + Operator = 4, + UsingDirective = 5 + } + + public enum RefQualifierKind + { + None = 0, + LValue = 1, + RValue = 2 + } + + public enum CppAbi + { + Itanium = 0, + Microsoft = 1, + ARM = 2, + iOS = 3, + iOS64 = 4 + } + + public enum VTableComponentKind + { + VCallOffset = 0, + VBaseOffset = 1, + OffsetToTop = 2, + RTTI = 3, + FunctionPointer = 4, + CompleteDtorPointer = 5, + DeletingDtorPointer = 6, + UnusedFunctionPointer = 7 + } + + public unsafe partial class Expr + { + [StructLayout(LayoutKind.Explicit, Size = 0)] + public partial struct __Internal + { } - public uint Index + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.Expr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - get - { - return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->index; - } + return new global::CppSharp.Parser.AST.Expr(native.ToPointer(), skipVTables); + } - set - { - ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->index = value; - } + internal static global::CppSharp.Parser.AST.Expr __CreateInstance(global::CppSharp.Parser.AST.Expr.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Expr(native, skipVTables); } - public global::CppSharp.Parser.AST.Expression DefaultArgument + private static void* __CopyValue(global::CppSharp.Parser.AST.Expr.__Internal native) { - get - { - global::CppSharp.Parser.AST.Expression __result0; - if (((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument)) - __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument]; - else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument); - return __result0; - } + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.__Internal)); + *(global::CppSharp.Parser.AST.Expr.__Internal*) ret = native; + return ret.ToPointer(); + } - set - { - ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->defaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + private Expr(global::CppSharp.Parser.AST.Expr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Expr(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } } - public unsafe partial class Function : global::CppSharp.Parser.AST.DeclarationContext, IDisposable + public unsafe partial class Declaration : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 656)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 224)] + public partial struct __Internal { [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; @@ -7131,178 +6382,112 @@ namespace CppSharp [FieldOffset(216)] internal global::System.IntPtr comment; - [FieldOffset(224)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; - - [FieldOffset(248)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0Declaration@AST@CppParser@CppSharp@@QEAA@W4DeclarationKind@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.DeclarationKind kind); - [FieldOffset(272)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0Declaration@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - [FieldOffset(296)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1Declaration@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); - [FieldOffset(320)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getPreprocessedEntities@Declaration@AST@CppParser@CppSharp@@QEAAPEAVPreprocessedEntity@234@I@Z")] + internal static extern global::System.IntPtr GetPreprocessedEntities(global::System.IntPtr __instance, uint i); - [FieldOffset(344)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; - - [FieldOffset(368)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; - - [FieldOffset(392)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; - - [FieldOffset(416)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; - - [FieldOffset(440)] - internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; - - [FieldOffset(456)] - internal byte isAnonymous; - - [FieldOffset(464)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; - - [FieldOffset(480)] - internal byte isReturnIndirect; - - [FieldOffset(481)] - internal byte hasThisReturn; - - [FieldOffset(482)] - internal byte isConstExpr; - - [FieldOffset(483)] - internal byte isVariadic; - - [FieldOffset(484)] - internal byte isInline; - - [FieldOffset(485)] - internal byte isPure; - - [FieldOffset(486)] - internal byte isDeleted; - - [FieldOffset(487)] - internal byte isDefaulted; - - [FieldOffset(488)] - internal global::CppSharp.Parser.AST.FriendKind friendKind; - - [FieldOffset(492)] - internal global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; - - [FieldOffset(496)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; - - [FieldOffset(528)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C signature; - - [FieldOffset(560)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C body; - - [FieldOffset(592)] - internal global::CppSharp.Parser.AST.CallingConvention callingConvention; - - [FieldOffset(600)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_S_allocator__S0_ Parameters; - - [FieldOffset(624)] - internal global::System.IntPtr specializationInfo; - - [FieldOffset(632)] - internal global::System.IntPtr instantiatedFrom; - - [FieldOffset(640)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Function@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?addPreprocessedEntities@Declaration@AST@CppParser@CppSharp@@QEAAXAEAPEAVPreprocessedEntity@234@@Z")] + internal static extern void AddPreprocessedEntities(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Function@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + EntryPoint="?clearPreprocessedEntities@Declaration@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearPreprocessedEntities(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1Function@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern void dtor(global::System.IntPtr __instance, int delete); + EntryPoint="?getRedeclarations@Declaration@AST@CppParser@CppSharp@@QEAAPEAV1234@I@Z")] + internal static extern global::System.IntPtr GetRedeclarations(global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getParameters@Function@AST@CppParser@CppSharp@@QEAAPEAVParameter@234@I@Z")] - internal static extern global::System.IntPtr GetParameters(global::System.IntPtr __instance, uint i); + EntryPoint="?addRedeclarations@Declaration@AST@CppParser@CppSharp@@QEAAXAEAPEAV1234@@Z")] + internal static extern void AddRedeclarations(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addParameters@Function@AST@CppParser@CppSharp@@QEAAXAEAPEAVParameter@234@@Z")] - internal static extern void AddParameters(global::System.IntPtr __instance, global::System.IntPtr s); + EntryPoint="?clearRedeclarations@Declaration@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearRedeclarations(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearParameters@Function@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearParameters(global::System.IntPtr __instance); + EntryPoint="?getPreprocessedEntitiesCount@Declaration@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetPreprocessedEntitiesCount(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getParametersCount@Function@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetParametersCount(global::System.IntPtr __instance); + EntryPoint="?getRedeclarationsCount@Declaration@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetRedeclarationsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.Function __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.Declaration __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Function(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Declaration(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Function __CreateInstance(global::CppSharp.Parser.AST.Function.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Declaration __CreateInstance(global::CppSharp.Parser.AST.Declaration.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Function(native, skipVTables); + return new global::CppSharp.Parser.AST.Declaration(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Function.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Declaration.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); - global::CppSharp.Parser.AST.Function.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); + global::CppSharp.Parser.AST.Declaration.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Function(global::CppSharp.Parser.AST.Function.__Internal native, bool skipVTables = false) + private Declaration(global::CppSharp.Parser.AST.Declaration.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Function(void* native, bool skipVTables = false) - : base((void*) null) + protected Declaration(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public Function() - : this((void*) null) + public Declaration(global::CppSharp.Parser.AST.DeclarationKind kind) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + __Internal.ctor((__Instance + __PointerAdjustment), kind); } - public Function(global::CppSharp.Parser.AST.Function _0) - : this((void*) null) + public Declaration(global::CppSharp.Parser.AST.Declaration _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -7311,7 +6496,12 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; @@ -7324,296 +6514,339 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.Parameter GetParameters(uint i) + public global::CppSharp.Parser.AST.PreprocessedEntity GetPreprocessedEntities(uint i) { - var __ret = __Internal.GetParameters((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Parameter __result0; + var __ret = __Internal.GetPreprocessedEntities((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.PreprocessedEntity __result0; if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Parameter.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Parameter) global::CppSharp.Parser.AST.Parameter.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Parameter.__CreateInstance(__ret); + else if (global::CppSharp.Parser.AST.PreprocessedEntity.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.PreprocessedEntity) global::CppSharp.Parser.AST.PreprocessedEntity.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.PreprocessedEntity.__CreateInstance(__ret); return __result0; } - public void AddParameters(global::CppSharp.Parser.AST.Parameter s) + public void AddPreprocessedEntities(global::CppSharp.Parser.AST.PreprocessedEntity s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddParameters((__Instance + __PointerAdjustment), __arg0); + __Internal.AddPreprocessedEntities((__Instance + __PointerAdjustment), __arg0); } - public void ClearParameters() + public void ClearPreprocessedEntities() { - __Internal.ClearParameters((__Instance + __PointerAdjustment)); + __Internal.ClearPreprocessedEntities((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.QualifiedType ReturnType + public global::CppSharp.Parser.AST.Declaration GetRedeclarations(uint i) { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->returnType)); - } + var __ret = __Internal.GetRedeclarations((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Declaration __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(__ret); + return __result0; + } - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->returnType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } + public void AddRedeclarations(global::CppSharp.Parser.AST.Declaration s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddRedeclarations((__Instance + __PointerAdjustment), __arg0); } - public bool IsReturnIndirect + public void ClearRedeclarations() + { + __Internal.ClearRedeclarations((__Instance + __PointerAdjustment)); + } + + public static implicit operator global::CppSharp.Parser.AST.Declaration(global::CppSharp.Parser.AST.DeclarationKind kind) + { + return new global::CppSharp.Parser.AST.Declaration(kind); + } + + public global::CppSharp.Parser.AST.DeclarationKind Kind { get { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isReturnIndirect != 0; + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->kind; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isReturnIndirect = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->kind = value; } } - public bool HasThisReturn + public int MaxFieldAlignment { get { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->hasThisReturn != 0; + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->maxFieldAlignment; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->hasThisReturn = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->maxFieldAlignment = value; } } - public bool IsConstExpr + public global::CppSharp.Parser.AST.AccessSpecifier Access { get { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isConstExpr != 0; + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->access; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isConstExpr = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->access = value; } } - public bool IsVariadic + public global::CppSharp.Parser.AST.DeclarationContext Namespace { get { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isVariadic != 0; + global::CppSharp.Parser.AST.DeclarationContext __result0; + if (((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.DeclarationContext.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace)) + __result0 = (global::CppSharp.Parser.AST.DeclarationContext) global::CppSharp.Parser.AST.DeclarationContext.NativeToManagedMap[((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace]; + else __result0 = global::CppSharp.Parser.AST.DeclarationContext.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace); + return __result0; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isVariadic = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->_namespace = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public bool IsInline + public global::CppSharp.Parser.SourceLocation Location { get { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isInline != 0; + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->location); } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isInline = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->location = value.__Instance; } } - public bool IsPure + public int LineNumberStart { get { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isPure != 0; + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->lineNumberStart; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isPure = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->lineNumberStart = value; } } - public bool IsDeleted + public int LineNumberEnd { get { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isDeleted != 0; + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->lineNumberEnd; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isDeleted = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->lineNumberEnd = value; } } - public bool IsDefaulted + public string Name { get { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isDefaulted != 0; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->name)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isDefaulted = (byte) (value ? 1 : 0); + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->name), value); } } - public global::CppSharp.Parser.AST.FriendKind FriendKind + public string USR { get { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->friendKind; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->USR)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->friendKind = value; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->USR), value); } } - public global::CppSharp.Parser.AST.CXXOperatorKind OperatorKind + public string DebugText { get { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->operatorKind; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->debugText)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->operatorKind = value; + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->debugText), value); } } - public string Mangled + public bool IsIncomplete { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->mangled)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isIncomplete != 0; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->mangled), value); + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isIncomplete = (byte) (value ? 1 : 0); } } - public string Signature + public bool IsDependent { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->signature)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isDependent != 0; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->signature), value); + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isDependent = (byte) (value ? 1 : 0); } } - public string Body + public bool IsImplicit { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->body)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isImplicit != 0; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->body), value); + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isImplicit = (byte) (value ? 1 : 0); } } - public global::CppSharp.Parser.AST.CallingConvention CallingConvention + public bool IsInvalid { get { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->callingConvention; + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isInvalid != 0; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->callingConvention = value; + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->isInvalid = (byte) (value ? 1 : 0); } } - public global::CppSharp.Parser.AST.FunctionTemplateSpecialization SpecializationInfo + public global::CppSharp.Parser.AST.Declaration CompleteDeclaration { get { - global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0; - if (((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo)) - __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo]; - else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo); + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration); return __result0; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->specializationInfo = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->completeDeclaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public global::CppSharp.Parser.AST.Function InstantiatedFrom + public uint DefinitionOrder { get { - global::CppSharp.Parser.AST.Function __result0; - if (((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom)) - __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom]; - else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom); - return __result0; + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->definitionOrder; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->instantiatedFrom = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->definitionOrder = value; } } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType + public global::System.IntPtr OriginalPtr { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->qualifiedType)); + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->originalPtr; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->originalPtr = (global::System.IntPtr) value; } } - public uint ParametersCount + public global::CppSharp.Parser.AST.RawComment Comment { get { - var __ret = __Internal.GetParametersCount((__Instance + __PointerAdjustment)); + global::CppSharp.Parser.AST.RawComment __result0; + if (((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.RawComment.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment)) + __result0 = (global::CppSharp.Parser.AST.RawComment) global::CppSharp.Parser.AST.RawComment.NativeToManagedMap[((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment]; + else __result0 = global::CppSharp.Parser.AST.RawComment.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*)__Instance)->comment = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public uint PreprocessedEntitiesCount + { + get + { + var __ret = __Internal.GetPreprocessedEntitiesCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public uint RedeclarationsCount + { + get + { + var __ret = __Internal.GetRedeclarationsCount((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class Method : global::CppSharp.Parser.AST.Function, IDisposable + public unsafe partial class DeclarationContext : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 720)] + [StructLayout(LayoutKind.Explicit, Size = 464)] public new partial struct __Internal { [FieldOffset(0)] @@ -7709,157 +6942,227 @@ namespace CppSharp [FieldOffset(456)] internal byte isAnonymous; - [FieldOffset(464)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; - - [FieldOffset(480)] - internal byte isReturnIndirect; - - [FieldOffset(481)] - internal byte hasThisReturn; - - [FieldOffset(482)] - internal byte isConstExpr; - - [FieldOffset(483)] - internal byte isVariadic; - - [FieldOffset(484)] - internal byte isInline; - - [FieldOffset(485)] - internal byte isPure; - - [FieldOffset(486)] - internal byte isDeleted; - - [FieldOffset(487)] - internal byte isDefaulted; - - [FieldOffset(488)] - internal global::CppSharp.Parser.AST.FriendKind friendKind; - - [FieldOffset(492)] - internal global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; - - [FieldOffset(496)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; - - [FieldOffset(528)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C signature; - - [FieldOffset(560)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C body; - - [FieldOffset(592)] - internal global::CppSharp.Parser.AST.CallingConvention callingConvention; - - [FieldOffset(600)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_S_allocator__S0_ Parameters; - - [FieldOffset(624)] - internal global::System.IntPtr specializationInfo; - - [FieldOffset(632)] - internal global::System.IntPtr instantiatedFrom; - - [FieldOffset(640)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - - [FieldOffset(656)] - internal byte isVirtual; - - [FieldOffset(657)] - internal byte isStatic; - - [FieldOffset(658)] - internal byte isConst; - - [FieldOffset(659)] - internal byte isExplicit; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0DeclarationContext@AST@CppParser@CppSharp@@QEAA@W4DeclarationKind@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.DeclarationKind kind); - [FieldOffset(660)] - internal global::CppSharp.Parser.AST.CXXMethodKind methodKind; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0DeclarationContext@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - [FieldOffset(664)] - internal byte isDefaultConstructor; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1DeclarationContext@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); - [FieldOffset(665)] - internal byte isCopyConstructor; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getNamespaces@DeclarationContext@AST@CppParser@CppSharp@@QEAAPEAVNamespace@234@I@Z")] + internal static extern global::System.IntPtr GetNamespaces(global::System.IntPtr __instance, uint i); - [FieldOffset(666)] - internal byte isMoveConstructor; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?addNamespaces@DeclarationContext@AST@CppParser@CppSharp@@QEAAXAEAPEAVNamespace@234@@Z")] + internal static extern void AddNamespaces(global::System.IntPtr __instance, global::System.IntPtr s); - [FieldOffset(672)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal conversionType; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?clearNamespaces@DeclarationContext@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearNamespaces(global::System.IntPtr __instance); - [FieldOffset(688)] - internal global::CppSharp.Parser.AST.RefQualifierKind refQualifier; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getEnums@DeclarationContext@AST@CppParser@CppSharp@@QEAAPEAVEnumeration@234@I@Z")] + internal static extern global::System.IntPtr GetEnums(global::System.IntPtr __instance, uint i); - [FieldOffset(696)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_S_allocator__S0_ OverriddenMethods; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?addEnums@DeclarationContext@AST@CppParser@CppSharp@@QEAAXAEAPEAVEnumeration@234@@Z")] + internal static extern void AddEnums(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Method@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + EntryPoint="?clearEnums@DeclarationContext@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearEnums(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Method@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + EntryPoint="?getFunctions@DeclarationContext@AST@CppParser@CppSharp@@QEAAPEAVFunction@234@I@Z")] + internal static extern global::System.IntPtr GetFunctions(global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1Method@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern void dtor(global::System.IntPtr __instance, int delete); + EntryPoint="?addFunctions@DeclarationContext@AST@CppParser@CppSharp@@QEAAXAEAPEAVFunction@234@@Z")] + internal static extern void AddFunctions(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getOverriddenMethods@Method@AST@CppParser@CppSharp@@QEAAPEAV1234@I@Z")] - internal static extern global::System.IntPtr GetOverriddenMethods(global::System.IntPtr __instance, uint i); + EntryPoint="?clearFunctions@DeclarationContext@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearFunctions(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addOverriddenMethods@Method@AST@CppParser@CppSharp@@QEAAXAEAPEAV1234@@Z")] - internal static extern void AddOverriddenMethods(global::System.IntPtr __instance, global::System.IntPtr s); + EntryPoint="?getClasses@DeclarationContext@AST@CppParser@CppSharp@@QEAAPEAVClass@234@I@Z")] + internal static extern global::System.IntPtr GetClasses(global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearOverriddenMethods@Method@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearOverriddenMethods(global::System.IntPtr __instance); + EntryPoint="?addClasses@DeclarationContext@AST@CppParser@CppSharp@@QEAAXAEAPEAVClass@234@@Z")] + internal static extern void AddClasses(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getOverriddenMethodsCount@Method@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetOverriddenMethodsCount(global::System.IntPtr __instance); + EntryPoint="?clearClasses@DeclarationContext@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearClasses(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getTemplates@DeclarationContext@AST@CppParser@CppSharp@@QEAAPEAVTemplate@234@I@Z")] + internal static extern global::System.IntPtr GetTemplates(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?addTemplates@DeclarationContext@AST@CppParser@CppSharp@@QEAAXAEAPEAVTemplate@234@@Z")] + internal static extern void AddTemplates(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?clearTemplates@DeclarationContext@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearTemplates(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getTypedefs@DeclarationContext@AST@CppParser@CppSharp@@QEAAPEAVTypedefDecl@234@I@Z")] + internal static extern global::System.IntPtr GetTypedefs(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?addTypedefs@DeclarationContext@AST@CppParser@CppSharp@@QEAAXAEAPEAVTypedefDecl@234@@Z")] + internal static extern void AddTypedefs(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?clearTypedefs@DeclarationContext@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearTypedefs(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getTypeAliases@DeclarationContext@AST@CppParser@CppSharp@@QEAAPEAVTypeAlias@234@I@Z")] + internal static extern global::System.IntPtr GetTypeAliases(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?addTypeAliases@DeclarationContext@AST@CppParser@CppSharp@@QEAAXAEAPEAVTypeAlias@234@@Z")] + internal static extern void AddTypeAliases(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?clearTypeAliases@DeclarationContext@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearTypeAliases(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getVariables@DeclarationContext@AST@CppParser@CppSharp@@QEAAPEAVVariable@234@I@Z")] + internal static extern global::System.IntPtr GetVariables(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?addVariables@DeclarationContext@AST@CppParser@CppSharp@@QEAAXAEAPEAVVariable@234@@Z")] + internal static extern void AddVariables(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?clearVariables@DeclarationContext@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearVariables(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getFriends@DeclarationContext@AST@CppParser@CppSharp@@QEAAPEAVFriend@234@I@Z")] + internal static extern global::System.IntPtr GetFriends(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?addFriends@DeclarationContext@AST@CppParser@CppSharp@@QEAAXAEAPEAVFriend@234@@Z")] + internal static extern void AddFriends(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?clearFriends@DeclarationContext@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearFriends(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getNamespacesCount@DeclarationContext@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetNamespacesCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getEnumsCount@DeclarationContext@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetEnumsCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getFunctionsCount@DeclarationContext@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetFunctionsCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getClassesCount@DeclarationContext@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetClassesCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getTemplatesCount@DeclarationContext@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetTemplatesCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getTypedefsCount@DeclarationContext@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetTypedefsCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getTypeAliasesCount@DeclarationContext@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetTypeAliasesCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getVariablesCount@DeclarationContext@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetVariablesCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getFriendsCount@DeclarationContext@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetFriendsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.Method __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.DeclarationContext __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Method(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.DeclarationContext(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Method __CreateInstance(global::CppSharp.Parser.AST.Method.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.DeclarationContext __CreateInstance(global::CppSharp.Parser.AST.DeclarationContext.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Method(native, skipVTables); + return new global::CppSharp.Parser.AST.DeclarationContext(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Method.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.DeclarationContext.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); - global::CppSharp.Parser.AST.Method.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); + global::CppSharp.Parser.AST.DeclarationContext.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Method(global::CppSharp.Parser.AST.Method.__Internal native, bool skipVTables = false) + private DeclarationContext(global::CppSharp.Parser.AST.DeclarationContext.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Method(void* native, bool skipVTables = false) + protected DeclarationContext(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -7868,19 +7171,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Method() + public DeclarationContext(global::CppSharp.Parser.AST.DeclarationKind kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + __Internal.ctor((__Instance + __PointerAdjustment), kind); } - public Method(global::CppSharp.Parser.AST.Method _0) + public DeclarationContext(global::CppSharp.Parser.AST.DeclarationContext _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -7902,173 +7205,325 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.Method GetOverriddenMethods(uint i) + public global::CppSharp.Parser.AST.Namespace GetNamespaces(uint i) { - var __ret = __Internal.GetOverriddenMethods((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Method __result0; + var __ret = __Internal.GetNamespaces((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Namespace __result0; if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Method.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Method) global::CppSharp.Parser.AST.Method.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Method.__CreateInstance(__ret); + else if (global::CppSharp.Parser.AST.Namespace.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Namespace) global::CppSharp.Parser.AST.Namespace.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Namespace.__CreateInstance(__ret); return __result0; } - public void AddOverriddenMethods(global::CppSharp.Parser.AST.Method s) + public void AddNamespaces(global::CppSharp.Parser.AST.Namespace s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddOverriddenMethods((__Instance + __PointerAdjustment), __arg0); + __Internal.AddNamespaces((__Instance + __PointerAdjustment), __arg0); } - public void ClearOverriddenMethods() + public void ClearNamespaces() { - __Internal.ClearOverriddenMethods((__Instance + __PointerAdjustment)); + __Internal.ClearNamespaces((__Instance + __PointerAdjustment)); } - public bool IsVirtual + public global::CppSharp.Parser.AST.Enumeration GetEnums(uint i) { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isVirtual != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isVirtual = (byte) (value ? 1 : 0); - } + var __ret = __Internal.GetEnums((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Enumeration __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Enumeration.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Enumeration) global::CppSharp.Parser.AST.Enumeration.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Enumeration.__CreateInstance(__ret); + return __result0; } - public bool IsStatic + public void AddEnums(global::CppSharp.Parser.AST.Enumeration s) { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isStatic != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isStatic = (byte) (value ? 1 : 0); - } + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddEnums((__Instance + __PointerAdjustment), __arg0); } - public bool IsConst + public void ClearEnums() { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isConst != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isConst = (byte) (value ? 1 : 0); - } + __Internal.ClearEnums((__Instance + __PointerAdjustment)); } - public bool IsExplicit + public global::CppSharp.Parser.AST.Function GetFunctions(uint i) { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isExplicit != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isExplicit = (byte) (value ? 1 : 0); - } + var __ret = __Internal.GetFunctions((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Function __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(__ret); + return __result0; } - public global::CppSharp.Parser.AST.CXXMethodKind MethodKind + public void AddFunctions(global::CppSharp.Parser.AST.Function s) { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->methodKind; - } + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddFunctions((__Instance + __PointerAdjustment), __arg0); + } - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->methodKind = value; - } + public void ClearFunctions() + { + __Internal.ClearFunctions((__Instance + __PointerAdjustment)); } - public bool IsDefaultConstructor + public global::CppSharp.Parser.AST.Class GetClasses(uint i) { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isDefaultConstructor != 0; + var __ret = __Internal.GetClasses((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Class __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(__ret); + return __result0; + } + + public void AddClasses(global::CppSharp.Parser.AST.Class s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddClasses((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearClasses() + { + __Internal.ClearClasses((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Template GetTemplates(uint i) + { + var __ret = __Internal.GetTemplates((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Template __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Template.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Template) global::CppSharp.Parser.AST.Template.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Template.__CreateInstance(__ret); + return __result0; + } + + public void AddTemplates(global::CppSharp.Parser.AST.Template s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddTemplates((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearTemplates() + { + __Internal.ClearTemplates((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.TypedefDecl GetTypedefs(uint i) + { + var __ret = __Internal.GetTypedefs((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.TypedefDecl __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TypedefDecl.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.TypedefDecl) global::CppSharp.Parser.AST.TypedefDecl.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.TypedefDecl.__CreateInstance(__ret); + return __result0; + } + + public void AddTypedefs(global::CppSharp.Parser.AST.TypedefDecl s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddTypedefs((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearTypedefs() + { + __Internal.ClearTypedefs((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.TypeAlias GetTypeAliases(uint i) + { + var __ret = __Internal.GetTypeAliases((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.TypeAlias __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TypeAlias.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.TypeAlias) global::CppSharp.Parser.AST.TypeAlias.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.TypeAlias.__CreateInstance(__ret); + return __result0; + } + + public void AddTypeAliases(global::CppSharp.Parser.AST.TypeAlias s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddTypeAliases((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearTypeAliases() + { + __Internal.ClearTypeAliases((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Variable GetVariables(uint i) + { + var __ret = __Internal.GetVariables((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Variable __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Variable.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Variable) global::CppSharp.Parser.AST.Variable.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Variable.__CreateInstance(__ret); + return __result0; + } + + public void AddVariables(global::CppSharp.Parser.AST.Variable s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddVariables((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearVariables() + { + __Internal.ClearVariables((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Friend GetFriends(uint i) + { + var __ret = __Internal.GetFriends((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Friend __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Friend.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Friend) global::CppSharp.Parser.AST.Friend.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Friend.__CreateInstance(__ret); + return __result0; + } + + public void AddFriends(global::CppSharp.Parser.AST.Friend s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddFriends((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearFriends() + { + __Internal.ClearFriends((__Instance + __PointerAdjustment)); + } + + public static implicit operator global::CppSharp.Parser.AST.DeclarationContext(global::CppSharp.Parser.AST.DeclarationKind kind) + { + return new global::CppSharp.Parser.AST.DeclarationContext(kind); + } + + public bool IsAnonymous + { + get + { + return ((global::CppSharp.Parser.AST.DeclarationContext.__Internal*) __Instance)->isAnonymous != 0; } set { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isDefaultConstructor = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.DeclarationContext.__Internal*)__Instance)->isAnonymous = (byte) (value ? 1 : 0); } } - public bool IsCopyConstructor + public uint NamespacesCount { get { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isCopyConstructor != 0; + var __ret = __Internal.GetNamespacesCount((__Instance + __PointerAdjustment)); + return __ret; } + } - set + public uint EnumsCount + { + get { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isCopyConstructor = (byte) (value ? 1 : 0); + var __ret = __Internal.GetEnumsCount((__Instance + __PointerAdjustment)); + return __ret; } } - public bool IsMoveConstructor + public uint FunctionsCount { get { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isMoveConstructor != 0; + var __ret = __Internal.GetFunctionsCount((__Instance + __PointerAdjustment)); + return __ret; } + } - set + public uint ClassesCount + { + get { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isMoveConstructor = (byte) (value ? 1 : 0); + var __ret = __Internal.GetClassesCount((__Instance + __PointerAdjustment)); + return __ret; } } - public global::CppSharp.Parser.AST.QualifiedType ConversionType + public uint TemplatesCount { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->conversionType)); + var __ret = __Internal.GetTemplatesCount((__Instance + __PointerAdjustment)); + return __ret; } + } - set + public uint TypedefsCount + { + get { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->conversionType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + var __ret = __Internal.GetTypedefsCount((__Instance + __PointerAdjustment)); + return __ret; } } - public global::CppSharp.Parser.AST.RefQualifierKind RefQualifier + public uint TypeAliasesCount { get { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->refQualifier; + var __ret = __Internal.GetTypeAliasesCount((__Instance + __PointerAdjustment)); + return __ret; } + } - set + public uint VariablesCount + { + get { - ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->refQualifier = value; + var __ret = __Internal.GetVariablesCount((__Instance + __PointerAdjustment)); + return __ret; } } - public uint OverriddenMethodsCount + public uint FriendsCount { get { - var __ret = __Internal.GetOverriddenMethodsCount((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetFriendsCount((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class Enumeration : global::CppSharp.Parser.AST.DeclarationContext, IDisposable + public unsafe partial class TypedefNameDecl : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 512)] + [StructLayout(LayoutKind.Explicit, Size = 240)] public new partial struct __Internal { [FieldOffset(0)] @@ -8132,308 +7587,219 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(224)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [FieldOffset(248)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0TypedefNameDecl@AST@CppParser@CppSharp@@QEAA@W4DeclarationKind@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.DeclarationKind kind); - [FieldOffset(272)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0TypedefNameDecl@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - [FieldOffset(296)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1TypedefNameDecl@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); + } - [FieldOffset(320)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; + internal static new global::CppSharp.Parser.AST.TypedefNameDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TypedefNameDecl(native.ToPointer(), skipVTables); + } - [FieldOffset(344)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; + internal static global::CppSharp.Parser.AST.TypedefNameDecl __CreateInstance(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TypedefNameDecl(native, skipVTables); + } - [FieldOffset(368)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; + private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); + global::CppSharp.Parser.AST.TypedefNameDecl.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(392)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; - - [FieldOffset(416)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; - - [FieldOffset(440)] - internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; - - [FieldOffset(456)] - internal byte isAnonymous; - - [FieldOffset(464)] - internal global::CppSharp.Parser.AST.Enumeration.EnumModifiers modifiers; - - [FieldOffset(472)] - internal global::System.IntPtr type; - - [FieldOffset(480)] - internal global::System.IntPtr builtinType; - - [FieldOffset(488)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration_S_Item___N_std_S_allocator__S0_ Items; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Enumeration@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Enumeration@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1Enumeration@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern void dtor(global::System.IntPtr __instance, int delete); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getItems@Enumeration@AST@CppParser@CppSharp@@QEAAPEAVItem@1234@I@Z")] - internal static extern global::System.IntPtr GetItems(global::System.IntPtr __instance, uint i); + private TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addItems@Enumeration@AST@CppParser@CppSharp@@QEAAXAEAPEAVItem@1234@@Z")] - internal static extern void AddItems(global::System.IntPtr __instance, global::System.IntPtr s); + protected TypedefNameDecl(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearItems@Enumeration@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearItems(global::System.IntPtr __instance); + public TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), kind); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?FindItemByName@Enumeration@AST@CppParser@CppSharp@@QEAAPEAVItem@1234@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z")] - internal static extern global::System.IntPtr FindItemByName(global::System.IntPtr __instance, global::System.IntPtr Name); + public TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getItemsCount@Enumeration@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetItemsCount(global::System.IntPtr __instance); + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } - [Flags] - public enum EnumModifiers + public static implicit operator global::CppSharp.Parser.AST.TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) { - Anonymous = 1, - Scoped = 2, - Flags = 4 + return new global::CppSharp.Parser.AST.TypedefNameDecl(kind); } - public unsafe partial class Item : global::CppSharp.Parser.AST.Declaration, IDisposable + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { - [StructLayout(LayoutKind.Explicit, Size = 264)] - public new partial struct __Internal + get { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TypedefNameDecl.__Internal*) __Instance)->qualifiedType)); + } - [FieldOffset(4)] - internal int maxFieldAlignment; + set + { + ((global::CppSharp.Parser.AST.TypedefNameDecl.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + } - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + public unsafe partial class TypedefDecl : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 240)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; - [FieldOffset(16)] - internal global::System.IntPtr _namespace; + [FieldOffset(4)] + internal int maxFieldAlignment; - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; - [FieldOffset(28)] - internal int lineNumberStart; + [FieldOffset(16)] + internal global::System.IntPtr _namespace; - [FieldOffset(32)] - internal int lineNumberEnd; + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + [FieldOffset(28)] + internal int lineNumberStart; - [FieldOffset(72)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + [FieldOffset(32)] + internal int lineNumberEnd; - [FieldOffset(104)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - [FieldOffset(136)] - internal byte isIncomplete; + [FieldOffset(72)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - [FieldOffset(137)] - internal byte isDependent; + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - [FieldOffset(138)] - internal byte isImplicit; + [FieldOffset(136)] + internal byte isIncomplete; - [FieldOffset(139)] - internal byte isInvalid; + [FieldOffset(137)] + internal byte isDependent; - [FieldOffset(144)] - internal global::System.IntPtr completeDeclaration; + [FieldOffset(138)] + internal byte isImplicit; - [FieldOffset(152)] - internal uint definitionOrder; + [FieldOffset(139)] + internal byte isInvalid; - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + [FieldOffset(144)] + internal global::System.IntPtr completeDeclaration; - [FieldOffset(184)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + [FieldOffset(152)] + internal uint definitionOrder; - [FieldOffset(208)] - internal global::System.IntPtr originalPtr; + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - [FieldOffset(216)] - internal global::System.IntPtr comment; + [FieldOffset(184)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - [FieldOffset(224)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C expression; + [FieldOffset(208)] + internal global::System.IntPtr originalPtr; - [FieldOffset(256)] - internal ulong value; + [FieldOffset(216)] + internal global::System.IntPtr comment; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Item@Enumeration@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + [FieldOffset(224)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Item@Enumeration@AST@CppParser@CppSharp@@QEAA@AEBV01234@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0TypedefDecl@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1Item@Enumeration@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern void dtor(global::System.IntPtr __instance, int delete); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0TypedefDecl@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - internal static new global::CppSharp.Parser.AST.Enumeration.Item __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Enumeration.Item(native.ToPointer(), skipVTables); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1TypedefDecl@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); + } - internal static global::CppSharp.Parser.AST.Enumeration.Item __CreateInstance(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Enumeration.Item(native, skipVTables); - } + internal static new global::CppSharp.Parser.AST.TypedefDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.TypedefDecl(native.ToPointer(), skipVTables); + } - private static void* __CopyValue(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); - global::CppSharp.Parser.AST.Enumeration.Item.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private Item(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected Item(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public Item() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } - - public Item(global::CppSharp.Parser.AST.Enumeration.Item _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } - - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public string Expression - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*) __Instance)->expression)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*)__Instance)->expression), value); - } - } - - public ulong Value - { - get - { - return ((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*) __Instance)->value; - } - - set - { - ((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*)__Instance)->value = value; - } - } - } - - internal static new global::CppSharp.Parser.AST.Enumeration __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Enumeration(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.Enumeration __CreateInstance(global::CppSharp.Parser.AST.Enumeration.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TypedefDecl __CreateInstance(global::CppSharp.Parser.AST.TypedefDecl.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Enumeration(native, skipVTables); + return new global::CppSharp.Parser.AST.TypedefDecl(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Enumeration.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefDecl.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); - global::CppSharp.Parser.AST.Enumeration.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); + global::CppSharp.Parser.AST.TypedefDecl.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Enumeration(global::CppSharp.Parser.AST.Enumeration.__Internal native, bool skipVTables = false) + private TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Enumeration(void* native, bool skipVTables = false) + protected TypedefDecl(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -8442,19 +7808,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Enumeration() + public TypedefDecl() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public Enumeration(global::CppSharp.Parser.AST.Enumeration _0) + public TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -8475,108 +7841,11 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - - public global::CppSharp.Parser.AST.Enumeration.Item GetItems(uint i) - { - var __ret = __Internal.GetItems((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Enumeration.Item __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Enumeration.Item) global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Enumeration.Item.__CreateInstance(__ret); - return __result0; - } - - public void AddItems(global::CppSharp.Parser.AST.Enumeration.Item s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddItems((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearItems() - { - __Internal.ClearItems((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.Enumeration.Item FindItemByName(string Name) - { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, Name); - var __arg0 = __basicString0.__Instance; - var __ret = __Internal.FindItemByName((__Instance + __PointerAdjustment), __arg0); - __basicString0.Dispose(false); - global::CppSharp.Parser.AST.Enumeration.Item __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Enumeration.Item) global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Enumeration.Item.__CreateInstance(__ret); - return __result0; - } - - public global::CppSharp.Parser.AST.Enumeration.EnumModifiers Modifiers - { - get - { - return ((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->modifiers; - } - - set - { - ((global::CppSharp.Parser.AST.Enumeration.__Internal*)__Instance)->modifiers = value; - } - } - - public global::CppSharp.Parser.AST.Type Type - { - get - { - global::CppSharp.Parser.AST.Type __result0; - if (((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type)) - __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type]; - else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.Enumeration.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - - public global::CppSharp.Parser.AST.BuiltinType BuiltinType - { - get - { - global::CppSharp.Parser.AST.BuiltinType __result0; - if (((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.BuiltinType.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType)) - __result0 = (global::CppSharp.Parser.AST.BuiltinType) global::CppSharp.Parser.AST.BuiltinType.NativeToManagedMap[((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType]; - else __result0 = global::CppSharp.Parser.AST.BuiltinType.__CreateInstance(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.Enumeration.__Internal*)__Instance)->builtinType = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - - public uint ItemsCount - { - get - { - var __ret = __Internal.GetItemsCount((__Instance + __PointerAdjustment)); - return __ret; - } - } } - public unsafe partial class Variable : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class TypeAlias : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 272)] + [StructLayout(LayoutKind.Explicit, Size = 248)] public new partial struct __Internal { [FieldOffset(0)] @@ -8640,52 +7909,52 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(224)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; - - [FieldOffset(256)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + [FieldOffset(240)] + internal global::System.IntPtr describedAliasTemplate; + [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Variable@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0TypeAlias@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Variable@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0TypeAlias@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1Variable@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??1TypeAlias@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern void dtor(global::System.IntPtr __instance, int delete); } - internal static new global::CppSharp.Parser.AST.Variable __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TypeAlias __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Variable(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TypeAlias(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Variable __CreateInstance(global::CppSharp.Parser.AST.Variable.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TypeAlias __CreateInstance(global::CppSharp.Parser.AST.TypeAlias.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Variable(native, skipVTables); + return new global::CppSharp.Parser.AST.TypeAlias(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Variable.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypeAlias.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); - global::CppSharp.Parser.AST.Variable.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); + global::CppSharp.Parser.AST.TypeAlias.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Variable(global::CppSharp.Parser.AST.Variable.__Internal native, bool skipVTables = false) + private TypeAlias(global::CppSharp.Parser.AST.TypeAlias.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Variable(void* native, bool skipVTables = false) + protected TypeAlias(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -8694,19 +7963,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Variable() + public TypeAlias() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public Variable(global::CppSharp.Parser.AST.Variable _0) + public TypeAlias(global::CppSharp.Parser.AST.TypeAlias _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -8728,196 +7997,28 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public string Mangled + public global::CppSharp.Parser.AST.TypeAliasTemplate DescribedAliasTemplate { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Variable.__Internal*) __Instance)->mangled)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Variable.__Internal*)__Instance)->mangled), value); - } - } - - public global::CppSharp.Parser.AST.QualifiedType QualifiedType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Variable.__Internal*) __Instance)->qualifiedType)); - } - - set - { - ((global::CppSharp.Parser.AST.Variable.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } - } - - public unsafe partial class BaseClassSpecifier : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 24)] - public partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(4)] - internal byte isVirtual; - - [FieldOffset(8)] - internal global::System.IntPtr type; - - [FieldOffset(16)] - internal int offset; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0BaseClassSpecifier@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0BaseClassSpecifier@AST@CppParser@CppSharp@@QEAA@AEBU0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - } - - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.BaseClassSpecifier __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.BaseClassSpecifier(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.BaseClassSpecifier __CreateInstance(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.BaseClassSpecifier(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); - *(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) ret = native; - return ret.ToPointer(); - } - - private BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected BaseClassSpecifier(void* native, bool skipVTables = false) - { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public BaseClassSpecifier() - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } - - public BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier _0) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) _0.__Instance); - } - - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.BaseClassSpecifier __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public global::CppSharp.Parser.AST.AccessSpecifier Access - { - get - { - return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->access; - } - - set - { - ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->access = value; - } - } - - public bool IsVirtual - { - get - { - return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->isVirtual != 0; - } - - set - { - ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->isVirtual = (byte) (value ? 1 : 0); - } - } - - public global::CppSharp.Parser.AST.Type Type - { - get - { - global::CppSharp.Parser.AST.Type __result0; - if (((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type)) - __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type]; - else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type); + global::CppSharp.Parser.AST.TypeAliasTemplate __result0; + if (((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TypeAliasTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate)) + __result0 = (global::CppSharp.Parser.AST.TypeAliasTemplate) global::CppSharp.Parser.AST.TypeAliasTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate]; + else __result0 = global::CppSharp.Parser.AST.TypeAliasTemplate.__CreateInstance(((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate); return __result0; } set { - ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - - public int Offset - { - get - { - return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->offset; - } - - set - { - ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->offset = value; + ((global::CppSharp.Parser.AST.TypeAlias.__Internal*)__Instance)->describedAliasTemplate = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class Field : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class Friend : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 256)] + [StructLayout(LayoutKind.Explicit, Size = 232)] public new partial struct __Internal { [FieldOffset(0)] @@ -8981,58 +8082,49 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(224)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - - [FieldOffset(240)] - internal global::System.IntPtr _class; - - [FieldOffset(248)] - internal byte isBitField; - - [FieldOffset(252)] - internal uint bitWidth; + internal global::System.IntPtr declaration; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Field@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0Friend@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Field@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0Friend@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1Field@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??1Friend@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern void dtor(global::System.IntPtr __instance, int delete); } - internal static new global::CppSharp.Parser.AST.Field __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Friend __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Field(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Friend(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Field __CreateInstance(global::CppSharp.Parser.AST.Field.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Friend __CreateInstance(global::CppSharp.Parser.AST.Friend.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Field(native, skipVTables); + return new global::CppSharp.Parser.AST.Friend(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Field.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Friend.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); - global::CppSharp.Parser.AST.Field.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); + global::CppSharp.Parser.AST.Friend.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Field(global::CppSharp.Parser.AST.Field.__Internal native, bool skipVTables = false) + private Friend(global::CppSharp.Parser.AST.Friend.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Field(void* native, bool skipVTables = false) + protected Friend(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -9041,19 +8133,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Field() + public Friend() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public Field(global::CppSharp.Parser.AST.Field _0) + public Friend(global::CppSharp.Parser.AST.Friend _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -9075,170 +8167,239 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType + public global::CppSharp.Parser.AST.Declaration Declaration { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->qualifiedType)); + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration); + return __result0; } set { - ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.Friend.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } + } - public global::CppSharp.Parser.AST.Class Class + public unsafe partial class StatementObsolete : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public partial struct __Internal { - get - { - global::CppSharp.Parser.AST.Class __result0; - if (((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class)) - __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class]; - else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class); - return __result0; - } + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StatementClassObsolete _class; - set - { - ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } + [FieldOffset(8)] + internal global::System.IntPtr decl; - public bool IsBitField + [FieldOffset(16)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0StatementObsolete@AST@CppParser@CppSharp@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@W4StatementClassObsolete@123@PEAVDeclaration@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::System.IntPtr str, global::CppSharp.Parser.AST.StatementClassObsolete Class, global::System.IntPtr decl); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0StatementObsolete@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1StatementObsolete@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.StatementObsolete __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.StatementObsolete(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.StatementObsolete __CreateInstance(global::CppSharp.Parser.AST.StatementObsolete.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.StatementObsolete(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.StatementObsolete.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StatementObsolete.__Internal)); + global::CppSharp.Parser.AST.StatementObsolete.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private StatementObsolete(global::CppSharp.Parser.AST.StatementObsolete.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected StatementObsolete(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public StatementObsolete(string str, global::CppSharp.Parser.AST.StatementClassObsolete Class, global::CppSharp.Parser.AST.Declaration decl) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StatementObsolete.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, str); + var __arg0 = __basicString0.__Instance; + var __arg2 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; + __Internal.ctor((__Instance + __PointerAdjustment), __arg0, Class, __arg2); + __basicString0.Dispose(false); + } + + public StatementObsolete(global::CppSharp.Parser.AST.StatementObsolete _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StatementObsolete.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.StatementObsolete __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.StatementClassObsolete Class { get { - return ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->isBitField != 0; + return ((global::CppSharp.Parser.AST.StatementObsolete.__Internal*) __Instance)->_class; } set { - ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->isBitField = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.StatementObsolete.__Internal*)__Instance)->_class = value; } } - public uint BitWidth + public global::CppSharp.Parser.AST.Declaration Decl { get { - return ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->bitWidth; + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.StatementObsolete.__Internal*) __Instance)->decl == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.StatementObsolete.__Internal*) __Instance)->decl)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.StatementObsolete.__Internal*) __Instance)->decl]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.StatementObsolete.__Internal*) __Instance)->decl); + return __result0; } set { - ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->bitWidth = value; + ((global::CppSharp.Parser.AST.StatementObsolete.__Internal*)__Instance)->decl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public string String + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.StatementObsolete.__Internal*) __Instance)->@string)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.StatementObsolete.__Internal*)__Instance)->@string), value); } } } - public unsafe partial class AccessSpecifierDecl : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class ExpressionObsolete : global::CppSharp.Parser.AST.StatementObsolete, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 224)] + [StructLayout(LayoutKind.Explicit, Size = 48)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; + internal global::CppSharp.Parser.AST.StatementClassObsolete _class; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + internal global::System.IntPtr decl; [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; - - [FieldOffset(32)] - internal int lineNumberEnd; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(72)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - - [FieldOffset(104)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - - [FieldOffset(136)] - internal byte isIncomplete; - - [FieldOffset(137)] - internal byte isDependent; - - [FieldOffset(138)] - internal byte isImplicit; - - [FieldOffset(139)] - internal byte isInvalid; - - [FieldOffset(144)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(152)] - internal uint definitionOrder; - - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(184)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - - [FieldOffset(208)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(216)] - internal global::System.IntPtr comment; + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0AccessSpecifierDecl@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + EntryPoint="??0ExpressionObsolete@AST@CppParser@CppSharp@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@W4StatementClassObsolete@123@PEAVDeclaration@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::System.IntPtr str, global::CppSharp.Parser.AST.StatementClassObsolete Class, global::System.IntPtr decl); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0AccessSpecifierDecl@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0ExpressionObsolete@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1AccessSpecifierDecl@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??1ExpressionObsolete@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern void dtor(global::System.IntPtr __instance, int delete); } - internal static new global::CppSharp.Parser.AST.AccessSpecifierDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.ExpressionObsolete __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.AccessSpecifierDecl(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.ExpressionObsolete(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.AccessSpecifierDecl __CreateInstance(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.ExpressionObsolete __CreateInstance(global::CppSharp.Parser.AST.ExpressionObsolete.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.AccessSpecifierDecl(native, skipVTables); + return new global::CppSharp.Parser.AST.ExpressionObsolete(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ExpressionObsolete.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); - global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExpressionObsolete.__Internal)); + global::CppSharp.Parser.AST.ExpressionObsolete.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private AccessSpecifierDecl(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native, bool skipVTables = false) + private ExpressionObsolete(global::CppSharp.Parser.AST.ExpressionObsolete.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected AccessSpecifierDecl(void* native, bool skipVTables = false) + protected ExpressionObsolete(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -9247,19 +8408,24 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public AccessSpecifierDecl() + public ExpressionObsolete(string str, global::CppSharp.Parser.AST.StatementClassObsolete Class, global::CppSharp.Parser.AST.Declaration decl) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExpressionObsolete.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, str); + var __arg0 = __basicString0.__Instance; + var __arg2 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; + __Internal.ctor((__Instance + __PointerAdjustment), __arg0, Class, __arg2); + __basicString0.Dispose(false); } - public AccessSpecifierDecl(global::CppSharp.Parser.AST.AccessSpecifierDecl _0) + public ExpressionObsolete(global::CppSharp.Parser.AST.ExpressionObsolete _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExpressionObsolete.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -9272,7 +8438,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.StatementObsolete __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -9282,270 +8448,253 @@ namespace CppSharp } } - public unsafe partial class Class : global::CppSharp.Parser.AST.DeclarationContext, IDisposable + public unsafe partial class BinaryOperatorObsolete : global::CppSharp.Parser.AST.ExpressionObsolete, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 584)] + [StructLayout(LayoutKind.Explicit, Size = 96)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; + internal global::CppSharp.Parser.AST.StatementClassObsolete _class; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + internal global::System.IntPtr decl; [FieldOffset(16)] - internal global::System.IntPtr _namespace; + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + [FieldOffset(48)] + internal global::System.IntPtr LHS; - [FieldOffset(28)] - internal int lineNumberStart; + [FieldOffset(56)] + internal global::System.IntPtr RHS; - [FieldOffset(32)] - internal int lineNumberEnd; + [FieldOffset(64)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C opcodeStr; - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0BinaryOperatorObsolete@AST@CppParser@CppSharp@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PEAVExpressionObsolete@123@10@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::System.IntPtr str, global::System.IntPtr lhs, global::System.IntPtr rhs, global::System.IntPtr opcodeStr); - [FieldOffset(72)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0BinaryOperatorObsolete@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - [FieldOffset(104)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1BinaryOperatorObsolete@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); + } - [FieldOffset(136)] - internal byte isIncomplete; + internal static new global::CppSharp.Parser.AST.BinaryOperatorObsolete __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.BinaryOperatorObsolete(native.ToPointer(), skipVTables); + } - [FieldOffset(137)] - internal byte isDependent; + internal static global::CppSharp.Parser.AST.BinaryOperatorObsolete __CreateInstance(global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.BinaryOperatorObsolete(native, skipVTables); + } - [FieldOffset(138)] - internal byte isImplicit; + private static void* __CopyValue(global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal)); + global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(139)] - internal byte isInvalid; + private BinaryOperatorObsolete(global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(144)] - internal global::System.IntPtr completeDeclaration; + protected BinaryOperatorObsolete(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(152)] - internal uint definitionOrder; - - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(184)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - - [FieldOffset(208)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(216)] - internal global::System.IntPtr comment; - - [FieldOffset(224)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; - - [FieldOffset(248)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; - - [FieldOffset(272)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; - - [FieldOffset(296)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; - - [FieldOffset(320)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; - - [FieldOffset(344)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; - - [FieldOffset(368)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; - - [FieldOffset(392)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; - - [FieldOffset(416)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; - - [FieldOffset(440)] - internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; - - [FieldOffset(456)] - internal byte isAnonymous; - - [FieldOffset(464)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BaseClassSpecifier___N_std_S_allocator__S0_ Bases; - - [FieldOffset(488)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Field___N_std_S_allocator__S0_ Fields; - - [FieldOffset(512)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_S_allocator__S0_ Methods; + public BinaryOperatorObsolete(string str, global::CppSharp.Parser.AST.ExpressionObsolete lhs, global::CppSharp.Parser.AST.ExpressionObsolete rhs, string opcodeStr) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, str); + var __arg0 = __basicString0.__Instance; + var __arg1 = ReferenceEquals(lhs, null) ? global::System.IntPtr.Zero : lhs.__Instance; + var __arg2 = ReferenceEquals(rhs, null) ? global::System.IntPtr.Zero : rhs.__Instance; + var __basicString3 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString3, opcodeStr); + var __arg3 = __basicString3.__Instance; + __Internal.ctor((__Instance + __PointerAdjustment), __arg0, __arg1, __arg2, __arg3); + __basicString0.Dispose(false); + __basicString3.Dispose(false); + } - [FieldOffset(536)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_AccessSpecifierDecl___N_std_S_allocator__S0_ Specifiers; + public BinaryOperatorObsolete(global::CppSharp.Parser.AST.BinaryOperatorObsolete _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(560)] - internal byte isPOD; + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.StatementObsolete __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } - [FieldOffset(561)] - internal byte isAbstract; + public global::CppSharp.Parser.AST.ExpressionObsolete LHS + { + get + { + global::CppSharp.Parser.AST.ExpressionObsolete __result0; + if (((global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal*) __Instance)->LHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ExpressionObsolete.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal*) __Instance)->LHS)) + __result0 = (global::CppSharp.Parser.AST.ExpressionObsolete) global::CppSharp.Parser.AST.ExpressionObsolete.NativeToManagedMap[((global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal*) __Instance)->LHS]; + else __result0 = global::CppSharp.Parser.AST.ExpressionObsolete.__CreateInstance(((global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal*) __Instance)->LHS); + return __result0; + } - [FieldOffset(562)] - internal byte isUnion; + set + { + ((global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal*)__Instance)->LHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } - [FieldOffset(563)] - internal byte isDynamic; + public global::CppSharp.Parser.AST.ExpressionObsolete RHS + { + get + { + global::CppSharp.Parser.AST.ExpressionObsolete __result0; + if (((global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal*) __Instance)->RHS == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ExpressionObsolete.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal*) __Instance)->RHS)) + __result0 = (global::CppSharp.Parser.AST.ExpressionObsolete) global::CppSharp.Parser.AST.ExpressionObsolete.NativeToManagedMap[((global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal*) __Instance)->RHS]; + else __result0 = global::CppSharp.Parser.AST.ExpressionObsolete.__CreateInstance(((global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal*) __Instance)->RHS); + return __result0; + } - [FieldOffset(564)] - internal byte isPolymorphic; + set + { + ((global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal*)__Instance)->RHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } - [FieldOffset(565)] - internal byte hasNonTrivialDefaultConstructor; + public string OpcodeStr + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal*) __Instance)->opcodeStr)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - [FieldOffset(566)] - internal byte hasNonTrivialCopyConstructor; + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal*)__Instance)->opcodeStr), value); + } + } + } - [FieldOffset(567)] - internal byte hasNonTrivialDestructor; + public unsafe partial class CallExprObsolete : global::CppSharp.Parser.AST.ExpressionObsolete, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 72)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StatementClassObsolete _class; - [FieldOffset(568)] - internal byte isExternCContext; + [FieldOffset(8)] + internal global::System.IntPtr decl; - [FieldOffset(569)] - internal byte isInjected; + [FieldOffset(16)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; - [FieldOffset(576)] - internal global::System.IntPtr layout; + [FieldOffset(48)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_ExpressionObsolete___N_std_S_allocator__S0_ Arguments; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Class@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + EntryPoint="??0CallExprObsolete@AST@CppParser@CppSharp@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PEAVDeclaration@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::System.IntPtr str, global::System.IntPtr decl); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Class@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0CallExprObsolete@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1Class@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??1CallExprObsolete@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern void dtor(global::System.IntPtr __instance, int delete); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getBases@Class@AST@CppParser@CppSharp@@QEAAPEAUBaseClassSpecifier@234@I@Z")] - internal static extern global::System.IntPtr GetBases(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addBases@Class@AST@CppParser@CppSharp@@QEAAXAEAPEAUBaseClassSpecifier@234@@Z")] - internal static extern void AddBases(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearBases@Class@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearBases(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getFields@Class@AST@CppParser@CppSharp@@QEAAPEAVField@234@I@Z")] - internal static extern global::System.IntPtr GetFields(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addFields@Class@AST@CppParser@CppSharp@@QEAAXAEAPEAVField@234@@Z")] - internal static extern void AddFields(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearFields@Class@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearFields(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getMethods@Class@AST@CppParser@CppSharp@@QEAAPEAVMethod@234@I@Z")] - internal static extern global::System.IntPtr GetMethods(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addMethods@Class@AST@CppParser@CppSharp@@QEAAXAEAPEAVMethod@234@@Z")] - internal static extern void AddMethods(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearMethods@Class@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearMethods(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getSpecifiers@Class@AST@CppParser@CppSharp@@QEAAPEAVAccessSpecifierDecl@234@I@Z")] - internal static extern global::System.IntPtr GetSpecifiers(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addSpecifiers@Class@AST@CppParser@CppSharp@@QEAAXAEAPEAVAccessSpecifierDecl@234@@Z")] - internal static extern void AddSpecifiers(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearSpecifiers@Class@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearSpecifiers(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getBasesCount@Class@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetBasesCount(global::System.IntPtr __instance); + EntryPoint="?getArguments@CallExprObsolete@AST@CppParser@CppSharp@@QEAAPEAVExpressionObsolete@234@I@Z")] + internal static extern global::System.IntPtr GetArguments(global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getFieldsCount@Class@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetFieldsCount(global::System.IntPtr __instance); + EntryPoint="?addArguments@CallExprObsolete@AST@CppParser@CppSharp@@QEAAXAEAPEAVExpressionObsolete@234@@Z")] + internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getMethodsCount@Class@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetMethodsCount(global::System.IntPtr __instance); + EntryPoint="?clearArguments@CallExprObsolete@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearArguments(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getSpecifiersCount@Class@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetSpecifiersCount(global::System.IntPtr __instance); + EntryPoint="?getArgumentsCount@CallExprObsolete@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.Class __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.CallExprObsolete __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Class(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.CallExprObsolete(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Class __CreateInstance(global::CppSharp.Parser.AST.Class.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.CallExprObsolete __CreateInstance(global::CppSharp.Parser.AST.CallExprObsolete.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Class(native, skipVTables); + return new global::CppSharp.Parser.AST.CallExprObsolete(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Class.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.CallExprObsolete.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); - global::CppSharp.Parser.AST.Class.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExprObsolete.__Internal)); + global::CppSharp.Parser.AST.CallExprObsolete.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Class(global::CppSharp.Parser.AST.Class.__Internal native, bool skipVTables = false) + private CallExprObsolete(global::CppSharp.Parser.AST.CallExprObsolete.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Class(void* native, bool skipVTables = false) + protected CallExprObsolete(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -9554,19 +8703,24 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Class() + public CallExprObsolete(string str, global::CppSharp.Parser.AST.Declaration decl) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExprObsolete.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, str); + var __arg0 = __basicString0.__Instance; + var __arg1 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; + __Internal.ctor((__Instance + __PointerAdjustment), __arg0, __arg1); + __basicString0.Dispose(false); } - public Class(global::CppSharp.Parser.AST.Class _0) + public CallExprObsolete(global::CppSharp.Parser.AST.CallExprObsolete _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExprObsolete.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -9579,7 +8733,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.StatementObsolete __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -9588,312 +8742,224 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.BaseClassSpecifier GetBases(uint i) + public global::CppSharp.Parser.AST.ExpressionObsolete GetArguments(uint i) { - var __ret = __Internal.GetBases((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.BaseClassSpecifier __result0; + var __ret = __Internal.GetArguments((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.ExpressionObsolete __result0; if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.BaseClassSpecifier.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.BaseClassSpecifier) global::CppSharp.Parser.AST.BaseClassSpecifier.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.BaseClassSpecifier.__CreateInstance(__ret); + else if (global::CppSharp.Parser.AST.ExpressionObsolete.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.ExpressionObsolete) global::CppSharp.Parser.AST.ExpressionObsolete.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.ExpressionObsolete.__CreateInstance(__ret); return __result0; } - public void AddBases(global::CppSharp.Parser.AST.BaseClassSpecifier s) + public void AddArguments(global::CppSharp.Parser.AST.ExpressionObsolete s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddBases((__Instance + __PointerAdjustment), __arg0); + __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); } - public void ClearBases() + public void ClearArguments() { - __Internal.ClearBases((__Instance + __PointerAdjustment)); + __Internal.ClearArguments((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.Field GetFields(uint i) + public uint ArgumentsCount { - var __ret = __Internal.GetFields((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Field __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Field.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Field) global::CppSharp.Parser.AST.Field.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Field.__CreateInstance(__ret); - return __result0; + get + { + var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); + return __ret; + } } + } - public void AddFields(global::CppSharp.Parser.AST.Field s) + public unsafe partial class CXXConstructExprObsolete : global::CppSharp.Parser.AST.ExpressionObsolete, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 72)] + public new partial struct __Internal { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddFields((__Instance + __PointerAdjustment), __arg0); + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StatementClassObsolete _class; + + [FieldOffset(8)] + internal global::System.IntPtr decl; + + [FieldOffset(16)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; + + [FieldOffset(48)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_ExpressionObsolete___N_std_S_allocator__S0_ Arguments; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CXXConstructExprObsolete@AST@CppParser@CppSharp@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PEAVDeclaration@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::System.IntPtr str, global::System.IntPtr decl); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CXXConstructExprObsolete@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1CXXConstructExprObsolete@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getArguments@CXXConstructExprObsolete@AST@CppParser@CppSharp@@QEAAPEAVExpressionObsolete@234@I@Z")] + internal static extern global::System.IntPtr GetArguments(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?addArguments@CXXConstructExprObsolete@AST@CppParser@CppSharp@@QEAAXAEAPEAVExpressionObsolete@234@@Z")] + internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?clearArguments@CXXConstructExprObsolete@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearArguments(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getArgumentsCount@CXXConstructExprObsolete@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); } - public void ClearFields() + internal static new global::CppSharp.Parser.AST.CXXConstructExprObsolete __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - __Internal.ClearFields((__Instance + __PointerAdjustment)); + return new global::CppSharp.Parser.AST.CXXConstructExprObsolete(native.ToPointer(), skipVTables); } - public global::CppSharp.Parser.AST.Method GetMethods(uint i) + internal static global::CppSharp.Parser.AST.CXXConstructExprObsolete __CreateInstance(global::CppSharp.Parser.AST.CXXConstructExprObsolete.__Internal native, bool skipVTables = false) { - var __ret = __Internal.GetMethods((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Method __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Method.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Method) global::CppSharp.Parser.AST.Method.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Method.__CreateInstance(__ret); - return __result0; + return new global::CppSharp.Parser.AST.CXXConstructExprObsolete(native, skipVTables); } - public void AddMethods(global::CppSharp.Parser.AST.Method s) + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXConstructExprObsolete.__Internal native) { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddMethods((__Instance + __PointerAdjustment), __arg0); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExprObsolete.__Internal)); + global::CppSharp.Parser.AST.CXXConstructExprObsolete.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - public void ClearMethods() + private CXXConstructExprObsolete(global::CppSharp.Parser.AST.CXXConstructExprObsolete.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - __Internal.ClearMethods((__Instance + __PointerAdjustment)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; } - public global::CppSharp.Parser.AST.AccessSpecifierDecl GetSpecifiers(uint i) + protected CXXConstructExprObsolete(void* native, bool skipVTables = false) + : base((void*) null) { - var __ret = __Internal.GetSpecifiers((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.AccessSpecifierDecl __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.AccessSpecifierDecl.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.AccessSpecifierDecl) global::CppSharp.Parser.AST.AccessSpecifierDecl.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.AccessSpecifierDecl.__CreateInstance(__ret); - return __result0; + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - public void AddSpecifiers(global::CppSharp.Parser.AST.AccessSpecifierDecl s) + public CXXConstructExprObsolete(string str, global::CppSharp.Parser.AST.Declaration decl) + : this((void*) null) { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddSpecifiers((__Instance + __PointerAdjustment), __arg0); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExprObsolete.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, str); + var __arg0 = __basicString0.__Instance; + var __arg1 = ReferenceEquals(decl, null) ? global::System.IntPtr.Zero : decl.__Instance; + __Internal.ctor((__Instance + __PointerAdjustment), __arg0, __arg1); + __basicString0.Dispose(false); } - public void ClearSpecifiers() + public CXXConstructExprObsolete(global::CppSharp.Parser.AST.CXXConstructExprObsolete _0) + : this((void*) null) { - __Internal.ClearSpecifiers((__Instance + __PointerAdjustment)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExprObsolete.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public bool IsPOD + public override void Dispose(bool disposing) { - get - { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isPOD != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isPOD = (byte) (value ? 1 : 0); - } + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.StatementObsolete __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } - public bool IsAbstract + public global::CppSharp.Parser.AST.ExpressionObsolete GetArguments(uint i) { - get - { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isAbstract != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isAbstract = (byte) (value ? 1 : 0); - } + var __ret = __Internal.GetArguments((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.ExpressionObsolete __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ExpressionObsolete.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.ExpressionObsolete) global::CppSharp.Parser.AST.ExpressionObsolete.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.ExpressionObsolete.__CreateInstance(__ret); + return __result0; } - public bool IsUnion + public void AddArguments(global::CppSharp.Parser.AST.ExpressionObsolete s) { - get - { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isUnion != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isUnion = (byte) (value ? 1 : 0); - } + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); } - public bool IsDynamic + public void ClearArguments() { - get - { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isDynamic != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isDynamic = (byte) (value ? 1 : 0); - } + __Internal.ClearArguments((__Instance + __PointerAdjustment)); } - public bool IsPolymorphic + public uint ArgumentsCount { get { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isPolymorphic != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isPolymorphic = (byte) (value ? 1 : 0); + var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); + return __ret; } } + } - public bool HasNonTrivialDefaultConstructor + public unsafe partial class Parameter : global::CppSharp.Parser.AST.Declaration, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 264)] + public new partial struct __Internal { - get - { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialDefaultConstructor != 0; - } + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->hasNonTrivialDefaultConstructor = (byte) (value ? 1 : 0); - } - } + [FieldOffset(4)] + internal int maxFieldAlignment; - public bool HasNonTrivialCopyConstructor - { - get - { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialCopyConstructor != 0; - } + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->hasNonTrivialCopyConstructor = (byte) (value ? 1 : 0); - } - } + [FieldOffset(16)] + internal global::System.IntPtr _namespace; - public bool HasNonTrivialDestructor - { - get - { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialDestructor != 0; - } + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->hasNonTrivialDestructor = (byte) (value ? 1 : 0); - } - } + [FieldOffset(28)] + internal int lineNumberStart; - public bool IsExternCContext - { - get - { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isExternCContext != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isExternCContext = (byte) (value ? 1 : 0); - } - } - - public bool IsInjected - { - get - { - return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isInjected != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isInjected = (byte) (value ? 1 : 0); - } - } - - public global::CppSharp.Parser.AST.ClassLayout Layout - { - get - { - global::CppSharp.Parser.AST.ClassLayout __result0; - if (((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.ClassLayout.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout)) - __result0 = (global::CppSharp.Parser.AST.ClassLayout) global::CppSharp.Parser.AST.ClassLayout.NativeToManagedMap[((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout]; - else __result0 = global::CppSharp.Parser.AST.ClassLayout.__CreateInstance(((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->layout = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - - public uint BasesCount - { - get - { - var __ret = __Internal.GetBasesCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint FieldsCount - { - get - { - var __ret = __Internal.GetFieldsCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint MethodsCount - { - get - { - var __ret = __Internal.GetMethodsCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint SpecifiersCount - { - get - { - var __ret = __Internal.GetSpecifiersCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - } - - public unsafe partial class Template : global::CppSharp.Parser.AST.Declaration, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 256)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; - - [FieldOffset(32)] - internal int lineNumberEnd; + [FieldOffset(32)] + internal int lineNumberEnd; [FieldOffset(40)] internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; @@ -9935,77 +9001,64 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(224)] - internal global::System.IntPtr TemplatedDecl; - - [FieldOffset(232)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Template@AST@CppParser@CppSharp@@QEAA@W4DeclarationKind@123@@Z")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.DeclarationKind kind); + [FieldOffset(240)] + internal byte isIndirect; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Template@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + [FieldOffset(241)] + internal byte hasDefaultValue; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Template@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + [FieldOffset(244)] + internal uint index; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1Template@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern void dtor(global::System.IntPtr __instance, int delete); + [FieldOffset(248)] + internal global::System.IntPtr defaultArgument; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getParameters@Template@AST@CppParser@CppSharp@@QEAAPEAVDeclaration@234@I@Z")] - internal static extern global::System.IntPtr GetParameters(global::System.IntPtr __instance, uint i); + [FieldOffset(256)] + internal global::System.IntPtr defaultArgumentNew; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addParameters@Template@AST@CppParser@CppSharp@@QEAAXAEAPEAVDeclaration@234@@Z")] - internal static extern void AddParameters(global::System.IntPtr __instance, global::System.IntPtr s); + EntryPoint="??0Parameter@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearParameters@Template@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearParameters(global::System.IntPtr __instance); + EntryPoint="??0Parameter@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getParametersCount@Template@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetParametersCount(global::System.IntPtr __instance); + EntryPoint="??1Parameter@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); } - internal static new global::CppSharp.Parser.AST.Template __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Parameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Template(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Parameter(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Template __CreateInstance(global::CppSharp.Parser.AST.Template.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Parameter __CreateInstance(global::CppSharp.Parser.AST.Parameter.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Template(native, skipVTables); + return new global::CppSharp.Parser.AST.Parameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Template.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Parameter.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); - global::CppSharp.Parser.AST.Template.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); + global::CppSharp.Parser.AST.Parameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Template(global::CppSharp.Parser.AST.Template.__Internal native, bool skipVTables = false) + private Parameter(global::CppSharp.Parser.AST.Parameter.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Template(void* native, bool skipVTables = false) + protected Parameter(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -10014,28 +9067,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Template(global::CppSharp.Parser.AST.DeclarationKind kind) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), kind); - } - - public Template() + public Parameter() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public Template(global::CppSharp.Parser.AST.Template _0) + public Parameter(global::CppSharp.Parser.AST.Parameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -10057,66 +9101,98 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.Declaration GetParameters(uint i) + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { - var __ret = __Internal.GetParameters((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Declaration __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(__ret); - return __result0; + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->qualifiedType)); + } + + set + { + ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } } - public void AddParameters(global::CppSharp.Parser.AST.Declaration s) + public bool IsIndirect { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddParameters((__Instance + __PointerAdjustment), __arg0); + get + { + return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->isIndirect != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->isIndirect = (byte) (value ? 1 : 0); + } } - public void ClearParameters() + public bool HasDefaultValue { - __Internal.ClearParameters((__Instance + __PointerAdjustment)); + get + { + return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->hasDefaultValue != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->hasDefaultValue = (byte) (value ? 1 : 0); + } } - public static implicit operator global::CppSharp.Parser.AST.Template(global::CppSharp.Parser.AST.DeclarationKind kind) + public uint Index { - return new global::CppSharp.Parser.AST.Template(kind); + get + { + return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->index; + } + + set + { + ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->index = value; + } } - public global::CppSharp.Parser.AST.Declaration TemplatedDecl + public global::CppSharp.Parser.AST.ExpressionObsolete DefaultArgument { get { - global::CppSharp.Parser.AST.Declaration __result0; - if (((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl)) - __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl]; - else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl); + global::CppSharp.Parser.AST.ExpressionObsolete __result0; + if (((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ExpressionObsolete.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument)) + __result0 = (global::CppSharp.Parser.AST.ExpressionObsolete) global::CppSharp.Parser.AST.ExpressionObsolete.NativeToManagedMap[((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument]; + else __result0 = global::CppSharp.Parser.AST.ExpressionObsolete.__CreateInstance(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument); return __result0; } set { - ((global::CppSharp.Parser.AST.Template.__Internal*)__Instance)->TemplatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->defaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public uint ParametersCount + public global::CppSharp.Parser.AST.Expr DefaultArgumentNew { get { - var __ret = __Internal.GetParametersCount((__Instance + __PointerAdjustment)); - return __ret; + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgumentNew == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgumentNew)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgumentNew]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgumentNew); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->defaultArgumentNew = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class TypeAliasTemplate : global::CppSharp.Parser.AST.Template, IDisposable + public unsafe partial class Function : global::CppSharp.Parser.AST.DeclarationContext, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 256)] + [StructLayout(LayoutKind.Explicit, Size = 656)] public new partial struct __Internal { [FieldOffset(0)] @@ -10180,52 +9256,156 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(224)] - internal global::System.IntPtr TemplatedDecl; + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; - [FieldOffset(232)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; + [FieldOffset(248)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; + + [FieldOffset(272)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; + + [FieldOffset(296)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; + + [FieldOffset(320)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; + + [FieldOffset(344)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; + + [FieldOffset(368)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; + + [FieldOffset(392)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; + + [FieldOffset(416)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; + + [FieldOffset(440)] + internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + + [FieldOffset(456)] + internal byte isAnonymous; + + [FieldOffset(464)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; + + [FieldOffset(480)] + internal byte isReturnIndirect; + + [FieldOffset(481)] + internal byte hasThisReturn; + + [FieldOffset(482)] + internal byte isConstExpr; + + [FieldOffset(483)] + internal byte isVariadic; + + [FieldOffset(484)] + internal byte isInline; + + [FieldOffset(485)] + internal byte isPure; + + [FieldOffset(486)] + internal byte isDeleted; + + [FieldOffset(487)] + internal byte isDefaulted; + + [FieldOffset(488)] + internal global::CppSharp.Parser.AST.FriendKind friendKind; + + [FieldOffset(492)] + internal global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; + + [FieldOffset(496)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; + + [FieldOffset(528)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C signature; + + [FieldOffset(560)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C body; + + [FieldOffset(592)] + internal global::CppSharp.Parser.AST.CallingConvention callingConvention; + + [FieldOffset(600)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_S_allocator__S0_ Parameters; + + [FieldOffset(624)] + internal global::System.IntPtr specializationInfo; + + [FieldOffset(632)] + internal global::System.IntPtr instantiatedFrom; + + [FieldOffset(640)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TypeAliasTemplate@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0Function@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TypeAliasTemplate@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0Function@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1TypeAliasTemplate@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??1Function@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern void dtor(global::System.IntPtr __instance, int delete); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getParameters@Function@AST@CppParser@CppSharp@@QEAAPEAVParameter@234@I@Z")] + internal static extern global::System.IntPtr GetParameters(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?addParameters@Function@AST@CppParser@CppSharp@@QEAAXAEAPEAVParameter@234@@Z")] + internal static extern void AddParameters(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?clearParameters@Function@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearParameters(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getParametersCount@Function@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetParametersCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.TypeAliasTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Function __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypeAliasTemplate(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Function(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TypeAliasTemplate __CreateInstance(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Function __CreateInstance(global::CppSharp.Parser.AST.Function.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypeAliasTemplate(native, skipVTables); + return new global::CppSharp.Parser.AST.Function(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Function.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); - global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); + global::CppSharp.Parser.AST.Function.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native, bool skipVTables = false) + private Function(global::CppSharp.Parser.AST.Function.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TypeAliasTemplate(void* native, bool skipVTables = false) + protected Function(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -10234,19 +9414,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TypeAliasTemplate() + public Function() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate _0) + public Function(global::CppSharp.Parser.AST.Function _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -10267,123 +9447,1117 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - } - public unsafe partial class TemplateParameter : global::CppSharp.Parser.AST.Declaration, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 240)] - public new partial struct __Internal + public global::CppSharp.Parser.AST.Parameter GetParameters(uint i) { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + var __ret = __Internal.GetParameters((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Parameter __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Parameter.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Parameter) global::CppSharp.Parser.AST.Parameter.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Parameter.__CreateInstance(__ret); + return __result0; + } - [FieldOffset(16)] - internal global::System.IntPtr _namespace; + public void AddParameters(global::CppSharp.Parser.AST.Parameter s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddParameters((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + public void ClearParameters() + { + __Internal.ClearParameters((__Instance + __PointerAdjustment)); + } - [FieldOffset(28)] - internal int lineNumberStart; + public global::CppSharp.Parser.AST.QualifiedType ReturnType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->returnType)); + } - [FieldOffset(32)] - internal int lineNumberEnd; + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->returnType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + public bool IsReturnIndirect + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isReturnIndirect != 0; + } - [FieldOffset(72)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isReturnIndirect = (byte) (value ? 1 : 0); + } + } - [FieldOffset(104)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + public bool HasThisReturn + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->hasThisReturn != 0; + } - [FieldOffset(136)] - internal byte isIncomplete; + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->hasThisReturn = (byte) (value ? 1 : 0); + } + } - [FieldOffset(137)] - internal byte isDependent; + public bool IsConstExpr + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isConstExpr != 0; + } - [FieldOffset(138)] - internal byte isImplicit; + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isConstExpr = (byte) (value ? 1 : 0); + } + } - [FieldOffset(139)] - internal byte isInvalid; + public bool IsVariadic + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isVariadic != 0; + } - [FieldOffset(144)] - internal global::System.IntPtr completeDeclaration; + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isVariadic = (byte) (value ? 1 : 0); + } + } - [FieldOffset(152)] + public bool IsInline + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isInline != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isInline = (byte) (value ? 1 : 0); + } + } + + public bool IsPure + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isPure != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isPure = (byte) (value ? 1 : 0); + } + } + + public bool IsDeleted + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isDeleted != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isDeleted = (byte) (value ? 1 : 0); + } + } + + public bool IsDefaulted + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isDefaulted != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->isDefaulted = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.FriendKind FriendKind + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->friendKind; + } + + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->friendKind = value; + } + } + + public global::CppSharp.Parser.AST.CXXOperatorKind OperatorKind + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->operatorKind; + } + + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->operatorKind = value; + } + } + + public string Mangled + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->mangled)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->mangled), value); + } + } + + public string Signature + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->signature)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->signature), value); + } + } + + public string Body + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->body)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->body), value); + } + } + + public global::CppSharp.Parser.AST.CallingConvention CallingConvention + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->callingConvention; + } + + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->callingConvention = value; + } + } + + public global::CppSharp.Parser.AST.FunctionTemplateSpecialization SpecializationInfo + { + get + { + global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0; + if (((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo)) + __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo]; + else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->specializationInfo = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Function InstantiatedFrom + { + get + { + global::CppSharp.Parser.AST.Function __result0; + if (((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom)) + __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom]; + else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->instantiatedFrom = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType QualifiedType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->qualifiedType)); + } + + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public uint ParametersCount + { + get + { + var __ret = __Internal.GetParametersCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class Method : global::CppSharp.Parser.AST.Function, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 720)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(72)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(136)] + internal byte isIncomplete; + + [FieldOffset(137)] + internal byte isDependent; + + [FieldOffset(138)] + internal byte isImplicit; + + [FieldOffset(139)] + internal byte isInvalid; + + [FieldOffset(144)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(152)] + internal uint definitionOrder; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(184)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(208)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(216)] + internal global::System.IntPtr comment; + + [FieldOffset(224)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; + + [FieldOffset(248)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; + + [FieldOffset(272)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; + + [FieldOffset(296)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; + + [FieldOffset(320)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; + + [FieldOffset(344)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; + + [FieldOffset(368)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; + + [FieldOffset(392)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; + + [FieldOffset(416)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; + + [FieldOffset(440)] + internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + + [FieldOffset(456)] + internal byte isAnonymous; + + [FieldOffset(464)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; + + [FieldOffset(480)] + internal byte isReturnIndirect; + + [FieldOffset(481)] + internal byte hasThisReturn; + + [FieldOffset(482)] + internal byte isConstExpr; + + [FieldOffset(483)] + internal byte isVariadic; + + [FieldOffset(484)] + internal byte isInline; + + [FieldOffset(485)] + internal byte isPure; + + [FieldOffset(486)] + internal byte isDeleted; + + [FieldOffset(487)] + internal byte isDefaulted; + + [FieldOffset(488)] + internal global::CppSharp.Parser.AST.FriendKind friendKind; + + [FieldOffset(492)] + internal global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; + + [FieldOffset(496)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; + + [FieldOffset(528)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C signature; + + [FieldOffset(560)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C body; + + [FieldOffset(592)] + internal global::CppSharp.Parser.AST.CallingConvention callingConvention; + + [FieldOffset(600)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_S_allocator__S0_ Parameters; + + [FieldOffset(624)] + internal global::System.IntPtr specializationInfo; + + [FieldOffset(632)] + internal global::System.IntPtr instantiatedFrom; + + [FieldOffset(640)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(656)] + internal byte isVirtual; + + [FieldOffset(657)] + internal byte isStatic; + + [FieldOffset(658)] + internal byte isConst; + + [FieldOffset(659)] + internal byte isExplicit; + + [FieldOffset(660)] + internal global::CppSharp.Parser.AST.CXXMethodKind methodKind; + + [FieldOffset(664)] + internal byte isDefaultConstructor; + + [FieldOffset(665)] + internal byte isCopyConstructor; + + [FieldOffset(666)] + internal byte isMoveConstructor; + + [FieldOffset(672)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal conversionType; + + [FieldOffset(688)] + internal global::CppSharp.Parser.AST.RefQualifierKind refQualifier; + + [FieldOffset(696)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_S_allocator__S0_ OverriddenMethods; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0Method@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0Method@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1Method@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getOverriddenMethods@Method@AST@CppParser@CppSharp@@QEAAPEAV1234@I@Z")] + internal static extern global::System.IntPtr GetOverriddenMethods(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?addOverriddenMethods@Method@AST@CppParser@CppSharp@@QEAAXAEAPEAV1234@@Z")] + internal static extern void AddOverriddenMethods(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?clearOverriddenMethods@Method@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearOverriddenMethods(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getOverriddenMethodsCount@Method@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetOverriddenMethodsCount(global::System.IntPtr __instance); + } + + internal static new global::CppSharp.Parser.AST.Method __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Method(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.Method __CreateInstance(global::CppSharp.Parser.AST.Method.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Method(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.Method.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); + global::CppSharp.Parser.AST.Method.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private Method(global::CppSharp.Parser.AST.Method.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Method(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Method() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public Method(global::CppSharp.Parser.AST.Method _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Method GetOverriddenMethods(uint i) + { + var __ret = __Internal.GetOverriddenMethods((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Method __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Method.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Method) global::CppSharp.Parser.AST.Method.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Method.__CreateInstance(__ret); + return __result0; + } + + public void AddOverriddenMethods(global::CppSharp.Parser.AST.Method s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddOverriddenMethods((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearOverriddenMethods() + { + __Internal.ClearOverriddenMethods((__Instance + __PointerAdjustment)); + } + + public bool IsVirtual + { + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isVirtual != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isVirtual = (byte) (value ? 1 : 0); + } + } + + public bool IsStatic + { + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isStatic != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isStatic = (byte) (value ? 1 : 0); + } + } + + public bool IsConst + { + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isConst != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isConst = (byte) (value ? 1 : 0); + } + } + + public bool IsExplicit + { + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isExplicit != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isExplicit = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.CXXMethodKind MethodKind + { + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->methodKind; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->methodKind = value; + } + } + + public bool IsDefaultConstructor + { + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isDefaultConstructor != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isDefaultConstructor = (byte) (value ? 1 : 0); + } + } + + public bool IsCopyConstructor + { + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isCopyConstructor != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isCopyConstructor = (byte) (value ? 1 : 0); + } + } + + public bool IsMoveConstructor + { + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isMoveConstructor != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->isMoveConstructor = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.QualifiedType ConversionType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->conversionType)); + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->conversionType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public global::CppSharp.Parser.AST.RefQualifierKind RefQualifier + { + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->refQualifier; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*)__Instance)->refQualifier = value; + } + } + + public uint OverriddenMethodsCount + { + get + { + var __ret = __Internal.GetOverriddenMethodsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class Enumeration : global::CppSharp.Parser.AST.DeclarationContext, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 512)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(72)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(136)] + internal byte isIncomplete; + + [FieldOffset(137)] + internal byte isDependent; + + [FieldOffset(138)] + internal byte isImplicit; + + [FieldOffset(139)] + internal byte isInvalid; + + [FieldOffset(144)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(152)] internal uint definitionOrder; - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(184)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(208)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(216)] + internal global::System.IntPtr comment; + + [FieldOffset(224)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; + + [FieldOffset(248)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; + + [FieldOffset(272)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; + + [FieldOffset(296)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; + + [FieldOffset(320)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; + + [FieldOffset(344)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; - [FieldOffset(184)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + [FieldOffset(368)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; - [FieldOffset(208)] - internal global::System.IntPtr originalPtr; + [FieldOffset(392)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; - [FieldOffset(216)] - internal global::System.IntPtr comment; + [FieldOffset(416)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; - [FieldOffset(224)] - internal uint depth; + [FieldOffset(440)] + internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; - [FieldOffset(228)] - internal uint index; + [FieldOffset(456)] + internal byte isAnonymous; - [FieldOffset(232)] - internal byte isParameterPack; + [FieldOffset(464)] + internal global::CppSharp.Parser.AST.Enumeration.EnumModifiers modifiers; + + [FieldOffset(472)] + internal global::System.IntPtr type; + + [FieldOffset(480)] + internal global::System.IntPtr builtinType; + + [FieldOffset(488)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration_S_Item___N_std_S_allocator__S0_ Items; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TemplateParameter@AST@CppParser@CppSharp@@QEAA@W4DeclarationKind@123@@Z")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.DeclarationKind kind); + EntryPoint="??0Enumeration@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TemplateParameter@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0Enumeration@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1TemplateParameter@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??1Enumeration@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern void dtor(global::System.IntPtr __instance, int delete); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getItems@Enumeration@AST@CppParser@CppSharp@@QEAAPEAVItem@1234@I@Z")] + internal static extern global::System.IntPtr GetItems(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?addItems@Enumeration@AST@CppParser@CppSharp@@QEAAXAEAPEAVItem@1234@@Z")] + internal static extern void AddItems(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?clearItems@Enumeration@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearItems(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?FindItemByName@Enumeration@AST@CppParser@CppSharp@@QEAAPEAVItem@1234@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z")] + internal static extern global::System.IntPtr FindItemByName(global::System.IntPtr __instance, global::System.IntPtr Name); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getItemsCount@Enumeration@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetItemsCount(global::System.IntPtr __instance); + } + + [Flags] + public enum EnumModifiers + { + Anonymous = 1, + Scoped = 2, + Flags = 4 + } + + public unsafe partial class Item : global::CppSharp.Parser.AST.Declaration, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 264)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(72)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(136)] + internal byte isIncomplete; + + [FieldOffset(137)] + internal byte isDependent; + + [FieldOffset(138)] + internal byte isImplicit; + + [FieldOffset(139)] + internal byte isInvalid; + + [FieldOffset(144)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(152)] + internal uint definitionOrder; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(184)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(208)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(216)] + internal global::System.IntPtr comment; + + [FieldOffset(224)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C expression; + + [FieldOffset(256)] + internal ulong value; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0Item@Enumeration@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0Item@Enumeration@AST@CppParser@CppSharp@@QEAA@AEBV01234@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1Item@Enumeration@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); + } + + internal static new global::CppSharp.Parser.AST.Enumeration.Item __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Enumeration.Item(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.Enumeration.Item __CreateInstance(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.Enumeration.Item(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); + global::CppSharp.Parser.AST.Enumeration.Item.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private Item(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Item(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Item() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } + + public Item(global::CppSharp.Parser.AST.Enumeration.Item _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public string Expression + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*) __Instance)->expression)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*)__Instance)->expression), value); + } + } + + public ulong Value + { + get + { + return ((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*) __Instance)->value; + } + + set + { + ((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*)__Instance)->value = value; + } + } } - internal static new global::CppSharp.Parser.AST.TemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Enumeration __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateParameter(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Enumeration(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TemplateParameter.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Enumeration __CreateInstance(global::CppSharp.Parser.AST.Enumeration.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateParameter(native, skipVTables); + return new global::CppSharp.Parser.AST.Enumeration(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameter.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Enumeration.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); - global::CppSharp.Parser.AST.TemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); + global::CppSharp.Parser.AST.Enumeration.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter.__Internal native, bool skipVTables = false) + private Enumeration(global::CppSharp.Parser.AST.Enumeration.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TemplateParameter(void* native, bool skipVTables = false) + protected Enumeration(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -10392,19 +10566,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TemplateParameter(global::CppSharp.Parser.AST.DeclarationKind kind) + public Enumeration() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), kind); + __Internal.ctor((__Instance + __PointerAdjustment)); } - public TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter _0) + public Enumeration(global::CppSharp.Parser.AST.Enumeration _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -10426,54 +10600,107 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public static implicit operator global::CppSharp.Parser.AST.TemplateParameter(global::CppSharp.Parser.AST.DeclarationKind kind) + public global::CppSharp.Parser.AST.Enumeration.Item GetItems(uint i) { - return new global::CppSharp.Parser.AST.TemplateParameter(kind); + var __ret = __Internal.GetItems((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Enumeration.Item __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Enumeration.Item) global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Enumeration.Item.__CreateInstance(__ret); + return __result0; } - public uint Depth + public void AddItems(global::CppSharp.Parser.AST.Enumeration.Item s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddItems((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearItems() + { + __Internal.ClearItems((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Enumeration.Item FindItemByName(string Name) + { + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, Name); + var __arg0 = __basicString0.__Instance; + var __ret = __Internal.FindItemByName((__Instance + __PointerAdjustment), __arg0); + __basicString0.Dispose(false); + global::CppSharp.Parser.AST.Enumeration.Item __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Enumeration.Item) global::CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Enumeration.Item.__CreateInstance(__ret); + return __result0; + } + + public global::CppSharp.Parser.AST.Enumeration.EnumModifiers Modifiers { get { - return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->depth; + return ((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->modifiers; } set { - ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*)__Instance)->depth = value; + ((global::CppSharp.Parser.AST.Enumeration.__Internal*)__Instance)->modifiers = value; } } - public uint Index + public global::CppSharp.Parser.AST.Type Type { get { - return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->index; + global::CppSharp.Parser.AST.Type __result0; + if (((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type)) + __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type]; + else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type); + return __result0; } set { - ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*)__Instance)->index = value; + ((global::CppSharp.Parser.AST.Enumeration.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public bool IsParameterPack + public global::CppSharp.Parser.AST.BuiltinType BuiltinType { get { - return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->isParameterPack != 0; + global::CppSharp.Parser.AST.BuiltinType __result0; + if (((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.BuiltinType.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType)) + __result0 = (global::CppSharp.Parser.AST.BuiltinType) global::CppSharp.Parser.AST.BuiltinType.NativeToManagedMap[((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType]; + else __result0 = global::CppSharp.Parser.AST.BuiltinType.__CreateInstance(((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->builtinType); + return __result0; } set { - ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*)__Instance)->isParameterPack = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Enumeration.__Internal*)__Instance)->builtinType = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public uint ItemsCount + { + get + { + var __ret = __Internal.GetItemsCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class TemplateTemplateParameter : global::CppSharp.Parser.AST.Template, IDisposable + public unsafe partial class Variable : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 264)] + [StructLayout(LayoutKind.Explicit, Size = 272)] public new partial struct __Internal { [FieldOffset(0)] @@ -10537,61 +10764,52 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(224)] - internal global::System.IntPtr TemplatedDecl; - - [FieldOffset(232)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; [FieldOffset(256)] - internal byte isParameterPack; - - [FieldOffset(257)] - internal byte isPackExpansion; - - [FieldOffset(258)] - internal byte isExpandedParameterPack; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TemplateTemplateParameter@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0Variable@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TemplateTemplateParameter@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0Variable@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1TemplateTemplateParameter@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??1Variable@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern void dtor(global::System.IntPtr __instance, int delete); } - internal static new global::CppSharp.Parser.AST.TemplateTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Variable __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateTemplateParameter(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Variable(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TemplateTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Variable __CreateInstance(global::CppSharp.Parser.AST.Variable.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TemplateTemplateParameter(native, skipVTables); + return new global::CppSharp.Parser.AST.Variable(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Variable.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); - global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); + global::CppSharp.Parser.AST.Variable.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native, bool skipVTables = false) + private Variable(global::CppSharp.Parser.AST.Variable.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TemplateTemplateParameter(void* native, bool skipVTables = false) + protected Variable(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -10600,19 +10818,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TemplateTemplateParameter() + public Variable() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter _0) + public Variable(global::CppSharp.Parser.AST.Variable _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -10634,221 +10852,194 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public bool IsParameterPack - { - get - { - return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isParameterPack != 0; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*)__Instance)->isParameterPack = (byte) (value ? 1 : 0); - } - } - - public bool IsPackExpansion + public string Mangled { get { - return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isPackExpansion != 0; + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Variable.__Internal*) __Instance)->mangled)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; } set { - ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*)__Instance)->isPackExpansion = (byte) (value ? 1 : 0); + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Variable.__Internal*)__Instance)->mangled), value); } } - public bool IsExpandedParameterPack + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { get { - return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack != 0; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Variable.__Internal*) __Instance)->qualifiedType)); } set { - ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*)__Instance)->isExpandedParameterPack = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Variable.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } } - public unsafe partial class TypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 256)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; - - [FieldOffset(32)] - internal int lineNumberEnd; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(72)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - - [FieldOffset(104)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - - [FieldOffset(136)] - internal byte isIncomplete; - - [FieldOffset(137)] - internal byte isDependent; - - [FieldOffset(138)] - internal byte isImplicit; - - [FieldOffset(139)] - internal byte isInvalid; - - [FieldOffset(144)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(152)] - internal uint definitionOrder; - - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(184)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - - [FieldOffset(208)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(216)] - internal global::System.IntPtr comment; - - [FieldOffset(224)] - internal uint depth; + public unsafe partial class BaseClassSpecifier : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; - [FieldOffset(228)] - internal uint index; + [FieldOffset(4)] + internal byte isVirtual; - [FieldOffset(232)] - internal byte isParameterPack; + [FieldOffset(8)] + internal global::System.IntPtr type; - [FieldOffset(240)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal defaultArgument; + [FieldOffset(16)] + internal int offset; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TypeTemplateParameter@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0BaseClassSpecifier@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TypeTemplateParameter@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0BaseClassSpecifier@AST@CppParser@CppSharp@@QEAA@AEBU0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1TypeTemplateParameter@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern void dtor(global::System.IntPtr __instance, int delete); } - internal static new global::CppSharp.Parser.AST.TypeTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.BaseClassSpecifier __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypeTemplateParameter(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.BaseClassSpecifier(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TypeTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.BaseClassSpecifier __CreateInstance(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TypeTemplateParameter(native, skipVTables); + return new global::CppSharp.Parser.AST.BaseClassSpecifier(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); - global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); + *(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) ret = native; return ret.ToPointer(); } - private TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native, bool skipVTables = false) + private BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TypeTemplateParameter(void* native, bool skipVTables = false) - : base((void*) null) + protected BaseClassSpecifier(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public TypeTemplateParameter() - : this((void*) null) + public BaseClassSpecifier() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter _0) - : this((void*) null) + public BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + *((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) _0.__Instance); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.BaseClassSpecifier __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.QualifiedType DefaultArgument + public global::CppSharp.Parser.AST.AccessSpecifier Access { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal*) __Instance)->defaultArgument)); + return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->access; } set { - ((global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal*)__Instance)->defaultArgument = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->access = value; + } + } + + public bool IsVirtual + { + get + { + return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->isVirtual != 0; + } + + set + { + ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->isVirtual = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.Type Type + { + get + { + global::CppSharp.Parser.AST.Type __result0; + if (((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type)) + __result0 = (global::CppSharp.Parser.AST.Type) global::CppSharp.Parser.AST.Type.NativeToManagedMap[((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type]; + else __result0 = global::CppSharp.Parser.AST.Type.__CreateInstance(((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->type); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public int Offset + { + get + { + return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->offset; + } + + set + { + ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*)__Instance)->offset = value; } } } - public unsafe partial class NonTypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable + public unsafe partial class Field : global::CppSharp.Parser.AST.Declaration, IDisposable { [StructLayout(LayoutKind.Explicit, Size = 256)] public new partial struct __Internal @@ -10914,67 +11105,58 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(224)] - internal uint depth; - - [FieldOffset(228)] - internal uint index; - - [FieldOffset(232)] - internal byte isParameterPack; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [FieldOffset(240)] - internal global::System.IntPtr defaultArgument; + internal global::System.IntPtr _class; [FieldOffset(248)] - internal uint position; + internal byte isBitField; [FieldOffset(252)] - internal byte isPackExpansion; - - [FieldOffset(253)] - internal byte isExpandedParameterPack; + internal uint bitWidth; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0NonTypeTemplateParameter@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0Field@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0NonTypeTemplateParameter@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0Field@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1NonTypeTemplateParameter@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??1Field@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern void dtor(global::System.IntPtr __instance, int delete); } - internal static new global::CppSharp.Parser.AST.NonTypeTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Field __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.NonTypeTemplateParameter(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Field(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.NonTypeTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Field __CreateInstance(global::CppSharp.Parser.AST.Field.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.NonTypeTemplateParameter(native, skipVTables); + return new global::CppSharp.Parser.AST.Field(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Field.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); - global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); + global::CppSharp.Parser.AST.Field.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native, bool skipVTables = false) + private Field(global::CppSharp.Parser.AST.Field.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected NonTypeTemplateParameter(void* native, bool skipVTables = false) + protected Field(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -10983,19 +11165,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public NonTypeTemplateParameter() + public Field() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter _0) + public Field(global::CppSharp.Parser.AST.Field _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -11017,67 +11199,67 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.Expression DefaultArgument + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { get { - global::CppSharp.Parser.AST.Expression __result0; - if (((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument)) - __result0 = (global::CppSharp.Parser.AST.Expression) global::CppSharp.Parser.AST.Expression.NativeToManagedMap[((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument]; - else __result0 = global::CppSharp.Parser.AST.Expression.__CreateInstance(((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument); - return __result0; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->qualifiedType)); } set { - ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->defaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public uint Position + public global::CppSharp.Parser.AST.Class Class { get { - return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->position; + global::CppSharp.Parser.AST.Class __result0; + if (((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class)) + __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class]; + else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class); + return __result0; } set { - ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->position = value; + ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public bool IsPackExpansion + public bool IsBitField { get { - return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->isPackExpansion != 0; + return ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->isBitField != 0; } set { - ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->isPackExpansion = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->isBitField = (byte) (value ? 1 : 0); } } - public bool IsExpandedParameterPack + public uint BitWidth { get { - return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack != 0; + return ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->bitWidth; } set { - ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->isExpandedParameterPack = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Field.__Internal*)__Instance)->bitWidth = value; } } } - public unsafe partial class ClassTemplate : global::CppSharp.Parser.AST.Template, IDisposable + public unsafe partial class AccessSpecifierDecl : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 280)] + [StructLayout(LayoutKind.Explicit, Size = 224)] public new partial struct __Internal { [FieldOffset(0)] @@ -11140,86 +11322,47 @@ namespace CppSharp [FieldOffset(216)] internal global::System.IntPtr comment; - [FieldOffset(224)] - internal global::System.IntPtr TemplatedDecl; - - [FieldOffset(232)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; - - [FieldOffset(256)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_ClassTemplateSpecialization___N_std_S_allocator__S0_ Specializations; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0ClassTemplate@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0ClassTemplate@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1ClassTemplate@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern void dtor(global::System.IntPtr __instance, int delete); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getSpecializations@ClassTemplate@AST@CppParser@CppSharp@@QEAAPEAVClassTemplateSpecialization@234@I@Z")] - internal static extern global::System.IntPtr GetSpecializations(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addSpecializations@ClassTemplate@AST@CppParser@CppSharp@@QEAAXAEAPEAVClassTemplateSpecialization@234@@Z")] - internal static extern void AddSpecializations(global::System.IntPtr __instance, global::System.IntPtr s); - [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearSpecializations@ClassTemplate@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearSpecializations(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?FindSpecialization@ClassTemplate@AST@CppParser@CppSharp@@QEAAPEAVClassTemplateSpecialization@234@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z")] - internal static extern global::System.IntPtr FindSpecialization(global::System.IntPtr __instance, global::System.IntPtr usr); + EntryPoint="??0AccessSpecifierDecl@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?FindPartialSpecialization@ClassTemplate@AST@CppParser@CppSharp@@QEAAPEAVClassTemplatePartialSpecialization@234@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z")] - internal static extern global::System.IntPtr FindPartialSpecialization(global::System.IntPtr __instance, global::System.IntPtr usr); + EntryPoint="??0AccessSpecifierDecl@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getSpecializationsCount@ClassTemplate@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetSpecializationsCount(global::System.IntPtr __instance); + EntryPoint="??1AccessSpecifierDecl@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); } - internal static new global::CppSharp.Parser.AST.ClassTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.AccessSpecifierDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ClassTemplate(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.AccessSpecifierDecl(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.ClassTemplate __CreateInstance(global::CppSharp.Parser.AST.ClassTemplate.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.AccessSpecifierDecl __CreateInstance(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ClassTemplate(native, skipVTables); + return new global::CppSharp.Parser.AST.AccessSpecifierDecl(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplate.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal)); - global::CppSharp.Parser.AST.ClassTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); + global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private ClassTemplate(global::CppSharp.Parser.AST.ClassTemplate.__Internal native, bool skipVTables = false) + private AccessSpecifierDecl(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected ClassTemplate(void* native, bool skipVTables = false) + protected AccessSpecifierDecl(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -11228,19 +11371,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public ClassTemplate() + public AccessSpecifierDecl() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public ClassTemplate(global::CppSharp.Parser.AST.ClassTemplate _0) + public AccessSpecifierDecl(global::CppSharp.Parser.AST.AccessSpecifierDecl _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -11261,305 +11404,382 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } + } - public global::CppSharp.Parser.AST.ClassTemplateSpecialization GetSpecializations(uint i) + public unsafe partial class VTableComponent : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 16)] + public partial struct __Internal { - var __ret = __Internal.GetSpecializations((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.ClassTemplateSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.ClassTemplateSpecialization) global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.ClassTemplateSpecialization.__CreateInstance(__ret); - return __result0; + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.VTableComponentKind kind; + + [FieldOffset(4)] + internal uint offset; + + [FieldOffset(8)] + internal global::System.IntPtr declaration; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0VTableComponent@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0VTableComponent@AST@CppParser@CppSharp@@QEAA@AEBU0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); } - public void AddSpecializations(global::CppSharp.Parser.AST.ClassTemplateSpecialization s) + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.VTableComponent __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddSpecializations((__Instance + __PointerAdjustment), __arg0); + return new global::CppSharp.Parser.AST.VTableComponent(native.ToPointer(), skipVTables); } - public void ClearSpecializations() + internal static global::CppSharp.Parser.AST.VTableComponent __CreateInstance(global::CppSharp.Parser.AST.VTableComponent.__Internal native, bool skipVTables = false) { - __Internal.ClearSpecializations((__Instance + __PointerAdjustment)); + return new global::CppSharp.Parser.AST.VTableComponent(native, skipVTables); } - public global::CppSharp.Parser.AST.ClassTemplateSpecialization FindSpecialization(string usr) + private static void* __CopyValue(global::CppSharp.Parser.AST.VTableComponent.__Internal native) { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, usr); - var __arg0 = __basicString0.__Instance; - var __ret = __Internal.FindSpecialization((__Instance + __PointerAdjustment), __arg0); - __basicString0.Dispose(false); - global::CppSharp.Parser.AST.ClassTemplateSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.ClassTemplateSpecialization) global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.ClassTemplateSpecialization.__CreateInstance(__ret); - return __result0; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); + *(global::CppSharp.Parser.AST.VTableComponent.__Internal*) ret = native; + return ret.ToPointer(); } - public global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization FindPartialSpecialization(string usr) + private VTableComponent(global::CppSharp.Parser.AST.VTableComponent.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, usr); - var __arg0 = __basicString0.__Instance; - var __ret = __Internal.FindPartialSpecialization((__Instance + __PointerAdjustment), __arg0); - __basicString0.Dispose(false); - global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization) global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__CreateInstance(__ret); - return __result0; + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; } - public uint SpecializationsCount + protected VTableComponent(void* native, bool skipVTables = false) { - get - { - var __ret = __Internal.GetSpecializationsCount((__Instance + __PointerAdjustment)); - return __ret; - } + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - } - public unsafe partial class ClassTemplateSpecialization : global::CppSharp.Parser.AST.Class, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 624)] - public new partial struct __Internal + public VTableComponent() { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; - - [FieldOffset(32)] - internal int lineNumberEnd; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(72)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - - [FieldOffset(104)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - - [FieldOffset(136)] - internal byte isIncomplete; - - [FieldOffset(137)] - internal byte isDependent; + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [FieldOffset(138)] - internal byte isImplicit; + public VTableComponent(global::CppSharp.Parser.AST.VTableComponent _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.VTableComponent.__Internal*) _0.__Instance); + } - [FieldOffset(139)] - internal byte isInvalid; + public void Dispose() + { + Dispose(disposing: true); + } - [FieldOffset(144)] - internal global::System.IntPtr completeDeclaration; + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.VTableComponent __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } - [FieldOffset(152)] - internal uint definitionOrder; + public global::CppSharp.Parser.AST.VTableComponentKind Kind + { + get + { + return ((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->kind; + } - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + set + { + ((global::CppSharp.Parser.AST.VTableComponent.__Internal*)__Instance)->kind = value; + } + } - [FieldOffset(184)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + public uint Offset + { + get + { + return ((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->offset; + } - [FieldOffset(208)] - internal global::System.IntPtr originalPtr; + set + { + ((global::CppSharp.Parser.AST.VTableComponent.__Internal*)__Instance)->offset = value; + } + } - [FieldOffset(216)] - internal global::System.IntPtr comment; + public global::CppSharp.Parser.AST.Declaration Declaration + { + get + { + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration); + return __result0; + } - [FieldOffset(224)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; + set + { + ((global::CppSharp.Parser.AST.VTableComponent.__Internal*)__Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } - [FieldOffset(248)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; + public unsafe partial class VTableLayout : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_VTableComponent___N_std_S_allocator__S0_ Components; - [FieldOffset(272)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0VTableLayout@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); - [FieldOffset(296)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0VTableLayout@AST@CppParser@CppSharp@@QEAA@AEBU0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - [FieldOffset(320)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1VTableLayout@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); - [FieldOffset(344)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getComponents@VTableLayout@AST@CppParser@CppSharp@@QEAA?AUVTableComponent@234@I@Z")] + internal static extern void GetComponents(global::System.IntPtr __instance, global::System.IntPtr @return, uint i); - [FieldOffset(368)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?addComponents@VTableLayout@AST@CppParser@CppSharp@@QEAAXAEAUVTableComponent@234@@Z")] + internal static extern void AddComponents(global::System.IntPtr __instance, global::System.IntPtr s); - [FieldOffset(392)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?clearComponents@VTableLayout@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearComponents(global::System.IntPtr __instance); - [FieldOffset(416)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getComponentsCount@VTableLayout@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetComponentsCount(global::System.IntPtr __instance); + } - [FieldOffset(440)] - internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + public global::System.IntPtr __Instance { get; protected set; } - [FieldOffset(456)] - internal byte isAnonymous; + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; - [FieldOffset(464)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BaseClassSpecifier___N_std_S_allocator__S0_ Bases; + protected bool __ownsNativeInstance; - [FieldOffset(488)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Field___N_std_S_allocator__S0_ Fields; + internal static global::CppSharp.Parser.AST.VTableLayout __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.VTableLayout(native.ToPointer(), skipVTables); + } - [FieldOffset(512)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_S_allocator__S0_ Methods; + internal static global::CppSharp.Parser.AST.VTableLayout __CreateInstance(global::CppSharp.Parser.AST.VTableLayout.__Internal native, bool skipVTables = false) + { + return new global::CppSharp.Parser.AST.VTableLayout(native, skipVTables); + } - [FieldOffset(536)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_AccessSpecifierDecl___N_std_S_allocator__S0_ Specifiers; + private static void* __CopyValue(global::CppSharp.Parser.AST.VTableLayout.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); + global::CppSharp.Parser.AST.VTableLayout.__Internal.cctor(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(560)] - internal byte isPOD; + private VTableLayout(global::CppSharp.Parser.AST.VTableLayout.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(561)] - internal byte isAbstract; + protected VTableLayout(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(562)] - internal byte isUnion; + public VTableLayout() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment)); + } - [FieldOffset(563)] - internal byte isDynamic; + public VTableLayout(global::CppSharp.Parser.AST.VTableLayout _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(564)] - internal byte isPolymorphic; + public void Dispose() + { + Dispose(disposing: true); + } - [FieldOffset(565)] - internal byte hasNonTrivialDefaultConstructor; + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.VTableLayout __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } - [FieldOffset(566)] - internal byte hasNonTrivialCopyConstructor; + public global::CppSharp.Parser.AST.VTableComponent GetComponents(uint i) + { + var __ret = new global::CppSharp.Parser.AST.VTableComponent.__Internal(); + __Internal.GetComponents((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); + return global::CppSharp.Parser.AST.VTableComponent.__CreateInstance(__ret); + } - [FieldOffset(567)] - internal byte hasNonTrivialDestructor; + public void AddComponents(global::CppSharp.Parser.AST.VTableComponent s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddComponents((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(568)] - internal byte isExternCContext; + public void ClearComponents() + { + __Internal.ClearComponents((__Instance + __PointerAdjustment)); + } - [FieldOffset(569)] - internal byte isInjected; + public uint ComponentsCount + { + get + { + var __ret = __Internal.GetComponentsCount((__Instance + __PointerAdjustment)); + return __ret; + } + } + } - [FieldOffset(576)] - internal global::System.IntPtr layout; + public unsafe partial class VFTableInfo : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public partial struct __Internal + { + [FieldOffset(0)] + internal ulong VBTableIndex; - [FieldOffset(584)] - internal global::System.IntPtr templatedDecl; + [FieldOffset(8)] + internal uint VFPtrOffset; - [FieldOffset(592)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; + [FieldOffset(12)] + internal uint VFPtrFullOffset; - [FieldOffset(616)] - internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.VTableLayout.__Internal layout; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0ClassTemplateSpecialization@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0VFTableInfo@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0ClassTemplateSpecialization@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0VFTableInfo@AST@CppParser@CppSharp@@QEAA@AEBU0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1ClassTemplateSpecialization@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??1VFTableInfo@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern void dtor(global::System.IntPtr __instance, int delete); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getArguments@ClassTemplateSpecialization@AST@CppParser@CppSharp@@QEAA?AUTemplateArgument@234@I@Z")] - internal static extern void GetArguments(global::System.IntPtr __instance, global::System.IntPtr @return, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addArguments@ClassTemplateSpecialization@AST@CppParser@CppSharp@@QEAAXAEAUTemplateArgument@234@@Z")] - internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); + public global::System.IntPtr __Instance { get; protected set; } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearArguments@ClassTemplateSpecialization@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearArguments(global::System.IntPtr __instance); + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getArgumentsCount@ClassTemplateSpecialization@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); - } + protected bool __ownsNativeInstance; - internal static new global::CppSharp.Parser.AST.ClassTemplateSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VFTableInfo __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ClassTemplateSpecialization(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.VFTableInfo(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.ClassTemplateSpecialization __CreateInstance(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VFTableInfo __CreateInstance(global::CppSharp.Parser.AST.VFTableInfo.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ClassTemplateSpecialization(native, skipVTables); + return new global::CppSharp.Parser.AST.VFTableInfo(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VFTableInfo.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); - global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); + global::CppSharp.Parser.AST.VFTableInfo.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private ClassTemplateSpecialization(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal native, bool skipVTables = false) + private VFTableInfo(global::CppSharp.Parser.AST.VFTableInfo.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected ClassTemplateSpecialization(void* native, bool skipVTables = false) - : base((void*) null) + protected VFTableInfo(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public ClassTemplateSpecialization() - : this((void*) null) + public VFTableInfo() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public ClassTemplateSpecialization(global::CppSharp.Parser.AST.ClassTemplateSpecialization _0) - : this((void*) null) + public VFTableInfo(global::CppSharp.Parser.AST.VFTableInfo _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -11568,11 +11788,16 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.VFTableInfo __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -11581,294 +11806,160 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) - { - var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); - __Internal.GetArguments((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); - return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); - } - - public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + public ulong VBTableIndex { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); - } + get + { + return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VBTableIndex; + } - public void ClearArguments() - { - __Internal.ClearArguments((__Instance + __PointerAdjustment)); + set + { + ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->VBTableIndex = value; + } } - public global::CppSharp.Parser.AST.ClassTemplate TemplatedDecl + public uint VFPtrOffset { get { - global::CppSharp.Parser.AST.ClassTemplate __result0; - if (((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.ClassTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl)) - __result0 = (global::CppSharp.Parser.AST.ClassTemplate) global::CppSharp.Parser.AST.ClassTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl]; - else __result0 = global::CppSharp.Parser.AST.ClassTemplate.__CreateInstance(((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl); - return __result0; + return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VFPtrOffset; } set { - ((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*)__Instance)->templatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->VFPtrOffset = value; } } - public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind + public uint VFPtrFullOffset { get { - return ((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->specializationKind; + return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VFPtrFullOffset; } set { - ((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*)__Instance)->specializationKind = value; + ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->VFPtrFullOffset = value; } } - public uint ArgumentsCount + public global::CppSharp.Parser.AST.VTableLayout Layout { get { - var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); - return __ret; + return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->layout)); + } + + set + { + ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*)__Instance)->layout = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.VTableLayout.__Internal() : *(global::CppSharp.Parser.AST.VTableLayout.__Internal*) value.__Instance; } } } - public unsafe partial class ClassTemplatePartialSpecialization : global::CppSharp.Parser.AST.ClassTemplateSpecialization, IDisposable + public unsafe partial class LayoutField : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 624)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 64)] + public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; + internal uint offset; [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; - - [FieldOffset(32)] - internal int lineNumberEnd; - - [FieldOffset(40)] internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - [FieldOffset(72)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - - [FieldOffset(104)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - - [FieldOffset(136)] - internal byte isIncomplete; - - [FieldOffset(137)] - internal byte isDependent; - - [FieldOffset(138)] - internal byte isImplicit; - - [FieldOffset(139)] - internal byte isInvalid; - - [FieldOffset(144)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(152)] - internal uint definitionOrder; - - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(184)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - - [FieldOffset(208)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(216)] - internal global::System.IntPtr comment; - - [FieldOffset(224)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; - - [FieldOffset(248)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; - - [FieldOffset(272)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; - - [FieldOffset(296)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; - - [FieldOffset(320)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; - - [FieldOffset(344)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; - - [FieldOffset(368)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; - - [FieldOffset(392)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; - - [FieldOffset(416)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; - - [FieldOffset(440)] - internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; - - [FieldOffset(456)] - internal byte isAnonymous; - - [FieldOffset(464)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BaseClassSpecifier___N_std_S_allocator__S0_ Bases; - - [FieldOffset(488)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Field___N_std_S_allocator__S0_ Fields; - - [FieldOffset(512)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_S_allocator__S0_ Methods; - - [FieldOffset(536)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_AccessSpecifierDecl___N_std_S_allocator__S0_ Specifiers; - - [FieldOffset(560)] - internal byte isPOD; - - [FieldOffset(561)] - internal byte isAbstract; - - [FieldOffset(562)] - internal byte isUnion; - - [FieldOffset(563)] - internal byte isDynamic; - - [FieldOffset(564)] - internal byte isPolymorphic; - - [FieldOffset(565)] - internal byte hasNonTrivialDefaultConstructor; - - [FieldOffset(566)] - internal byte hasNonTrivialCopyConstructor; - - [FieldOffset(567)] - internal byte hasNonTrivialDestructor; - - [FieldOffset(568)] - internal byte isExternCContext; - - [FieldOffset(569)] - internal byte isInjected; - - [FieldOffset(576)] - internal global::System.IntPtr layout; - - [FieldOffset(584)] - internal global::System.IntPtr templatedDecl; - - [FieldOffset(592)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; + [FieldOffset(40)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [FieldOffset(616)] - internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; + [FieldOffset(56)] + internal global::System.IntPtr fieldPtr; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0ClassTemplatePartialSpecialization@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0LayoutField@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0ClassTemplatePartialSpecialization@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + EntryPoint="??0LayoutField@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr other); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1ClassTemplatePartialSpecialization@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??1LayoutField@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern void dtor(global::System.IntPtr __instance, int delete); } - internal static new global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.LayoutField __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.LayoutField(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization __CreateInstance(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.LayoutField __CreateInstance(global::CppSharp.Parser.AST.LayoutField.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization(native, skipVTables); + return new global::CppSharp.Parser.AST.LayoutField(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.LayoutField.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); - global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); + global::CppSharp.Parser.AST.LayoutField.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private ClassTemplatePartialSpecialization(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native, bool skipVTables = false) + private LayoutField(global::CppSharp.Parser.AST.LayoutField.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected ClassTemplatePartialSpecialization(void* native, bool skipVTables = false) - : base((void*) null) + protected LayoutField(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public ClassTemplatePartialSpecialization() - : this((void*) null) + public LayoutField() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public ClassTemplatePartialSpecialization(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization _0) - : this((void*) null) + public LayoutField(global::CppSharp.Parser.AST.LayoutField other) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; + NativeToManagedMap[__Instance] = this; + if (ReferenceEquals(other, null)) + throw new global::System.ArgumentNullException("other", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = other.__Instance; __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.LayoutField __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -11876,182 +11967,158 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - } - public unsafe partial class FunctionTemplate : global::CppSharp.Parser.AST.Template, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 280)] - public new partial struct __Internal + public uint Offset { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; - - [FieldOffset(32)] - internal int lineNumberEnd; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(72)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - - [FieldOffset(104)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - - [FieldOffset(136)] - internal byte isIncomplete; - - [FieldOffset(137)] - internal byte isDependent; - - [FieldOffset(138)] - internal byte isImplicit; - - [FieldOffset(139)] - internal byte isInvalid; + get + { + return ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->offset; + } - [FieldOffset(144)] - internal global::System.IntPtr completeDeclaration; + set + { + ((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->offset = value; + } + } - [FieldOffset(152)] - internal uint definitionOrder; + public string Name + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->name)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->name), value); + } + } - [FieldOffset(184)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + public global::CppSharp.Parser.AST.QualifiedType QualifiedType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->qualifiedType)); + } - [FieldOffset(208)] - internal global::System.IntPtr originalPtr; + set + { + ((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->qualifiedType = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } - [FieldOffset(216)] - internal global::System.IntPtr comment; + public global::System.IntPtr FieldPtr + { + get + { + return ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->fieldPtr; + } - [FieldOffset(224)] - internal global::System.IntPtr TemplatedDecl; + set + { + ((global::CppSharp.Parser.AST.LayoutField.__Internal*)__Instance)->fieldPtr = (global::System.IntPtr) value; + } + } + } - [FieldOffset(232)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; + public unsafe partial class LayoutBase : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 16)] + public partial struct __Internal + { + [FieldOffset(0)] + internal uint offset; - [FieldOffset(256)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_FunctionTemplateSpecialization___N_std_S_allocator__S0_ Specializations; + [FieldOffset(8)] + internal global::System.IntPtr _class; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0FunctionTemplate@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0LayoutBase@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0FunctionTemplate@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + EntryPoint="??0LayoutBase@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr other); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1FunctionTemplate@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??1LayoutBase@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern void dtor(global::System.IntPtr __instance, int delete); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getSpecializations@FunctionTemplate@AST@CppParser@CppSharp@@QEAAPEAVFunctionTemplateSpecialization@234@I@Z")] - internal static extern global::System.IntPtr GetSpecializations(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addSpecializations@FunctionTemplate@AST@CppParser@CppSharp@@QEAAXAEAPEAVFunctionTemplateSpecialization@234@@Z")] - internal static extern void AddSpecializations(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearSpecializations@FunctionTemplate@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearSpecializations(global::System.IntPtr __instance); + public global::System.IntPtr __Instance { get; protected set; } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?FindSpecialization@FunctionTemplate@AST@CppParser@CppSharp@@QEAAPEAVFunctionTemplateSpecialization@234@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z")] - internal static extern global::System.IntPtr FindSpecialization(global::System.IntPtr __instance, global::System.IntPtr usr); + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getSpecializationsCount@FunctionTemplate@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetSpecializationsCount(global::System.IntPtr __instance); - } + protected bool __ownsNativeInstance; - internal static new global::CppSharp.Parser.AST.FunctionTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.LayoutBase __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FunctionTemplate(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.LayoutBase(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.FunctionTemplate __CreateInstance(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.LayoutBase __CreateInstance(global::CppSharp.Parser.AST.LayoutBase.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FunctionTemplate(native, skipVTables); + return new global::CppSharp.Parser.AST.LayoutBase(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.LayoutBase.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); - global::CppSharp.Parser.AST.FunctionTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); + global::CppSharp.Parser.AST.LayoutBase.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private FunctionTemplate(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native, bool skipVTables = false) + private LayoutBase(global::CppSharp.Parser.AST.LayoutBase.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected FunctionTemplate(void* native, bool skipVTables = false) - : base((void*) null) + protected LayoutBase(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public FunctionTemplate() - : this((void*) null) + public LayoutBase() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public FunctionTemplate(global::CppSharp.Parser.AST.FunctionTemplate _0) - : this((void*) null) + public LayoutBase(global::CppSharp.Parser.AST.LayoutBase other) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; + if (ReferenceEquals(other, null)) + throw new global::System.ArgumentNullException("other", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = other.__Instance; __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.LayoutBase __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -12060,158 +12127,199 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.FunctionTemplateSpecialization GetSpecializations(uint i) - { - var __ret = __Internal.GetSpecializations((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(__ret); - return __result0; - } - - public void AddSpecializations(global::CppSharp.Parser.AST.FunctionTemplateSpecialization s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddSpecializations((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearSpecializations() + public uint Offset { - __Internal.ClearSpecializations((__Instance + __PointerAdjustment)); - } + get + { + return ((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->offset; + } - public global::CppSharp.Parser.AST.FunctionTemplateSpecialization FindSpecialization(string usr) - { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, usr); - var __arg0 = __basicString0.__Instance; - var __ret = __Internal.FindSpecialization((__Instance + __PointerAdjustment), __arg0); - __basicString0.Dispose(false); - global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(__ret); - return __result0; + set + { + ((global::CppSharp.Parser.AST.LayoutBase.__Internal*)__Instance)->offset = value; + } } - public uint SpecializationsCount + public global::CppSharp.Parser.AST.Class Class { get { - var __ret = __Internal.GetSpecializationsCount((__Instance + __PointerAdjustment)); - return __ret; + global::CppSharp.Parser.AST.Class __result0; + if (((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class)) + __result0 = (global::CppSharp.Parser.AST.Class) global::CppSharp.Parser.AST.Class.NativeToManagedMap[((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class]; + else __result0 = global::CppSharp.Parser.AST.Class.__CreateInstance(((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.LayoutBase.__Internal*)__Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class FunctionTemplateSpecialization : IDisposable + public unsafe partial class ClassLayout : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 128)] public partial struct __Internal { [FieldOffset(0)] - internal global::System.IntPtr _template; + internal global::CppSharp.Parser.AST.CppAbi ABI; [FieldOffset(8)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_VFTableInfo___N_std_S_allocator__S0_ VFTables; [FieldOffset(32)] - internal global::System.IntPtr specializedFunction; + internal global::CppSharp.Parser.AST.VTableLayout.__Internal layout; - [FieldOffset(40)] - internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; + [FieldOffset(56)] + internal byte hasOwnVFPtr; + + [FieldOffset(60)] + internal int VBPtrOffset; + + [FieldOffset(64)] + internal int alignment; + + [FieldOffset(68)] + internal int size; + + [FieldOffset(72)] + internal int dataSize; + + [FieldOffset(80)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_LayoutField___N_std_S_allocator__S0_ Fields; + + [FieldOffset(104)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_LayoutBase___N_std_S_allocator__S0_ Bases; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0FunctionTemplateSpecialization@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0ClassLayout@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0FunctionTemplateSpecialization@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0ClassLayout@AST@CppParser@CppSharp@@QEAA@AEBU0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1FunctionTemplateSpecialization@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??1ClassLayout@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern void dtor(global::System.IntPtr __instance, int delete); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getArguments@FunctionTemplateSpecialization@AST@CppParser@CppSharp@@QEAA?AUTemplateArgument@234@I@Z")] - internal static extern void GetArguments(global::System.IntPtr __instance, global::System.IntPtr @return, uint i); + EntryPoint="?getVFTables@ClassLayout@AST@CppParser@CppSharp@@QEAA?AUVFTableInfo@234@I@Z")] + internal static extern void GetVFTables(global::System.IntPtr __instance, global::System.IntPtr @return, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addArguments@FunctionTemplateSpecialization@AST@CppParser@CppSharp@@QEAAXAEAUTemplateArgument@234@@Z")] - internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); + EntryPoint="?addVFTables@ClassLayout@AST@CppParser@CppSharp@@QEAAXAEAUVFTableInfo@234@@Z")] + internal static extern void AddVFTables(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearArguments@FunctionTemplateSpecialization@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearArguments(global::System.IntPtr __instance); + EntryPoint="?clearVFTables@ClassLayout@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearVFTables(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getArgumentsCount@FunctionTemplateSpecialization@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); + EntryPoint="?getFields@ClassLayout@AST@CppParser@CppSharp@@QEAA?AVLayoutField@234@I@Z")] + internal static extern void GetFields(global::System.IntPtr __instance, global::System.IntPtr @return, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?addFields@ClassLayout@AST@CppParser@CppSharp@@QEAAXAEAVLayoutField@234@@Z")] + internal static extern void AddFields(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?clearFields@ClassLayout@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearFields(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getBases@ClassLayout@AST@CppParser@CppSharp@@QEAA?AVLayoutBase@234@I@Z")] + internal static extern void GetBases(global::System.IntPtr __instance, global::System.IntPtr @return, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?addBases@ClassLayout@AST@CppParser@CppSharp@@QEAAXAEAVLayoutBase@234@@Z")] + internal static extern void AddBases(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?clearBases@ClassLayout@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearBases(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getVFTablesCount@ClassLayout@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetVFTablesCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getFieldsCount@ClassLayout@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetFieldsCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getBasesCount@ClassLayout@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetBasesCount(global::System.IntPtr __instance); } public global::System.IntPtr __Instance { get; protected set; } protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); protected internal void*[] __OriginalVTables; protected bool __ownsNativeInstance; - internal static global::CppSharp.Parser.AST.FunctionTemplateSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.ClassLayout __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FunctionTemplateSpecialization(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.ClassLayout(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.FunctionTemplateSpecialization __CreateInstance(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.ClassLayout __CreateInstance(global::CppSharp.Parser.AST.ClassLayout.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FunctionTemplateSpecialization(native, skipVTables); + return new global::CppSharp.Parser.AST.ClassLayout(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ClassLayout.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); - global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); + global::CppSharp.Parser.AST.ClassLayout.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native, bool skipVTables = false) + private ClassLayout(global::CppSharp.Parser.AST.ClassLayout.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected FunctionTemplateSpecialization(void* native, bool skipVTables = false) + protected ClassLayout(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public FunctionTemplateSpecialization() + public ClassLayout() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization _0) + public ClassLayout(global::CppSharp.Parser.AST.ClassLayout _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -12229,7 +12337,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.FunctionTemplateSpecialization __dummy; + global::CppSharp.Parser.AST.ClassLayout __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -12238,88 +12346,188 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) + public global::CppSharp.Parser.AST.VFTableInfo GetVFTables(uint i) { - var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); - __Internal.GetArguments((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); - return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); + var __ret = new global::CppSharp.Parser.AST.VFTableInfo.__Internal(); + __Internal.GetVFTables((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); + return global::CppSharp.Parser.AST.VFTableInfo.__CreateInstance(__ret); } - public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + public void AddVFTables(global::CppSharp.Parser.AST.VFTableInfo s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); + __Internal.AddVFTables((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearVFTables() + { + __Internal.ClearVFTables((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.LayoutField GetFields(uint i) + { + var __ret = new global::CppSharp.Parser.AST.LayoutField.__Internal(); + __Internal.GetFields((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); + return global::CppSharp.Parser.AST.LayoutField.__CreateInstance(__ret); + } + + public void AddFields(global::CppSharp.Parser.AST.LayoutField s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddFields((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearFields() + { + __Internal.ClearFields((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.LayoutBase GetBases(uint i) + { + var __ret = new global::CppSharp.Parser.AST.LayoutBase.__Internal(); + __Internal.GetBases((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); + return global::CppSharp.Parser.AST.LayoutBase.__CreateInstance(__ret); + } + + public void AddBases(global::CppSharp.Parser.AST.LayoutBase s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddBases((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearBases() + { + __Internal.ClearBases((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.CppAbi ABI + { + get + { + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->ABI; + } + + set + { + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->ABI = value; + } + } + + public global::CppSharp.Parser.AST.VTableLayout Layout + { + get + { + return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->layout)); + } + + set + { + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->layout = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.VTableLayout.__Internal() : *(global::CppSharp.Parser.AST.VTableLayout.__Internal*) value.__Instance; + } + } + + public bool HasOwnVFPtr + { + get + { + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->hasOwnVFPtr != 0; + } + + set + { + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->hasOwnVFPtr = (byte) (value ? 1 : 0); + } + } + + public int VBPtrOffset + { + get + { + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->VBPtrOffset; + } + + set + { + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->VBPtrOffset = value; + } } - public void ClearArguments() - { - __Internal.ClearArguments((__Instance + __PointerAdjustment)); + public int Alignment + { + get + { + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->alignment; + } + + set + { + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->alignment = value; + } } - public global::CppSharp.Parser.AST.FunctionTemplate Template + public int Size { get { - global::CppSharp.Parser.AST.FunctionTemplate __result0; - if (((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.FunctionTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template)) - __result0 = (global::CppSharp.Parser.AST.FunctionTemplate) global::CppSharp.Parser.AST.FunctionTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template]; - else __result0 = global::CppSharp.Parser.AST.FunctionTemplate.__CreateInstance(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template); - return __result0; + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->size; } set { - ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*)__Instance)->_template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->size = value; } } - public global::CppSharp.Parser.AST.Function SpecializedFunction + public int DataSize { get { - global::CppSharp.Parser.AST.Function __result0; - if (((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction)) - __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction]; - else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction); - return __result0; + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->dataSize; } set { - ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*)__Instance)->specializedFunction = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*)__Instance)->dataSize = value; } } - public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind + public uint VFTablesCount { get { - return ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializationKind; + var __ret = __Internal.GetVFTablesCount((__Instance + __PointerAdjustment)); + return __ret; } + } - set + public uint FieldsCount + { + get { - ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*)__Instance)->specializationKind = value; + var __ret = __Internal.GetFieldsCount((__Instance + __PointerAdjustment)); + return __ret; } } - public uint ArgumentsCount + public uint BasesCount { get { - var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetBasesCount((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class VarTemplate : global::CppSharp.Parser.AST.Template, IDisposable + public unsafe partial class Class : global::CppSharp.Parser.AST.DeclarationContext, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 280)] + [StructLayout(LayoutKind.Explicit, Size = 584)] public new partial struct __Internal { [FieldOffset(0)] @@ -12383,332 +12591,204 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(224)] - internal global::System.IntPtr TemplatedDecl; - - [FieldOffset(232)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; - - [FieldOffset(256)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_VarTemplateSpecialization___N_std_S_allocator__S0_ Specializations; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0VarTemplate@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0VarTemplate@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1VarTemplate@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern void dtor(global::System.IntPtr __instance, int delete); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getSpecializations@VarTemplate@AST@CppParser@CppSharp@@QEAAPEAVVarTemplateSpecialization@234@I@Z")] - internal static extern global::System.IntPtr GetSpecializations(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addSpecializations@VarTemplate@AST@CppParser@CppSharp@@QEAAXAEAPEAVVarTemplateSpecialization@234@@Z")] - internal static extern void AddSpecializations(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearSpecializations@VarTemplate@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearSpecializations(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?FindSpecialization@VarTemplate@AST@CppParser@CppSharp@@QEAAPEAVVarTemplateSpecialization@234@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z")] - internal static extern global::System.IntPtr FindSpecialization(global::System.IntPtr __instance, global::System.IntPtr usr); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?FindPartialSpecialization@VarTemplate@AST@CppParser@CppSharp@@QEAAPEAVVarTemplatePartialSpecialization@234@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z")] - internal static extern global::System.IntPtr FindPartialSpecialization(global::System.IntPtr __instance, global::System.IntPtr usr); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getSpecializationsCount@VarTemplate@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetSpecializationsCount(global::System.IntPtr __instance); - } - - internal static new global::CppSharp.Parser.AST.VarTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.VarTemplate(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.VarTemplate __CreateInstance(global::CppSharp.Parser.AST.VarTemplate.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.VarTemplate(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplate.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); - global::CppSharp.Parser.AST.VarTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private VarTemplate(global::CppSharp.Parser.AST.VarTemplate.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; - protected VarTemplate(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [FieldOffset(248)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; - public VarTemplate() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + [FieldOffset(272)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; - public VarTemplate(global::CppSharp.Parser.AST.VarTemplate _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(296)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + [FieldOffset(320)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; - public global::CppSharp.Parser.AST.VarTemplateSpecialization GetSpecializations(uint i) - { - var __ret = __Internal.GetSpecializations((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.VarTemplateSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.VarTemplateSpecialization) global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.VarTemplateSpecialization.__CreateInstance(__ret); - return __result0; - } + [FieldOffset(344)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; - public void AddSpecializations(global::CppSharp.Parser.AST.VarTemplateSpecialization s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddSpecializations((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(368)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; - public void ClearSpecializations() - { - __Internal.ClearSpecializations((__Instance + __PointerAdjustment)); - } + [FieldOffset(392)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; - public global::CppSharp.Parser.AST.VarTemplateSpecialization FindSpecialization(string usr) - { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, usr); - var __arg0 = __basicString0.__Instance; - var __ret = __Internal.FindSpecialization((__Instance + __PointerAdjustment), __arg0); - __basicString0.Dispose(false); - global::CppSharp.Parser.AST.VarTemplateSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.VarTemplateSpecialization) global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.VarTemplateSpecialization.__CreateInstance(__ret); - return __result0; - } + [FieldOffset(416)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; - public global::CppSharp.Parser.AST.VarTemplatePartialSpecialization FindPartialSpecialization(string usr) - { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, usr); - var __arg0 = __basicString0.__Instance; - var __ret = __Internal.FindPartialSpecialization((__Instance + __PointerAdjustment), __arg0); - __basicString0.Dispose(false); - global::CppSharp.Parser.AST.VarTemplatePartialSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.VarTemplatePartialSpecialization) global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__CreateInstance(__ret); - return __result0; - } + [FieldOffset(440)] + internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; - public uint SpecializationsCount - { - get - { - var __ret = __Internal.GetSpecializationsCount((__Instance + __PointerAdjustment)); - return __ret; - } - } - } + [FieldOffset(456)] + internal byte isAnonymous; - public unsafe partial class VarTemplateSpecialization : global::CppSharp.Parser.AST.Variable, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 312)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + [FieldOffset(464)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BaseClassSpecifier___N_std_S_allocator__S0_ Bases; - [FieldOffset(4)] - internal int maxFieldAlignment; + [FieldOffset(488)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Field___N_std_S_allocator__S0_ Fields; - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; + [FieldOffset(512)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_S_allocator__S0_ Methods; - [FieldOffset(16)] - internal global::System.IntPtr _namespace; + [FieldOffset(536)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_AccessSpecifierDecl___N_std_S_allocator__S0_ Specifiers; - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; + [FieldOffset(560)] + internal byte isPOD; - [FieldOffset(28)] - internal int lineNumberStart; + [FieldOffset(561)] + internal byte isAbstract; - [FieldOffset(32)] - internal int lineNumberEnd; + [FieldOffset(562)] + internal byte isUnion; - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + [FieldOffset(563)] + internal byte isDynamic; - [FieldOffset(72)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + [FieldOffset(564)] + internal byte isPolymorphic; - [FieldOffset(104)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + [FieldOffset(565)] + internal byte hasNonTrivialDefaultConstructor; - [FieldOffset(136)] - internal byte isIncomplete; + [FieldOffset(566)] + internal byte hasNonTrivialCopyConstructor; - [FieldOffset(137)] - internal byte isDependent; + [FieldOffset(567)] + internal byte hasNonTrivialDestructor; - [FieldOffset(138)] - internal byte isImplicit; + [FieldOffset(568)] + internal byte isExternCContext; - [FieldOffset(139)] - internal byte isInvalid; + [FieldOffset(569)] + internal byte isInjected; - [FieldOffset(144)] - internal global::System.IntPtr completeDeclaration; + [FieldOffset(576)] + internal global::System.IntPtr layout; - [FieldOffset(152)] - internal uint definitionOrder; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0Class@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0Class@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - [FieldOffset(184)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1Class@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); - [FieldOffset(208)] - internal global::System.IntPtr originalPtr; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getBases@Class@AST@CppParser@CppSharp@@QEAAPEAUBaseClassSpecifier@234@I@Z")] + internal static extern global::System.IntPtr GetBases(global::System.IntPtr __instance, uint i); - [FieldOffset(216)] - internal global::System.IntPtr comment; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?addBases@Class@AST@CppParser@CppSharp@@QEAAXAEAPEAUBaseClassSpecifier@234@@Z")] + internal static extern void AddBases(global::System.IntPtr __instance, global::System.IntPtr s); - [FieldOffset(224)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?clearBases@Class@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearBases(global::System.IntPtr __instance); - [FieldOffset(256)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getFields@Class@AST@CppParser@CppSharp@@QEAAPEAVField@234@I@Z")] + internal static extern global::System.IntPtr GetFields(global::System.IntPtr __instance, uint i); - [FieldOffset(272)] - internal global::System.IntPtr templatedDecl; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?addFields@Class@AST@CppParser@CppSharp@@QEAAXAEAPEAVField@234@@Z")] + internal static extern void AddFields(global::System.IntPtr __instance, global::System.IntPtr s); - [FieldOffset(280)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?clearFields@Class@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearFields(global::System.IntPtr __instance); - [FieldOffset(304)] - internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getMethods@Class@AST@CppParser@CppSharp@@QEAAPEAVMethod@234@I@Z")] + internal static extern global::System.IntPtr GetMethods(global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0VarTemplateSpecialization@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + EntryPoint="?addMethods@Class@AST@CppParser@CppSharp@@QEAAXAEAPEAVMethod@234@@Z")] + internal static extern void AddMethods(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0VarTemplateSpecialization@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + EntryPoint="?clearMethods@Class@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearMethods(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1VarTemplateSpecialization@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern void dtor(global::System.IntPtr __instance, int delete); + EntryPoint="?getSpecifiers@Class@AST@CppParser@CppSharp@@QEAAPEAVAccessSpecifierDecl@234@I@Z")] + internal static extern global::System.IntPtr GetSpecifiers(global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getArguments@VarTemplateSpecialization@AST@CppParser@CppSharp@@QEAA?AUTemplateArgument@234@I@Z")] - internal static extern void GetArguments(global::System.IntPtr __instance, global::System.IntPtr @return, uint i); + EntryPoint="?addSpecifiers@Class@AST@CppParser@CppSharp@@QEAAXAEAPEAVAccessSpecifierDecl@234@@Z")] + internal static extern void AddSpecifiers(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addArguments@VarTemplateSpecialization@AST@CppParser@CppSharp@@QEAAXAEAUTemplateArgument@234@@Z")] - internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); + EntryPoint="?clearSpecifiers@Class@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearSpecifiers(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearArguments@VarTemplateSpecialization@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearArguments(global::System.IntPtr __instance); + EntryPoint="?getBasesCount@Class@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetBasesCount(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getArgumentsCount@VarTemplateSpecialization@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); + EntryPoint="?getFieldsCount@Class@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetFieldsCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getMethodsCount@Class@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetMethodsCount(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getSpecifiersCount@Class@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetSpecifiersCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.VarTemplateSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Class __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VarTemplateSpecialization(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Class(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.VarTemplateSpecialization __CreateInstance(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Class __CreateInstance(global::CppSharp.Parser.AST.Class.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VarTemplateSpecialization(native, skipVTables); + return new global::CppSharp.Parser.AST.Class(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Class.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); - global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); + global::CppSharp.Parser.AST.Class.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private VarTemplateSpecialization(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal native, bool skipVTables = false) + private Class(global::CppSharp.Parser.AST.Class.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected VarTemplateSpecialization(void* native, bool skipVTables = false) + protected Class(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -12717,19 +12797,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public VarTemplateSpecialization() + public Class() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public VarTemplateSpecialization(global::CppSharp.Parser.AST.VarTemplateSpecialization _0) + public Class(global::CppSharp.Parser.AST.Class _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -12738,247 +12818,303 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public override void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.BaseClassSpecifier GetBases(uint i) + { + var __ret = __Internal.GetBases((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.BaseClassSpecifier __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.BaseClassSpecifier.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.BaseClassSpecifier) global::CppSharp.Parser.AST.BaseClassSpecifier.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.BaseClassSpecifier.__CreateInstance(__ret); + return __result0; + } + + public void AddBases(global::CppSharp.Parser.AST.BaseClassSpecifier s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddBases((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearBases() + { + __Internal.ClearBases((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Field GetFields(uint i) + { + var __ret = __Internal.GetFields((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Field __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Field.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Field) global::CppSharp.Parser.AST.Field.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Field.__CreateInstance(__ret); + return __result0; + } + + public void AddFields(global::CppSharp.Parser.AST.Field s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddFields((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearFields() + { + __Internal.ClearFields((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Method GetMethods(uint i) + { + var __ret = __Internal.GetMethods((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Method __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Method.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Method) global::CppSharp.Parser.AST.Method.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Method.__CreateInstance(__ret); + return __result0; + } + + public void AddMethods(global::CppSharp.Parser.AST.Method s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddMethods((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearMethods() { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + __Internal.ClearMethods((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) + public global::CppSharp.Parser.AST.AccessSpecifierDecl GetSpecifiers(uint i) { - var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); - __Internal.GetArguments((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); - return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); + var __ret = __Internal.GetSpecifiers((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.AccessSpecifierDecl __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.AccessSpecifierDecl.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.AccessSpecifierDecl) global::CppSharp.Parser.AST.AccessSpecifierDecl.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.AccessSpecifierDecl.__CreateInstance(__ret); + return __result0; } - public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + public void AddSpecifiers(global::CppSharp.Parser.AST.AccessSpecifierDecl s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); + __Internal.AddSpecifiers((__Instance + __PointerAdjustment), __arg0); } - public void ClearArguments() + public void ClearSpecifiers() { - __Internal.ClearArguments((__Instance + __PointerAdjustment)); + __Internal.ClearSpecifiers((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.VarTemplate TemplatedDecl + public bool IsPOD { get { - global::CppSharp.Parser.AST.VarTemplate __result0; - if (((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.VarTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl)) - __result0 = (global::CppSharp.Parser.AST.VarTemplate) global::CppSharp.Parser.AST.VarTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl]; - else __result0 = global::CppSharp.Parser.AST.VarTemplate.__CreateInstance(((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl); - return __result0; + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isPOD != 0; } set { - ((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*)__Instance)->templatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isPOD = (byte) (value ? 1 : 0); } } - public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind + public bool IsAbstract { get { - return ((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->specializationKind; + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isAbstract != 0; } set { - ((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*)__Instance)->specializationKind = value; + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isAbstract = (byte) (value ? 1 : 0); } } - public uint ArgumentsCount + public bool IsUnion { get { - var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isUnion != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isUnion = (byte) (value ? 1 : 0); } } - } - public unsafe partial class VarTemplatePartialSpecialization : global::CppSharp.Parser.AST.VarTemplateSpecialization, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 312)] - public new partial struct __Internal + public bool IsDynamic { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - internal int maxFieldAlignment; - - [FieldOffset(8)] - internal global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(16)] - internal global::System.IntPtr _namespace; - - [FieldOffset(24)] - internal global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(28)] - internal int lineNumberStart; - - [FieldOffset(32)] - internal int lineNumberEnd; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(72)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - - [FieldOffset(104)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - - [FieldOffset(136)] - internal byte isIncomplete; - - [FieldOffset(137)] - internal byte isDependent; - - [FieldOffset(138)] - internal byte isImplicit; - - [FieldOffset(139)] - internal byte isInvalid; - - [FieldOffset(144)] - internal global::System.IntPtr completeDeclaration; - - [FieldOffset(152)] - internal uint definitionOrder; - - [FieldOffset(160)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - - [FieldOffset(184)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - - [FieldOffset(208)] - internal global::System.IntPtr originalPtr; - - [FieldOffset(216)] - internal global::System.IntPtr comment; - - [FieldOffset(224)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isDynamic != 0; + } - [FieldOffset(256)] - internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isDynamic = (byte) (value ? 1 : 0); + } + } - [FieldOffset(272)] - internal global::System.IntPtr templatedDecl; + public bool IsPolymorphic + { + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isPolymorphic != 0; + } - [FieldOffset(280)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isPolymorphic = (byte) (value ? 1 : 0); + } + } - [FieldOffset(304)] - internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; + public bool HasNonTrivialDefaultConstructor + { + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialDefaultConstructor != 0; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0VarTemplatePartialSpecialization@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->hasNonTrivialDefaultConstructor = (byte) (value ? 1 : 0); + } + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0VarTemplatePartialSpecialization@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + public bool HasNonTrivialCopyConstructor + { + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialCopyConstructor != 0; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1VarTemplatePartialSpecialization@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern void dtor(global::System.IntPtr __instance, int delete); + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->hasNonTrivialCopyConstructor = (byte) (value ? 1 : 0); + } } - internal static new global::CppSharp.Parser.AST.VarTemplatePartialSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public bool HasNonTrivialDestructor { - return new global::CppSharp.Parser.AST.VarTemplatePartialSpecialization(native.ToPointer(), skipVTables); + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialDestructor != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->hasNonTrivialDestructor = (byte) (value ? 1 : 0); + } } - internal static global::CppSharp.Parser.AST.VarTemplatePartialSpecialization __CreateInstance(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal native, bool skipVTables = false) + public bool IsExternCContext { - return new global::CppSharp.Parser.AST.VarTemplatePartialSpecialization(native, skipVTables); + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isExternCContext != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isExternCContext = (byte) (value ? 1 : 0); + } } - private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal native) + public bool IsInjected { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); - global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isInjected != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->isInjected = (byte) (value ? 1 : 0); + } } - private VarTemplatePartialSpecialization(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + public global::CppSharp.Parser.AST.ClassLayout Layout { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + get + { + global::CppSharp.Parser.AST.ClassLayout __result0; + if (((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ClassLayout.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout)) + __result0 = (global::CppSharp.Parser.AST.ClassLayout) global::CppSharp.Parser.AST.ClassLayout.NativeToManagedMap[((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout]; + else __result0 = global::CppSharp.Parser.AST.ClassLayout.__CreateInstance(((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->layout); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*)__Instance)->layout = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } } - protected VarTemplatePartialSpecialization(void* native, bool skipVTables = false) - : base((void*) null) + public uint BasesCount { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); + get + { + var __ret = __Internal.GetBasesCount((__Instance + __PointerAdjustment)); + return __ret; + } } - public VarTemplatePartialSpecialization() - : this((void*) null) + public uint FieldsCount { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + get + { + var __ret = __Internal.GetFieldsCount((__Instance + __PointerAdjustment)); + return __ret; + } } - public VarTemplatePartialSpecialization(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization _0) - : this((void*) null) + public uint MethodsCount { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + get + { + var __ret = __Internal.GetMethodsCount((__Instance + __PointerAdjustment)); + return __ret; + } } - public override void Dispose(bool disposing) + public uint SpecifiersCount { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; + get + { + var __ret = __Internal.GetSpecifiersCount((__Instance + __PointerAdjustment)); + return __ret; + } } } - public unsafe partial class Namespace : global::CppSharp.Parser.AST.DeclarationContext, IDisposable + public unsafe partial class Template : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 472)] + [StructLayout(LayoutKind.Explicit, Size = 256)] public new partial struct __Internal { [FieldOffset(0)] @@ -13042,82 +13178,77 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(224)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; - - [FieldOffset(248)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; - - [FieldOffset(272)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; - - [FieldOffset(296)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; - - [FieldOffset(320)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; - - [FieldOffset(344)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; + internal global::System.IntPtr TemplatedDecl; - [FieldOffset(368)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; + [FieldOffset(232)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; - [FieldOffset(392)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0Template@AST@CppParser@CppSharp@@QEAA@W4DeclarationKind@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.DeclarationKind kind); - [FieldOffset(416)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0Template@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); - [FieldOffset(440)] - internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0Template@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - [FieldOffset(456)] - internal byte isAnonymous; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1Template@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); - [FieldOffset(464)] - internal byte isInline; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getParameters@Template@AST@CppParser@CppSharp@@QEAAPEAVDeclaration@234@I@Z")] + internal static extern global::System.IntPtr GetParameters(global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Namespace@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + EntryPoint="?addParameters@Template@AST@CppParser@CppSharp@@QEAAXAEAPEAVDeclaration@234@@Z")] + internal static extern void AddParameters(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Namespace@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + EntryPoint="?clearParameters@Template@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearParameters(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1Namespace@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern void dtor(global::System.IntPtr __instance, int delete); + EntryPoint="?getParametersCount@Template@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetParametersCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.Namespace __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Template __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Namespace(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Template(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Namespace __CreateInstance(global::CppSharp.Parser.AST.Namespace.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Template __CreateInstance(global::CppSharp.Parser.AST.Template.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.Namespace(native, skipVTables); + return new global::CppSharp.Parser.AST.Template(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Namespace.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Template.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); - global::CppSharp.Parser.AST.Namespace.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + global::CppSharp.Parser.AST.Template.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Namespace(global::CppSharp.Parser.AST.Namespace.__Internal native, bool skipVTables = false) + private Template(global::CppSharp.Parser.AST.Template.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Namespace(void* native, bool skipVTables = false) + protected Template(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -13126,19 +13257,28 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Namespace() + public Template(global::CppSharp.Parser.AST.DeclarationKind kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor((__Instance + __PointerAdjustment), kind); + } + + public Template() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public Namespace(global::CppSharp.Parser.AST.Namespace _0) + public Template(global::CppSharp.Parser.AST.Template _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -13160,223 +13300,333 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public bool IsInline + public global::CppSharp.Parser.AST.Declaration GetParameters(uint i) + { + var __ret = __Internal.GetParameters((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Declaration __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(__ret); + return __result0; + } + + public void AddParameters(global::CppSharp.Parser.AST.Declaration s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddParameters((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearParameters() + { + __Internal.ClearParameters((__Instance + __PointerAdjustment)); + } + + public static implicit operator global::CppSharp.Parser.AST.Template(global::CppSharp.Parser.AST.DeclarationKind kind) + { + return new global::CppSharp.Parser.AST.Template(kind); + } + + public global::CppSharp.Parser.AST.Declaration TemplatedDecl { get { - return ((global::CppSharp.Parser.AST.Namespace.__Internal*) __Instance)->isInline != 0; + global::CppSharp.Parser.AST.Declaration __result0; + if (((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl)) + __result0 = (global::CppSharp.Parser.AST.Declaration) global::CppSharp.Parser.AST.Declaration.NativeToManagedMap[((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl]; + else __result0 = global::CppSharp.Parser.AST.Declaration.__CreateInstance(((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.Template.__Internal*)__Instance)->TemplatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public uint ParametersCount + { + get + { + var __ret = __Internal.GetParametersCount((__Instance + __PointerAdjustment)); + return __ret; } + } + } + + public unsafe partial class TypeAliasTemplate : global::CppSharp.Parser.AST.Template, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 256)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(72)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(136)] + internal byte isIncomplete; + + [FieldOffset(137)] + internal byte isDependent; + + [FieldOffset(138)] + internal byte isImplicit; + + [FieldOffset(139)] + internal byte isInvalid; + + [FieldOffset(144)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(152)] + internal uint definitionOrder; - set - { - ((global::CppSharp.Parser.AST.Namespace.__Internal*)__Instance)->isInline = (byte) (value ? 1 : 0); - } - } - } + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - public unsafe partial class PreprocessedEntity : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 24)] - public partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.MacroLocation macroLocation; + [FieldOffset(184)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - [FieldOffset(8)] + [FieldOffset(208)] internal global::System.IntPtr originalPtr; - [FieldOffset(16)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + [FieldOffset(216)] + internal global::System.IntPtr comment; + + [FieldOffset(224)] + internal global::System.IntPtr TemplatedDecl; + + [FieldOffset(232)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0PreprocessedEntity@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0TypeAliasTemplate@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0PreprocessedEntity@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0TypeAliasTemplate@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - } - - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; - protected bool __ownsNativeInstance; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1TypeAliasTemplate@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); + } - internal static global::CppSharp.Parser.AST.PreprocessedEntity __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TypeAliasTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.PreprocessedEntity(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TypeAliasTemplate(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.PreprocessedEntity __CreateInstance(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TypeAliasTemplate __CreateInstance(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.PreprocessedEntity(native, skipVTables); + return new global::CppSharp.Parser.AST.TypeAliasTemplate(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); - *(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) ret = native; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); + global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native, bool skipVTables = false) + private TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected PreprocessedEntity(void* native, bool skipVTables = false) + protected TypeAliasTemplate(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public PreprocessedEntity() + public TypeAliasTemplate() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity _0) + public TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) _0.__Instance); - } - - public void Dispose() - { - Dispose(disposing: true); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.PreprocessedEntity __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - - public global::CppSharp.Parser.AST.MacroLocation MacroLocation - { - get - { - return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->macroLocation; - } - - set - { - ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*)__Instance)->macroLocation = value; - } - } - - public global::System.IntPtr OriginalPtr - { - get - { - return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->originalPtr; - } - - set - { - ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*)__Instance)->originalPtr = (global::System.IntPtr) value; - } - } - - public global::CppSharp.Parser.AST.DeclarationKind Kind - { - get - { - return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->kind; - } - - set - { - ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*)__Instance)->kind = value; - } - } } - public unsafe partial class MacroDefinition : global::CppSharp.Parser.AST.PreprocessedEntity, IDisposable + public unsafe partial class TemplateParameter : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 96)] + [StructLayout(LayoutKind.Explicit, Size = 240)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.MacroLocation macroLocation; + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::System.IntPtr originalPtr; + internal global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(16)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::System.IntPtr _namespace; [FieldOffset(24)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(56)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C expression; + internal global::CppSharp.Parser.SourceLocation.__Internal location; - [FieldOffset(88)] + [FieldOffset(28)] internal int lineNumberStart; - [FieldOffset(92)] + [FieldOffset(32)] internal int lineNumberEnd; + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(72)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(136)] + internal byte isIncomplete; + + [FieldOffset(137)] + internal byte isDependent; + + [FieldOffset(138)] + internal byte isImplicit; + + [FieldOffset(139)] + internal byte isInvalid; + + [FieldOffset(144)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(152)] + internal uint definitionOrder; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(184)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(208)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(216)] + internal global::System.IntPtr comment; + + [FieldOffset(224)] + internal uint depth; + + [FieldOffset(228)] + internal uint index; + + [FieldOffset(232)] + internal byte isParameterPack; + [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0MacroDefinition@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + EntryPoint="??0TemplateParameter@AST@CppParser@CppSharp@@QEAA@W4DeclarationKind@123@@Z")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.DeclarationKind kind); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0MacroDefinition@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0TemplateParameter@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1MacroDefinition@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??1TemplateParameter@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern void dtor(global::System.IntPtr __instance, int delete); } - internal static new global::CppSharp.Parser.AST.MacroDefinition __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.MacroDefinition(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TemplateParameter(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.MacroDefinition __CreateInstance(global::CppSharp.Parser.AST.MacroDefinition.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TemplateParameter.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.MacroDefinition(native, skipVTables); + return new global::CppSharp.Parser.AST.TemplateParameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.MacroDefinition.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameter.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); - global::CppSharp.Parser.AST.MacroDefinition.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); + global::CppSharp.Parser.AST.TemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private MacroDefinition(global::CppSharp.Parser.AST.MacroDefinition.__Internal native, bool skipVTables = false) + private TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected MacroDefinition(void* native, bool skipVTables = false) + protected TemplateParameter(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -13385,19 +13635,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public MacroDefinition() + public TemplateParameter(global::CppSharp.Parser.AST.DeclarationKind kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + __Internal.ctor((__Instance + __PointerAdjustment), kind); } - public MacroDefinition(global::CppSharp.Parser.AST.MacroDefinition _0) + public TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -13410,7 +13660,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.PreprocessedEntity __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -13419,129 +13669,172 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public string Name + public static implicit operator global::CppSharp.Parser.AST.TemplateParameter(global::CppSharp.Parser.AST.DeclarationKind kind) { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->name)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->name), value); - } + return new global::CppSharp.Parser.AST.TemplateParameter(kind); } - public string Expression + public uint Depth { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->expression)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->depth; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->expression), value); + ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*)__Instance)->depth = value; } } - public int LineNumberStart + public uint Index { get { - return ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->lineNumberStart; + return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->index; } set { - ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->lineNumberStart = value; + ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*)__Instance)->index = value; } } - public int LineNumberEnd + public bool IsParameterPack { get { - return ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->lineNumberEnd; + return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->isParameterPack != 0; } set { - ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->lineNumberEnd = value; + ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*)__Instance)->isParameterPack = (byte) (value ? 1 : 0); } } } - public unsafe partial class MacroExpansion : global::CppSharp.Parser.AST.PreprocessedEntity, IDisposable + public unsafe partial class TemplateTemplateParameter : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 96)] + [StructLayout(LayoutKind.Explicit, Size = 264)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.MacroLocation macroLocation; + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::System.IntPtr originalPtr; + internal global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(16)] - internal global::CppSharp.Parser.AST.DeclarationKind kind; + internal global::System.IntPtr _namespace; [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - [FieldOffset(56)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; + [FieldOffset(72)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - [FieldOffset(88)] - internal global::System.IntPtr definition; + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(136)] + internal byte isIncomplete; + + [FieldOffset(137)] + internal byte isDependent; + + [FieldOffset(138)] + internal byte isImplicit; + + [FieldOffset(139)] + internal byte isInvalid; + + [FieldOffset(144)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(152)] + internal uint definitionOrder; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(184)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(208)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(216)] + internal global::System.IntPtr comment; + + [FieldOffset(224)] + internal global::System.IntPtr TemplatedDecl; + + [FieldOffset(232)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; + + [FieldOffset(256)] + internal byte isParameterPack; + + [FieldOffset(257)] + internal byte isPackExpansion; + + [FieldOffset(258)] + internal byte isExpandedParameterPack; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0MacroExpansion@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0TemplateTemplateParameter@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0MacroExpansion@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0TemplateTemplateParameter@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1MacroExpansion@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??1TemplateTemplateParameter@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern void dtor(global::System.IntPtr __instance, int delete); } - internal static new global::CppSharp.Parser.AST.MacroExpansion __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TemplateTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.MacroExpansion(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TemplateTemplateParameter(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.MacroExpansion __CreateInstance(global::CppSharp.Parser.AST.MacroExpansion.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TemplateTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.MacroExpansion(native, skipVTables); + return new global::CppSharp.Parser.AST.TemplateTemplateParameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.MacroExpansion.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); - global::CppSharp.Parser.AST.MacroExpansion.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); + global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private MacroExpansion(global::CppSharp.Parser.AST.MacroExpansion.__Internal native, bool skipVTables = false) + private TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected MacroExpansion(void* native, bool skipVTables = false) + protected TemplateTemplateParameter(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -13550,19 +13843,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public MacroExpansion() + public TemplateTemplateParameter() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public MacroExpansion(global::CppSharp.Parser.AST.MacroExpansion _0) + public TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -13575,7 +13868,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.PreprocessedEntity __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -13584,60 +13877,49 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public string Name + public bool IsParameterPack { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->name)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isParameterPack != 0; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*)__Instance)->name), value); + ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*)__Instance)->isParameterPack = (byte) (value ? 1 : 0); } } - public string Text + public bool IsPackExpansion { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->text)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isPackExpansion != 0; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*)__Instance)->text), value); + ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*)__Instance)->isPackExpansion = (byte) (value ? 1 : 0); } } - public global::CppSharp.Parser.AST.MacroDefinition Definition + public bool IsExpandedParameterPack { get { - global::CppSharp.Parser.AST.MacroDefinition __result0; - if (((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition)) - __result0 = (global::CppSharp.Parser.AST.MacroDefinition) global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap[((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition]; - else __result0 = global::CppSharp.Parser.AST.MacroDefinition.__CreateInstance(((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition); - return __result0; + return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack != 0; } set { - ((global::CppSharp.Parser.AST.MacroExpansion.__Internal*)__Instance)->definition = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*)__Instance)->isExpandedParameterPack = (byte) (value ? 1 : 0); } } } - public unsafe partial class TranslationUnit : global::CppSharp.Parser.AST.Namespace, IDisposable + public unsafe partial class TypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 536)] + [StructLayout(LayoutKind.Explicit, Size = 256)] public new partial struct __Internal { [FieldOffset(0)] @@ -13701,111 +13983,58 @@ namespace CppSharp internal global::System.IntPtr comment; [FieldOffset(224)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; - - [FieldOffset(248)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; - - [FieldOffset(272)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; - - [FieldOffset(296)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; - - [FieldOffset(320)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; - - [FieldOffset(344)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; - - [FieldOffset(368)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; - - [FieldOffset(392)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; - - [FieldOffset(416)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; - - [FieldOffset(440)] - internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; - - [FieldOffset(456)] - internal byte isAnonymous; - - [FieldOffset(464)] - internal byte isInline; + internal uint depth; - [FieldOffset(472)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C fileName; + [FieldOffset(228)] + internal uint index; - [FieldOffset(504)] - internal byte isSystemHeader; + [FieldOffset(232)] + internal byte isParameterPack; - [FieldOffset(512)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_MacroDefinition___N_std_S_allocator__S0_ Macros; + [FieldOffset(240)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal defaultArgument; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TranslationUnit@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0TypeTemplateParameter@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TranslationUnit@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0TypeTemplateParameter@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1TranslationUnit@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??1TypeTemplateParameter@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern void dtor(global::System.IntPtr __instance, int delete); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getMacros@TranslationUnit@AST@CppParser@CppSharp@@QEAAPEAVMacroDefinition@234@I@Z")] - internal static extern global::System.IntPtr GetMacros(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addMacros@TranslationUnit@AST@CppParser@CppSharp@@QEAAXAEAPEAVMacroDefinition@234@@Z")] - internal static extern void AddMacros(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearMacros@TranslationUnit@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearMacros(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getMacrosCount@TranslationUnit@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetMacrosCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.TranslationUnit __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TypeTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TranslationUnit(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TypeTemplateParameter(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TranslationUnit __CreateInstance(global::CppSharp.Parser.AST.TranslationUnit.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TypeTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TranslationUnit(native, skipVTables); + return new global::CppSharp.Parser.AST.TypeTemplateParameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TranslationUnit.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); - global::CppSharp.Parser.AST.TranslationUnit.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); + global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TranslationUnit(global::CppSharp.Parser.AST.TranslationUnit.__Internal native, bool skipVTables = false) + private TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TranslationUnit(void* native, bool skipVTables = false) + protected TypeTemplateParameter(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -13814,19 +14043,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TranslationUnit() + public TypeTemplateParameter() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TranslationUnit(global::CppSharp.Parser.AST.TranslationUnit _0) + public TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -13848,192 +14077,171 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.MacroDefinition GetMacros(uint i) - { - var __ret = __Internal.GetMacros((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.MacroDefinition __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.MacroDefinition) global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.MacroDefinition.__CreateInstance(__ret); - return __result0; - } - - public void AddMacros(global::CppSharp.Parser.AST.MacroDefinition s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddMacros((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearMacros() - { - __Internal.ClearMacros((__Instance + __PointerAdjustment)); - } - - public string FileName - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TranslationUnit.__Internal*) __Instance)->fileName)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TranslationUnit.__Internal*)__Instance)->fileName), value); - } - } - - public bool IsSystemHeader + public global::CppSharp.Parser.AST.QualifiedType DefaultArgument { get { - return ((global::CppSharp.Parser.AST.TranslationUnit.__Internal*) __Instance)->isSystemHeader != 0; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal*) __Instance)->defaultArgument)); } set { - ((global::CppSharp.Parser.AST.TranslationUnit.__Internal*)__Instance)->isSystemHeader = (byte) (value ? 1 : 0); - } - } - - public uint MacrosCount - { - get - { - var __ret = __Internal.GetMacrosCount((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal*)__Instance)->defaultArgument = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } } - public unsafe partial class NativeLibrary : IDisposable + public unsafe partial class NonTypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 88)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 264)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C fileName; + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; [FieldOffset(32)] - internal global::CppSharp.Parser.AST.ArchType archType; + internal int lineNumberEnd; [FieldOffset(40)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C___N_std_S_allocator__S0_ Symbols; + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - [FieldOffset(64)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C___N_std_S_allocator__S0_ Dependencies; + [FieldOffset(72)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0NativeLibrary@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0NativeLibrary@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + [FieldOffset(136)] + internal byte isIncomplete; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1NativeLibrary@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern void dtor(global::System.IntPtr __instance, int delete); + [FieldOffset(137)] + internal byte isDependent; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getSymbols@NativeLibrary@AST@CppParser@CppSharp@@QEAAPEBDI@Z")] - internal static extern global::System.IntPtr GetSymbols(global::System.IntPtr __instance, uint i); + [FieldOffset(138)] + internal byte isImplicit; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addSymbols@NativeLibrary@AST@CppParser@CppSharp@@QEAAXPEBD@Z")] - internal static extern void AddSymbols(global::System.IntPtr __instance, [MarshalAs(UnmanagedType.LPStr)] string s); + [FieldOffset(139)] + internal byte isInvalid; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearSymbols@NativeLibrary@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearSymbols(global::System.IntPtr __instance); + [FieldOffset(144)] + internal global::System.IntPtr completeDeclaration; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getDependencies@NativeLibrary@AST@CppParser@CppSharp@@QEAAPEBDI@Z")] - internal static extern global::System.IntPtr GetDependencies(global::System.IntPtr __instance, uint i); + [FieldOffset(152)] + internal uint definitionOrder; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addDependencies@NativeLibrary@AST@CppParser@CppSharp@@QEAAXPEBD@Z")] - internal static extern void AddDependencies(global::System.IntPtr __instance, [MarshalAs(UnmanagedType.LPStr)] string s); + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(184)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(208)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(216)] + internal global::System.IntPtr comment; + + [FieldOffset(224)] + internal uint depth; + + [FieldOffset(228)] + internal uint index; + + [FieldOffset(232)] + internal byte isParameterPack; + + [FieldOffset(240)] + internal global::System.IntPtr defaultArgument; + + [FieldOffset(248)] + internal global::System.IntPtr defaultArgumentNew; + + [FieldOffset(256)] + internal uint position; + + [FieldOffset(260)] + internal byte isPackExpansion; + + [FieldOffset(261)] + internal byte isExpandedParameterPack; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearDependencies@NativeLibrary@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearDependencies(global::System.IntPtr __instance); + EntryPoint="??0NonTypeTemplateParameter@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getSymbolsCount@NativeLibrary@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetSymbolsCount(global::System.IntPtr __instance); + EntryPoint="??0NonTypeTemplateParameter@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getDependenciesCount@NativeLibrary@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetDependenciesCount(global::System.IntPtr __instance); + EntryPoint="??1NonTypeTemplateParameter@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); } - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.NativeLibrary __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.NonTypeTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.NativeLibrary(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.NonTypeTemplateParameter(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.NativeLibrary __CreateInstance(global::CppSharp.Parser.AST.NativeLibrary.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.NonTypeTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.NativeLibrary(native, skipVTables); + return new global::CppSharp.Parser.AST.NonTypeTemplateParameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.NativeLibrary.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); - global::CppSharp.Parser.AST.NativeLibrary.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); + global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private NativeLibrary(global::CppSharp.Parser.AST.NativeLibrary.__Internal native, bool skipVTables = false) + private NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected NativeLibrary(void* native, bool skipVTables = false) + protected NonTypeTemplateParameter(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public NativeLibrary() + public NonTypeTemplateParameter() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public NativeLibrary(global::CppSharp.Parser.AST.NativeLibrary _0) + public NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -14042,16 +14250,11 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.NativeLibrary __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -14060,185 +14263,248 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public string GetSymbols(uint i) - { - var __ret = __Internal.GetSymbols((__Instance + __PointerAdjustment), i); - return Marshal.PtrToStringAnsi(__ret); - } - - public void AddSymbols(string s) - { - __Internal.AddSymbols((__Instance + __PointerAdjustment), s); - } - - public void ClearSymbols() - { - __Internal.ClearSymbols((__Instance + __PointerAdjustment)); - } - - public string GetDependencies(uint i) - { - var __ret = __Internal.GetDependencies((__Instance + __PointerAdjustment), i); - return Marshal.PtrToStringAnsi(__ret); - } - - public void AddDependencies(string s) + public global::CppSharp.Parser.AST.ExpressionObsolete DefaultArgument { - __Internal.AddDependencies((__Instance + __PointerAdjustment), s); - } + get + { + global::CppSharp.Parser.AST.ExpressionObsolete __result0; + if (((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ExpressionObsolete.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument)) + __result0 = (global::CppSharp.Parser.AST.ExpressionObsolete) global::CppSharp.Parser.AST.ExpressionObsolete.NativeToManagedMap[((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument]; + else __result0 = global::CppSharp.Parser.AST.ExpressionObsolete.__CreateInstance(((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument); + return __result0; + } - public void ClearDependencies() - { - __Internal.ClearDependencies((__Instance + __PointerAdjustment)); + set + { + ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->defaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } } - public string FileName + public global::CppSharp.Parser.AST.Expr DefaultArgumentNew { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.NativeLibrary.__Internal*) __Instance)->fileName)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; + global::CppSharp.Parser.AST.Expr __result0; + if (((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgumentNew == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgumentNew)) + __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgumentNew]; + else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgumentNew); + return __result0; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.NativeLibrary.__Internal*)__Instance)->fileName), value); + ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->defaultArgumentNew = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public global::CppSharp.Parser.AST.ArchType ArchType + public uint Position { get { - return ((global::CppSharp.Parser.AST.NativeLibrary.__Internal*) __Instance)->archType; + return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->position; } set { - ((global::CppSharp.Parser.AST.NativeLibrary.__Internal*)__Instance)->archType = value; + ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->position = value; } } - public uint SymbolsCount + public bool IsPackExpansion { get { - var __ret = __Internal.GetSymbolsCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->isPackExpansion != 0; + } + + set + { + ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->isPackExpansion = (byte) (value ? 1 : 0); } } - public uint DependenciesCount + public bool IsExpandedParameterPack { get { - var __ret = __Internal.GetDependenciesCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack != 0; + } + + set + { + ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*)__Instance)->isExpandedParameterPack = (byte) (value ? 1 : 0); } } } - public unsafe partial class ASTContext : IDisposable + public unsafe partial class ClassTemplate : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 24)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 280)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TranslationUnit___N_std_S_allocator__S0_ TranslationUnits; + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(72)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(136)] + internal byte isIncomplete; + + [FieldOffset(137)] + internal byte isDependent; + + [FieldOffset(138)] + internal byte isImplicit; + + [FieldOffset(139)] + internal byte isInvalid; + + [FieldOffset(144)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(152)] + internal uint definitionOrder; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(184)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(208)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(216)] + internal global::System.IntPtr comment; + + [FieldOffset(224)] + internal global::System.IntPtr TemplatedDecl; + + [FieldOffset(232)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; + + [FieldOffset(256)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_ClassTemplateSpecialization___N_std_S_allocator__S0_ Specializations; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0ASTContext@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0ClassTemplate@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0ASTContext@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0ClassTemplate@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1ASTContext@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??1ClassTemplate@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern void dtor(global::System.IntPtr __instance, int delete); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?FindOrCreateModule@ASTContext@AST@CppParser@CppSharp@@QEAAPEAVTranslationUnit@234@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z")] - internal static extern global::System.IntPtr FindOrCreateModule(global::System.IntPtr __instance, global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C File); + EntryPoint="?getSpecializations@ClassTemplate@AST@CppParser@CppSharp@@QEAAPEAVClassTemplateSpecialization@234@I@Z")] + internal static extern global::System.IntPtr GetSpecializations(global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getTranslationUnits@ASTContext@AST@CppParser@CppSharp@@QEAAPEAVTranslationUnit@234@I@Z")] - internal static extern global::System.IntPtr GetTranslationUnits(global::System.IntPtr __instance, uint i); + EntryPoint="?addSpecializations@ClassTemplate@AST@CppParser@CppSharp@@QEAAXAEAPEAVClassTemplateSpecialization@234@@Z")] + internal static extern void AddSpecializations(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addTranslationUnits@ASTContext@AST@CppParser@CppSharp@@QEAAXAEAPEAVTranslationUnit@234@@Z")] - internal static extern void AddTranslationUnits(global::System.IntPtr __instance, global::System.IntPtr s); + EntryPoint="?clearSpecializations@ClassTemplate@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearSpecializations(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearTranslationUnits@ASTContext@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearTranslationUnits(global::System.IntPtr __instance); + EntryPoint="?FindSpecialization@ClassTemplate@AST@CppParser@CppSharp@@QEAAPEAVClassTemplateSpecialization@234@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z")] + internal static extern global::System.IntPtr FindSpecialization(global::System.IntPtr __instance, global::System.IntPtr usr); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getTranslationUnitsCount@ASTContext@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetTranslationUnitsCount(global::System.IntPtr __instance); - } - - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; + EntryPoint="?FindPartialSpecialization@ClassTemplate@AST@CppParser@CppSharp@@QEAAPEAVClassTemplatePartialSpecialization@234@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z")] + internal static extern global::System.IntPtr FindPartialSpecialization(global::System.IntPtr __instance, global::System.IntPtr usr); - protected bool __ownsNativeInstance; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getSpecializationsCount@ClassTemplate@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetSpecializationsCount(global::System.IntPtr __instance); + } - internal static global::CppSharp.Parser.AST.ASTContext __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.ClassTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ASTContext(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.ClassTemplate(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.ASTContext __CreateInstance(global::CppSharp.Parser.AST.ASTContext.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.ClassTemplate __CreateInstance(global::CppSharp.Parser.AST.ClassTemplate.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ASTContext(native, skipVTables); + return new global::CppSharp.Parser.AST.ClassTemplate(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ASTContext.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplate.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); - global::CppSharp.Parser.AST.ASTContext.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal)); + global::CppSharp.Parser.AST.ClassTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private ASTContext(global::CppSharp.Parser.AST.ASTContext.__Internal native, bool skipVTables = false) + private ClassTemplate(global::CppSharp.Parser.AST.ClassTemplate.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected ASTContext(void* native, bool skipVTables = false) + protected ClassTemplate(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public ASTContext() + public ClassTemplate() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public ASTContext(global::CppSharp.Parser.AST.ASTContext _0) + public ClassTemplate(global::CppSharp.Parser.AST.ClassTemplate _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -14247,16 +14513,11 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.ASTContext __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -14265,213 +14526,283 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TranslationUnit FindOrCreateModule(string File) - { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, File); - var __arg0 = *(global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C*) __basicString0.__Instance; - var __ret = __Internal.FindOrCreateModule((__Instance + __PointerAdjustment), __arg0); - __basicString0.Dispose(false); - global::CppSharp.Parser.AST.TranslationUnit __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.TranslationUnit) global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.TranslationUnit.__CreateInstance(__ret); - return __result0; - } - - public global::CppSharp.Parser.AST.TranslationUnit GetTranslationUnits(uint i) + public global::CppSharp.Parser.AST.ClassTemplateSpecialization GetSpecializations(uint i) { - var __ret = __Internal.GetTranslationUnits((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.TranslationUnit __result0; + var __ret = __Internal.GetSpecializations((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.ClassTemplateSpecialization __result0; if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.TranslationUnit) global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.TranslationUnit.__CreateInstance(__ret); + else if (global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.ClassTemplateSpecialization) global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.ClassTemplateSpecialization.__CreateInstance(__ret); return __result0; } - public void AddTranslationUnits(global::CppSharp.Parser.AST.TranslationUnit s) + public void AddSpecializations(global::CppSharp.Parser.AST.ClassTemplateSpecialization s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddTranslationUnits((__Instance + __PointerAdjustment), __arg0); + __Internal.AddSpecializations((__Instance + __PointerAdjustment), __arg0); } - public void ClearTranslationUnits() + public void ClearSpecializations() { - __Internal.ClearTranslationUnits((__Instance + __PointerAdjustment)); + __Internal.ClearSpecializations((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.ClassTemplateSpecialization FindSpecialization(string usr) + { + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, usr); + var __arg0 = __basicString0.__Instance; + var __ret = __Internal.FindSpecialization((__Instance + __PointerAdjustment), __arg0); + __basicString0.Dispose(false); + global::CppSharp.Parser.AST.ClassTemplateSpecialization __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.ClassTemplateSpecialization) global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.ClassTemplateSpecialization.__CreateInstance(__ret); + return __result0; + } + + public global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization FindPartialSpecialization(string usr) + { + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, usr); + var __arg0 = __basicString0.__Instance; + var __ret = __Internal.FindPartialSpecialization((__Instance + __PointerAdjustment), __arg0); + __basicString0.Dispose(false); + global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization) global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__CreateInstance(__ret); + return __result0; } - public uint TranslationUnitsCount + public uint SpecializationsCount { get { - var __ret = __Internal.GetTranslationUnitsCount((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetSpecializationsCount((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class Comment : IDisposable + public unsafe partial class ClassTemplateSpecialization : global::CppSharp.Parser.AST.Class, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 4)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 624)] + public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Comment@AST@CppParser@CppSharp@@QEAA@W4CommentKind@123@@Z")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.CommentKind kind); + [FieldOffset(4)] + internal int maxFieldAlignment; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Comment@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - } + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; - public global::System.IntPtr __Instance { get; protected set; } + [FieldOffset(16)] + internal global::System.IntPtr _namespace; - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; - protected bool __ownsNativeInstance; + [FieldOffset(28)] + internal int lineNumberStart; - internal static global::CppSharp.Parser.AST.Comment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Comment(native.ToPointer(), skipVTables); - } + [FieldOffset(32)] + internal int lineNumberEnd; - internal static global::CppSharp.Parser.AST.Comment __CreateInstance(global::CppSharp.Parser.AST.Comment.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.Comment(native, skipVTables); - } + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - private static void* __CopyValue(global::CppSharp.Parser.AST.Comment.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); - *(global::CppSharp.Parser.AST.Comment.__Internal*) ret = native; - return ret.ToPointer(); - } + [FieldOffset(72)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - private Comment(global::CppSharp.Parser.AST.Comment.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - protected Comment(void* native, bool skipVTables = false) - { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [FieldOffset(136)] + internal byte isIncomplete; - public Comment(global::CppSharp.Parser.AST.CommentKind kind) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), kind); - } + [FieldOffset(137)] + internal byte isDependent; - public Comment(global::CppSharp.Parser.AST.Comment _0) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.Comment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.Comment.__Internal*) _0.__Instance); - } + [FieldOffset(138)] + internal byte isImplicit; - public void Dispose() - { - Dispose(disposing: true); - } + [FieldOffset(139)] + internal byte isInvalid; - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Comment __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + [FieldOffset(144)] + internal global::System.IntPtr completeDeclaration; - public static implicit operator global::CppSharp.Parser.AST.Comment(global::CppSharp.Parser.AST.CommentKind kind) - { - return new global::CppSharp.Parser.AST.Comment(kind); - } + [FieldOffset(152)] + internal uint definitionOrder; - public global::CppSharp.Parser.AST.CommentKind Kind - { - get - { - return ((global::CppSharp.Parser.AST.Comment.__Internal*) __Instance)->kind; - } + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - set - { - ((global::CppSharp.Parser.AST.Comment.__Internal*)__Instance)->kind = value; - } - } - } + [FieldOffset(184)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - public unsafe partial class BlockContentComment : global::CppSharp.Parser.AST.Comment, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 4)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + [FieldOffset(208)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(216)] + internal global::System.IntPtr comment; + + [FieldOffset(224)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; + + [FieldOffset(248)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; + + [FieldOffset(272)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; + + [FieldOffset(296)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; + + [FieldOffset(320)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; + + [FieldOffset(344)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; + + [FieldOffset(368)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; + + [FieldOffset(392)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; + + [FieldOffset(416)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; + + [FieldOffset(440)] + internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + + [FieldOffset(456)] + internal byte isAnonymous; + + [FieldOffset(464)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BaseClassSpecifier___N_std_S_allocator__S0_ Bases; + + [FieldOffset(488)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Field___N_std_S_allocator__S0_ Fields; + + [FieldOffset(512)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_S_allocator__S0_ Methods; + + [FieldOffset(536)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_AccessSpecifierDecl___N_std_S_allocator__S0_ Specifiers; + + [FieldOffset(560)] + internal byte isPOD; + + [FieldOffset(561)] + internal byte isAbstract; + + [FieldOffset(562)] + internal byte isUnion; + + [FieldOffset(563)] + internal byte isDynamic; + + [FieldOffset(564)] + internal byte isPolymorphic; + + [FieldOffset(565)] + internal byte hasNonTrivialDefaultConstructor; + + [FieldOffset(566)] + internal byte hasNonTrivialCopyConstructor; + + [FieldOffset(567)] + internal byte hasNonTrivialDestructor; + + [FieldOffset(568)] + internal byte isExternCContext; + + [FieldOffset(569)] + internal byte isInjected; + + [FieldOffset(576)] + internal global::System.IntPtr layout; + + [FieldOffset(584)] + internal global::System.IntPtr templatedDecl; + + [FieldOffset(592)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; + + [FieldOffset(616)] + internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0BlockContentComment@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0ClassTemplateSpecialization@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0BlockContentComment@AST@CppParser@CppSharp@@QEAA@W4CommentKind@123@@Z")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.CommentKind Kind); + EntryPoint="??0ClassTemplateSpecialization@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1ClassTemplateSpecialization@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getArguments@ClassTemplateSpecialization@AST@CppParser@CppSharp@@QEAA?AUTemplateArgument@234@I@Z")] + internal static extern void GetArguments(global::System.IntPtr __instance, global::System.IntPtr @return, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?addArguments@ClassTemplateSpecialization@AST@CppParser@CppSharp@@QEAAXAEAUTemplateArgument@234@@Z")] + internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?clearArguments@ClassTemplateSpecialization@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearArguments(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0BlockContentComment@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + EntryPoint="?getArgumentsCount@ClassTemplateSpecialization@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.BlockContentComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.ClassTemplateSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BlockContentComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.ClassTemplateSpecialization(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.BlockContentComment __CreateInstance(global::CppSharp.Parser.AST.BlockContentComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.ClassTemplateSpecialization __CreateInstance(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BlockContentComment(native, skipVTables); + return new global::CppSharp.Parser.AST.ClassTemplateSpecialization(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.BlockContentComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); - *(global::CppSharp.Parser.AST.BlockContentComment.__Internal*) ret = native; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); + global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private BlockContentComment(global::CppSharp.Parser.AST.BlockContentComment.__Internal native, bool skipVTables = false) + private ClassTemplateSpecialization(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected BlockContentComment(void* native, bool skipVTables = false) + protected ClassTemplateSpecialization(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -14480,111 +14811,294 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public BlockContentComment() + public ClassTemplateSpecialization() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public BlockContentComment(global::CppSharp.Parser.AST.CommentKind Kind) + public ClassTemplateSpecialization(global::CppSharp.Parser.AST.ClassTemplateSpecialization _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), Kind); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public BlockContentComment(global::CppSharp.Parser.AST.BlockContentComment _0) - : this((void*) null) + public override void Dispose(bool disposing) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.BlockContentComment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BlockContentComment.__Internal*) _0.__Instance); + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) + { + var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); + __Internal.GetArguments((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); + return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); + } + + public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearArguments() + { + __Internal.ClearArguments((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.ClassTemplate TemplatedDecl + { + get + { + global::CppSharp.Parser.AST.ClassTemplate __result0; + if (((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ClassTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl)) + __result0 = (global::CppSharp.Parser.AST.ClassTemplate) global::CppSharp.Parser.AST.ClassTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl]; + else __result0 = global::CppSharp.Parser.AST.ClassTemplate.__CreateInstance(((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*)__Instance)->templatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind + { + get + { + return ((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->specializationKind; + } + + set + { + ((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*)__Instance)->specializationKind = value; + } + } + + public uint ArgumentsCount + { + get + { + var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); + return __ret; + } } + } + + public unsafe partial class ClassTemplatePartialSpecialization : global::CppSharp.Parser.AST.ClassTemplateSpecialization, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 624)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(72)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(136)] + internal byte isIncomplete; + + [FieldOffset(137)] + internal byte isDependent; + + [FieldOffset(138)] + internal byte isImplicit; + + [FieldOffset(139)] + internal byte isInvalid; + + [FieldOffset(144)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(152)] + internal uint definitionOrder; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(184)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(208)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(216)] + internal global::System.IntPtr comment; + + [FieldOffset(224)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; + + [FieldOffset(248)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; + + [FieldOffset(272)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; + + [FieldOffset(296)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; + + [FieldOffset(320)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; + + [FieldOffset(344)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; + + [FieldOffset(368)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; + + [FieldOffset(392)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; + + [FieldOffset(416)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; + + [FieldOffset(440)] + internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + + [FieldOffset(456)] + internal byte isAnonymous; + + [FieldOffset(464)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BaseClassSpecifier___N_std_S_allocator__S0_ Bases; + + [FieldOffset(488)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Field___N_std_S_allocator__S0_ Fields; + + [FieldOffset(512)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_S_allocator__S0_ Methods; + + [FieldOffset(536)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_AccessSpecifierDecl___N_std_S_allocator__S0_ Specifiers; + + [FieldOffset(560)] + internal byte isPOD; + + [FieldOffset(561)] + internal byte isAbstract; + + [FieldOffset(562)] + internal byte isUnion; + + [FieldOffset(563)] + internal byte isDynamic; + + [FieldOffset(564)] + internal byte isPolymorphic; + + [FieldOffset(565)] + internal byte hasNonTrivialDefaultConstructor; + + [FieldOffset(566)] + internal byte hasNonTrivialCopyConstructor; + + [FieldOffset(567)] + internal byte hasNonTrivialDestructor; + + [FieldOffset(568)] + internal byte isExternCContext; + + [FieldOffset(569)] + internal byte isInjected; + + [FieldOffset(576)] + internal global::System.IntPtr layout; - public static implicit operator global::CppSharp.Parser.AST.BlockContentComment(global::CppSharp.Parser.AST.CommentKind Kind) - { - return new global::CppSharp.Parser.AST.BlockContentComment(Kind); - } - } + [FieldOffset(584)] + internal global::System.IntPtr templatedDecl; - public unsafe partial class FullComment : global::CppSharp.Parser.AST.Comment, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 32)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + [FieldOffset(592)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; - [FieldOffset(8)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BlockContentComment___N_std_S_allocator__S0_ Blocks; + [FieldOffset(616)] + internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0FullComment@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0ClassTemplatePartialSpecialization@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0FullComment@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0ClassTemplatePartialSpecialization@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1FullComment@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??1ClassTemplatePartialSpecialization@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern void dtor(global::System.IntPtr __instance, int delete); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getBlocks@FullComment@AST@CppParser@CppSharp@@QEAAPEAVBlockContentComment@234@I@Z")] - internal static extern global::System.IntPtr GetBlocks(global::System.IntPtr __instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addBlocks@FullComment@AST@CppParser@CppSharp@@QEAAXAEAPEAVBlockContentComment@234@@Z")] - internal static extern void AddBlocks(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearBlocks@FullComment@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearBlocks(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getBlocksCount@FullComment@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetBlocksCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.FullComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FullComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.FullComment __CreateInstance(global::CppSharp.Parser.AST.FullComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization __CreateInstance(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.FullComment(native, skipVTables); + return new global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.FullComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); - global::CppSharp.Parser.AST.FullComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); + global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private FullComment(global::CppSharp.Parser.AST.FullComment.__Internal native, bool skipVTables = false) + private ClassTemplatePartialSpecialization(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected FullComment(void* native, bool skipVTables = false) + protected ClassTemplatePartialSpecialization(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -14593,19 +15107,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public FullComment() + public ClassTemplatePartialSpecialization() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public FullComment(global::CppSharp.Parser.AST.FullComment _0) + public ClassTemplatePartialSpecialization(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -14618,7 +15132,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Comment __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -14626,222 +15140,148 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - - public global::CppSharp.Parser.AST.BlockContentComment GetBlocks(uint i) - { - var __ret = __Internal.GetBlocks((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.BlockContentComment __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.BlockContentComment.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.BlockContentComment) global::CppSharp.Parser.AST.BlockContentComment.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.BlockContentComment.__CreateInstance(__ret); - return __result0; - } - - public void AddBlocks(global::CppSharp.Parser.AST.BlockContentComment s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddBlocks((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearBlocks() - { - __Internal.ClearBlocks((__Instance + __PointerAdjustment)); - } - - public uint BlocksCount - { - get - { - var __ret = __Internal.GetBlocksCount((__Instance + __PointerAdjustment)); - return __ret; - } - } } - public unsafe partial class InlineContentComment : global::CppSharp.Parser.AST.Comment, IDisposable + public unsafe partial class FunctionTemplate : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 280)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal byte hasTrailingNewline; + internal int maxFieldAlignment; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0InlineContentComment@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0InlineContentComment@AST@CppParser@CppSharp@@QEAA@W4CommentKind@123@@Z")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.CommentKind Kind); + [FieldOffset(16)] + internal global::System.IntPtr _namespace; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0InlineContentComment@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - } + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; - internal static new global::CppSharp.Parser.AST.InlineContentComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.InlineContentComment(native.ToPointer(), skipVTables); - } + [FieldOffset(28)] + internal int lineNumberStart; - internal static global::CppSharp.Parser.AST.InlineContentComment __CreateInstance(global::CppSharp.Parser.AST.InlineContentComment.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.InlineContentComment(native, skipVTables); - } + [FieldOffset(32)] + internal int lineNumberEnd; - private static void* __CopyValue(global::CppSharp.Parser.AST.InlineContentComment.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal)); - *(global::CppSharp.Parser.AST.InlineContentComment.__Internal*) ret = native; - return ret.ToPointer(); - } + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - private InlineContentComment(global::CppSharp.Parser.AST.InlineContentComment.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [FieldOffset(72)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - protected InlineContentComment(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - public InlineContentComment() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + [FieldOffset(136)] + internal byte isIncomplete; - public InlineContentComment(global::CppSharp.Parser.AST.CommentKind Kind) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), Kind); - } + [FieldOffset(137)] + internal byte isDependent; - public InlineContentComment(global::CppSharp.Parser.AST.InlineContentComment _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.InlineContentComment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.InlineContentComment.__Internal*) _0.__Instance); - } + [FieldOffset(138)] + internal byte isImplicit; - public static implicit operator global::CppSharp.Parser.AST.InlineContentComment(global::CppSharp.Parser.AST.CommentKind Kind) - { - return new global::CppSharp.Parser.AST.InlineContentComment(Kind); - } + [FieldOffset(139)] + internal byte isInvalid; - public bool HasTrailingNewline - { - get - { - return ((global::CppSharp.Parser.AST.InlineContentComment.__Internal*) __Instance)->hasTrailingNewline != 0; - } + [FieldOffset(144)] + internal global::System.IntPtr completeDeclaration; - set - { - ((global::CppSharp.Parser.AST.InlineContentComment.__Internal*)__Instance)->hasTrailingNewline = (byte) (value ? 1 : 0); - } - } - } + [FieldOffset(152)] + internal uint definitionOrder; - public unsafe partial class ParagraphComment : global::CppSharp.Parser.AST.BlockContentComment, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 32)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - [FieldOffset(4)] - internal byte isWhitespace; + [FieldOffset(184)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - [FieldOffset(8)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_InlineContentComment___N_std_S_allocator__S0_ Content; + [FieldOffset(208)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(216)] + internal global::System.IntPtr comment; + + [FieldOffset(224)] + internal global::System.IntPtr TemplatedDecl; + + [FieldOffset(232)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; + + [FieldOffset(256)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_FunctionTemplateSpecialization___N_std_S_allocator__S0_ Specializations; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0ParagraphComment@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0FunctionTemplate@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0ParagraphComment@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0FunctionTemplate@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1ParagraphComment@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??1FunctionTemplate@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern void dtor(global::System.IntPtr __instance, int delete); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getContent@ParagraphComment@AST@CppParser@CppSharp@@QEAAPEAVInlineContentComment@234@I@Z")] - internal static extern global::System.IntPtr GetContent(global::System.IntPtr __instance, uint i); + EntryPoint="?getSpecializations@FunctionTemplate@AST@CppParser@CppSharp@@QEAAPEAVFunctionTemplateSpecialization@234@I@Z")] + internal static extern global::System.IntPtr GetSpecializations(global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addContent@ParagraphComment@AST@CppParser@CppSharp@@QEAAXAEAPEAVInlineContentComment@234@@Z")] - internal static extern void AddContent(global::System.IntPtr __instance, global::System.IntPtr s); + EntryPoint="?addSpecializations@FunctionTemplate@AST@CppParser@CppSharp@@QEAAXAEAPEAVFunctionTemplateSpecialization@234@@Z")] + internal static extern void AddSpecializations(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearContent@ParagraphComment@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearContent(global::System.IntPtr __instance); + EntryPoint="?clearSpecializations@FunctionTemplate@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearSpecializations(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getContentCount@ParagraphComment@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetContentCount(global::System.IntPtr __instance); + EntryPoint="?FindSpecialization@FunctionTemplate@AST@CppParser@CppSharp@@QEAAPEAVFunctionTemplateSpecialization@234@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z")] + internal static extern global::System.IntPtr FindSpecialization(global::System.IntPtr __instance, global::System.IntPtr usr); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getSpecializationsCount@FunctionTemplate@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetSpecializationsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.ParagraphComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.FunctionTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ParagraphComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.FunctionTemplate(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.ParagraphComment __CreateInstance(global::CppSharp.Parser.AST.ParagraphComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.FunctionTemplate __CreateInstance(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.ParagraphComment(native, skipVTables); + return new global::CppSharp.Parser.AST.FunctionTemplate(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ParagraphComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParagraphComment.__Internal)); - global::CppSharp.Parser.AST.ParagraphComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); + global::CppSharp.Parser.AST.FunctionTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private ParagraphComment(global::CppSharp.Parser.AST.ParagraphComment.__Internal native, bool skipVTables = false) + private FunctionTemplate(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected ParagraphComment(void* native, bool skipVTables = false) + protected FunctionTemplate(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -14850,19 +15290,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public ParagraphComment() + public FunctionTemplate() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParagraphComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public ParagraphComment(global::CppSharp.Parser.AST.ParagraphComment _0) + public FunctionTemplate(global::CppSharp.Parser.AST.FunctionTemplate _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParagraphComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -14875,7 +15315,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Comment __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -14884,283 +15324,158 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.InlineContentComment GetContent(uint i) + public global::CppSharp.Parser.AST.FunctionTemplateSpecialization GetSpecializations(uint i) { - var __ret = __Internal.GetContent((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.InlineContentComment __result0; + var __ret = __Internal.GetSpecializations((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0; if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.InlineContentComment.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.InlineContentComment) global::CppSharp.Parser.AST.InlineContentComment.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.InlineContentComment.__CreateInstance(__ret); + else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(__ret); return __result0; } - public void AddContent(global::CppSharp.Parser.AST.InlineContentComment s) + public void AddSpecializations(global::CppSharp.Parser.AST.FunctionTemplateSpecialization s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddContent((__Instance + __PointerAdjustment), __arg0); + __Internal.AddSpecializations((__Instance + __PointerAdjustment), __arg0); } - public void ClearContent() + public void ClearSpecializations() { - __Internal.ClearContent((__Instance + __PointerAdjustment)); + __Internal.ClearSpecializations((__Instance + __PointerAdjustment)); } - public bool IsWhitespace + public global::CppSharp.Parser.AST.FunctionTemplateSpecialization FindSpecialization(string usr) { - get - { - return ((global::CppSharp.Parser.AST.ParagraphComment.__Internal*) __Instance)->isWhitespace != 0; - } - - set - { - ((global::CppSharp.Parser.AST.ParagraphComment.__Internal*)__Instance)->isWhitespace = (byte) (value ? 1 : 0); - } + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, usr); + var __arg0 = __basicString0.__Instance; + var __ret = __Internal.FindSpecialization((__Instance + __PointerAdjustment), __arg0); + __basicString0.Dispose(false); + global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.FunctionTemplateSpecialization) global::CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(__ret); + return __result0; } - public uint ContentCount + public uint SpecializationsCount { get { - var __ret = __Internal.GetContentCount((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetSpecializationsCount((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class BlockCommandComment : global::CppSharp.Parser.AST.BlockContentComment, IDisposable + public unsafe partial class FunctionTemplateSpecialization : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 40)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 48)] + public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; - - [FieldOffset(4)] - internal uint commandId; + internal global::System.IntPtr _template; [FieldOffset(8)] - internal global::System.IntPtr paragraphComment; + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; - [FieldOffset(16)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_S_allocator__S0_ Arguments; + [FieldOffset(32)] + internal global::System.IntPtr specializedFunction; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0BlockCommandComment@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + [FieldOffset(40)] + internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0BlockCommandComment@AST@CppParser@CppSharp@@QEAA@W4CommentKind@123@@Z")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.CommentKind Kind); + EntryPoint="??0FunctionTemplateSpecialization@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0BlockCommandComment@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0FunctionTemplateSpecialization@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1BlockCommandComment@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??1FunctionTemplateSpecialization@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern void dtor(global::System.IntPtr __instance, int delete); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getArguments@BlockCommandComment@AST@CppParser@CppSharp@@QEAA?AVArgument@1234@I@Z")] + EntryPoint="?getArguments@FunctionTemplateSpecialization@AST@CppParser@CppSharp@@QEAA?AUTemplateArgument@234@I@Z")] internal static extern void GetArguments(global::System.IntPtr __instance, global::System.IntPtr @return, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addArguments@BlockCommandComment@AST@CppParser@CppSharp@@QEAAXAEAVArgument@1234@@Z")] - internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearArguments@BlockCommandComment@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearArguments(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getArgumentsCount@BlockCommandComment@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); - } - - public unsafe partial class Argument : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 32)] - public partial struct __Internal - { - [FieldOffset(0)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Argument@BlockCommandComment@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Argument@BlockCommandComment@AST@CppParser@CppSharp@@QEAA@AEBV01234@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1Argument@BlockCommandComment@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern void dtor(global::System.IntPtr __instance, int delete); - } - - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.BlockCommandComment.Argument __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.BlockCommandComment.Argument(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.BlockCommandComment.Argument __CreateInstance(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.BlockCommandComment.Argument(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal)); - global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private Argument(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected Argument(void* native, bool skipVTables = false) - { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public Argument() - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } - - public Argument(global::CppSharp.Parser.AST.BlockCommandComment.Argument _0) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } - - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.BlockCommandComment.Argument __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - - public string Text - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal*) __Instance)->text)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + EntryPoint="?addArguments@FunctionTemplateSpecialization@AST@CppParser@CppSharp@@QEAAXAEAUTemplateArgument@234@@Z")] + internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal*)__Instance)->text), value); - } - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?clearArguments@FunctionTemplateSpecialization@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearArguments(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getArgumentsCount@FunctionTemplateSpecialization@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.BlockCommandComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.FunctionTemplateSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BlockCommandComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.FunctionTemplateSpecialization(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.BlockCommandComment __CreateInstance(global::CppSharp.Parser.AST.BlockCommandComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.FunctionTemplateSpecialization __CreateInstance(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.BlockCommandComment(native, skipVTables); + return new global::CppSharp.Parser.AST.FunctionTemplateSpecialization(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.BlockCommandComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__Internal)); - global::CppSharp.Parser.AST.BlockCommandComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); + global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private BlockCommandComment(global::CppSharp.Parser.AST.BlockCommandComment.__Internal native, bool skipVTables = false) + private FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected BlockCommandComment(void* native, bool skipVTables = false) - : base((void*) null) + protected FunctionTemplateSpecialization(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public BlockCommandComment() - : this((void*) null) + public FunctionTemplateSpecialization() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public BlockCommandComment(global::CppSharp.Parser.AST.CommentKind Kind) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), Kind); - } - - public BlockCommandComment(global::CppSharp.Parser.AST.BlockCommandComment _0) - : this((void*) null) + public FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -15169,11 +15484,16 @@ namespace CppSharp __Internal.cctor((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Comment __dummy; + global::CppSharp.Parser.AST.FunctionTemplateSpecialization __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -15182,14 +15502,14 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.BlockCommandComment.Argument GetArguments(uint i) + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) { - var __ret = new global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal(); + var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); __Internal.GetArguments((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); - return global::CppSharp.Parser.AST.BlockCommandComment.Argument.__CreateInstance(__ret); + return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); } - public void AddArguments(global::CppSharp.Parser.AST.BlockCommandComment.Argument s) + public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); @@ -15202,39 +15522,52 @@ namespace CppSharp __Internal.ClearArguments((__Instance + __PointerAdjustment)); } - public static implicit operator global::CppSharp.Parser.AST.BlockCommandComment(global::CppSharp.Parser.AST.CommentKind Kind) + public global::CppSharp.Parser.AST.FunctionTemplate Template { - return new global::CppSharp.Parser.AST.BlockCommandComment(Kind); + get + { + global::CppSharp.Parser.AST.FunctionTemplate __result0; + if (((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.FunctionTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template)) + __result0 = (global::CppSharp.Parser.AST.FunctionTemplate) global::CppSharp.Parser.AST.FunctionTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template]; + else __result0 = global::CppSharp.Parser.AST.FunctionTemplate.__CreateInstance(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->_template); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*)__Instance)->_template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } } - public uint CommandId + public global::CppSharp.Parser.AST.Function SpecializedFunction { get { - return ((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*) __Instance)->commandId; + global::CppSharp.Parser.AST.Function __result0; + if (((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction)) + __result0 = (global::CppSharp.Parser.AST.Function) global::CppSharp.Parser.AST.Function.NativeToManagedMap[((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction]; + else __result0 = global::CppSharp.Parser.AST.Function.__CreateInstance(((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializedFunction); + return __result0; } set { - ((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*)__Instance)->commandId = value; + ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*)__Instance)->specializedFunction = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public global::CppSharp.Parser.AST.ParagraphComment ParagraphComment + public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind { get { - global::CppSharp.Parser.AST.ParagraphComment __result0; - if (((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*) __Instance)->paragraphComment == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.ParagraphComment.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*) __Instance)->paragraphComment)) - __result0 = (global::CppSharp.Parser.AST.ParagraphComment) global::CppSharp.Parser.AST.ParagraphComment.NativeToManagedMap[((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*) __Instance)->paragraphComment]; - else __result0 = global::CppSharp.Parser.AST.ParagraphComment.__CreateInstance(((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*) __Instance)->paragraphComment); - return __result0; + return ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializationKind; } set { - ((global::CppSharp.Parser.AST.BlockCommandComment.__Internal*)__Instance)->paragraphComment = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*)__Instance)->specializationKind = value; } } @@ -15248,227 +15581,151 @@ namespace CppSharp } } - public unsafe partial class ParamCommandComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable + public unsafe partial class VarTemplate : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 280)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal uint commandId; + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::System.IntPtr paragraphComment; + internal global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(16)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_S_allocator__S0_ Arguments; - - [FieldOffset(40)] - internal global::CppSharp.Parser.AST.ParamCommandComment.PassDirection direction; - - [FieldOffset(44)] - internal uint paramIndex; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0ParamCommandComment@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0ParamCommandComment@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1ParamCommandComment@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern void dtor(global::System.IntPtr __instance, int delete); - } + internal global::System.IntPtr _namespace; - public enum PassDirection - { - In = 0, - Out = 1, - InOut = 2 - } + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; - internal static new global::CppSharp.Parser.AST.ParamCommandComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.ParamCommandComment(native.ToPointer(), skipVTables); - } + [FieldOffset(28)] + internal int lineNumberStart; - internal static global::CppSharp.Parser.AST.ParamCommandComment __CreateInstance(global::CppSharp.Parser.AST.ParamCommandComment.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.ParamCommandComment(native, skipVTables); - } + [FieldOffset(32)] + internal int lineNumberEnd; - private static void* __CopyValue(global::CppSharp.Parser.AST.ParamCommandComment.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParamCommandComment.__Internal)); - global::CppSharp.Parser.AST.ParamCommandComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - private ParamCommandComment(global::CppSharp.Parser.AST.ParamCommandComment.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [FieldOffset(72)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - protected ParamCommandComment(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - public ParamCommandComment() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParamCommandComment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + [FieldOffset(136)] + internal byte isIncomplete; - public ParamCommandComment(global::CppSharp.Parser.AST.ParamCommandComment _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParamCommandComment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(137)] + internal byte isDependent; - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Comment __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + [FieldOffset(138)] + internal byte isImplicit; - public global::CppSharp.Parser.AST.ParamCommandComment.PassDirection Direction - { - get - { - return ((global::CppSharp.Parser.AST.ParamCommandComment.__Internal*) __Instance)->direction; - } + [FieldOffset(139)] + internal byte isInvalid; - set - { - ((global::CppSharp.Parser.AST.ParamCommandComment.__Internal*)__Instance)->direction = value; - } - } + [FieldOffset(144)] + internal global::System.IntPtr completeDeclaration; - public uint ParamIndex - { - get - { - return ((global::CppSharp.Parser.AST.ParamCommandComment.__Internal*) __Instance)->paramIndex; - } + [FieldOffset(152)] + internal uint definitionOrder; - set - { - ((global::CppSharp.Parser.AST.ParamCommandComment.__Internal*)__Instance)->paramIndex = value; - } - } - } + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - public unsafe partial class TParamCommandComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 64)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + [FieldOffset(184)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - [FieldOffset(4)] - internal uint commandId; + [FieldOffset(208)] + internal global::System.IntPtr originalPtr; - [FieldOffset(8)] - internal global::System.IntPtr paragraphComment; + [FieldOffset(216)] + internal global::System.IntPtr comment; - [FieldOffset(16)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_S_allocator__S0_ Arguments; + [FieldOffset(224)] + internal global::System.IntPtr TemplatedDecl; - [FieldOffset(40)] - internal global::Std.Vector.__Internalc__N_std_S_vector__i___N_std_S_allocator__i Position; + [FieldOffset(232)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Parameters; + + [FieldOffset(256)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_VarTemplateSpecialization___N_std_S_allocator__S0_ Specializations; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TParamCommandComment@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0VarTemplate@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TParamCommandComment@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0VarTemplate@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1TParamCommandComment@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??1VarTemplate@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern void dtor(global::System.IntPtr __instance, int delete); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getPosition@TParamCommandComment@AST@CppParser@CppSharp@@QEAAII@Z")] - internal static extern uint GetPosition(global::System.IntPtr __instance, uint i); + EntryPoint="?getSpecializations@VarTemplate@AST@CppParser@CppSharp@@QEAAPEAVVarTemplateSpecialization@234@I@Z")] + internal static extern global::System.IntPtr GetSpecializations(global::System.IntPtr __instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addPosition@TParamCommandComment@AST@CppParser@CppSharp@@QEAAXAEAI@Z")] - internal static extern void AddPosition(global::System.IntPtr __instance, uint* s); + EntryPoint="?addSpecializations@VarTemplate@AST@CppParser@CppSharp@@QEAAXAEAPEAVVarTemplateSpecialization@234@@Z")] + internal static extern void AddSpecializations(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearPosition@TParamCommandComment@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearPosition(global::System.IntPtr __instance); + EntryPoint="?clearSpecializations@VarTemplate@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearSpecializations(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getPositionCount@TParamCommandComment@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetPositionCount(global::System.IntPtr __instance); + EntryPoint="?FindSpecialization@VarTemplate@AST@CppParser@CppSharp@@QEAAPEAVVarTemplateSpecialization@234@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z")] + internal static extern global::System.IntPtr FindSpecialization(global::System.IntPtr __instance, global::System.IntPtr usr); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?FindPartialSpecialization@VarTemplate@AST@CppParser@CppSharp@@QEAAPEAVVarTemplatePartialSpecialization@234@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z")] + internal static extern global::System.IntPtr FindPartialSpecialization(global::System.IntPtr __instance, global::System.IntPtr usr); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getSpecializationsCount@VarTemplate@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetSpecializationsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.TParamCommandComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.VarTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TParamCommandComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.VarTemplate(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TParamCommandComment __CreateInstance(global::CppSharp.Parser.AST.TParamCommandComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VarTemplate __CreateInstance(global::CppSharp.Parser.AST.VarTemplate.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TParamCommandComment(native, skipVTables); + return new global::CppSharp.Parser.AST.VarTemplate(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TParamCommandComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplate.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TParamCommandComment.__Internal)); - global::CppSharp.Parser.AST.TParamCommandComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); + global::CppSharp.Parser.AST.VarTemplate.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TParamCommandComment(global::CppSharp.Parser.AST.TParamCommandComment.__Internal native, bool skipVTables = false) + private VarTemplate(global::CppSharp.Parser.AST.VarTemplate.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TParamCommandComment(void* native, bool skipVTables = false) + protected VarTemplate(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -15477,19 +15734,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TParamCommandComment() + public VarTemplate() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TParamCommandComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TParamCommandComment(global::CppSharp.Parser.AST.TParamCommandComment _0) + public VarTemplate(global::CppSharp.Parser.AST.VarTemplate _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TParamCommandComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -15502,7 +15759,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Comment __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -15511,228 +15768,211 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public uint GetPosition(uint i) + public global::CppSharp.Parser.AST.VarTemplateSpecialization GetSpecializations(uint i) { - var __ret = __Internal.GetPosition((__Instance + __PointerAdjustment), i); - return __ret; + var __ret = __Internal.GetSpecializations((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.VarTemplateSpecialization __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.VarTemplateSpecialization) global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.VarTemplateSpecialization.__CreateInstance(__ret); + return __result0; } - public void AddPosition(ref uint s) + public void AddSpecializations(global::CppSharp.Parser.AST.VarTemplateSpecialization s) { - fixed (uint* __s0 = &s) - { - var __arg0 = __s0; - __Internal.AddPosition((__Instance + __PointerAdjustment), __arg0); - } + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddSpecializations((__Instance + __PointerAdjustment), __arg0); } - public void ClearPosition() + public void ClearSpecializations() { - __Internal.ClearPosition((__Instance + __PointerAdjustment)); + __Internal.ClearSpecializations((__Instance + __PointerAdjustment)); } - public uint PositionCount + public global::CppSharp.Parser.AST.VarTemplateSpecialization FindSpecialization(string usr) + { + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, usr); + var __arg0 = __basicString0.__Instance; + var __ret = __Internal.FindSpecialization((__Instance + __PointerAdjustment), __arg0); + __basicString0.Dispose(false); + global::CppSharp.Parser.AST.VarTemplateSpecialization __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.VarTemplateSpecialization) global::CppSharp.Parser.AST.VarTemplateSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.VarTemplateSpecialization.__CreateInstance(__ret); + return __result0; + } + + public global::CppSharp.Parser.AST.VarTemplatePartialSpecialization FindPartialSpecialization(string usr) + { + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, usr); + var __arg0 = __basicString0.__Instance; + var __ret = __Internal.FindPartialSpecialization((__Instance + __PointerAdjustment), __arg0); + __basicString0.Dispose(false); + global::CppSharp.Parser.AST.VarTemplatePartialSpecialization __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.VarTemplatePartialSpecialization) global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__CreateInstance(__ret); + return __result0; + } + + public uint SpecializationsCount { get { - var __ret = __Internal.GetPositionCount((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetSpecializationsCount((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class VerbatimBlockLineComment : global::CppSharp.Parser.AST.Comment, IDisposable + public unsafe partial class VarTemplateSpecialization : global::CppSharp.Parser.AST.Variable, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 312)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; + internal global::CppSharp.Parser.AST.AccessSpecifier access; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0VerbatimBlockLineComment@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + [FieldOffset(16)] + internal global::System.IntPtr _namespace; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0VerbatimBlockLineComment@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1VerbatimBlockLineComment@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern void dtor(global::System.IntPtr __instance, int delete); - } + [FieldOffset(28)] + internal int lineNumberStart; - internal static new global::CppSharp.Parser.AST.VerbatimBlockLineComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.VerbatimBlockLineComment(native.ToPointer(), skipVTables); - } + [FieldOffset(32)] + internal int lineNumberEnd; - internal static global::CppSharp.Parser.AST.VerbatimBlockLineComment __CreateInstance(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.VerbatimBlockLineComment(native, skipVTables); - } + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - private static void* __CopyValue(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal)); - global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [FieldOffset(72)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - private VerbatimBlockLineComment(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - protected VerbatimBlockLineComment(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [FieldOffset(136)] + internal byte isIncomplete; - public VerbatimBlockLineComment() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + [FieldOffset(137)] + internal byte isDependent; - public VerbatimBlockLineComment(global::CppSharp.Parser.AST.VerbatimBlockLineComment _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(138)] + internal byte isImplicit; + + [FieldOffset(139)] + internal byte isInvalid; + + [FieldOffset(144)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(152)] + internal uint definitionOrder; - public override void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.Comment __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - public string Text - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal*) __Instance)->text)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + [FieldOffset(184)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal*)__Instance)->text), value); - } - } - } + [FieldOffset(208)] + internal global::System.IntPtr originalPtr; - public unsafe partial class VerbatimBlockComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 64)] - public new partial struct __Internal - { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + [FieldOffset(216)] + internal global::System.IntPtr comment; - [FieldOffset(4)] - internal uint commandId; + [FieldOffset(224)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; - [FieldOffset(8)] - internal global::System.IntPtr paragraphComment; + [FieldOffset(256)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [FieldOffset(16)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_S_allocator__S0_ Arguments; + [FieldOffset(272)] + internal global::System.IntPtr templatedDecl; - [FieldOffset(40)] - internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_VerbatimBlockLineComment___N_std_S_allocator__S0_ Lines; + [FieldOffset(280)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; + + [FieldOffset(304)] + internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0VerbatimBlockComment@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0VarTemplateSpecialization@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0VerbatimBlockComment@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0VarTemplateSpecialization@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1VerbatimBlockComment@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??1VarTemplateSpecialization@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern void dtor(global::System.IntPtr __instance, int delete); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getLines@VerbatimBlockComment@AST@CppParser@CppSharp@@QEAAPEAVVerbatimBlockLineComment@234@I@Z")] - internal static extern global::System.IntPtr GetLines(global::System.IntPtr __instance, uint i); + EntryPoint="?getArguments@VarTemplateSpecialization@AST@CppParser@CppSharp@@QEAA?AUTemplateArgument@234@I@Z")] + internal static extern void GetArguments(global::System.IntPtr __instance, global::System.IntPtr @return, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addLines@VerbatimBlockComment@AST@CppParser@CppSharp@@QEAAXAEAPEAVVerbatimBlockLineComment@234@@Z")] - internal static extern void AddLines(global::System.IntPtr __instance, global::System.IntPtr s); + EntryPoint="?addArguments@VarTemplateSpecialization@AST@CppParser@CppSharp@@QEAAXAEAUTemplateArgument@234@@Z")] + internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearLines@VerbatimBlockComment@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearLines(global::System.IntPtr __instance); + EntryPoint="?clearArguments@VarTemplateSpecialization@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearArguments(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getLinesCount@VerbatimBlockComment@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetLinesCount(global::System.IntPtr __instance); + EntryPoint="?getArgumentsCount@VarTemplateSpecialization@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.VerbatimBlockComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.VarTemplateSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VerbatimBlockComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.VarTemplateSpecialization(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.VerbatimBlockComment __CreateInstance(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VarTemplateSpecialization __CreateInstance(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VerbatimBlockComment(native, skipVTables); + return new global::CppSharp.Parser.AST.VarTemplateSpecialization(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal)); - global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); + global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private VerbatimBlockComment(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal native, bool skipVTables = false) + private VarTemplateSpecialization(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected VerbatimBlockComment(void* native, bool skipVTables = false) + protected VarTemplateSpecialization(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -15741,19 +15981,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public VerbatimBlockComment() + public VarTemplateSpecialization() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public VerbatimBlockComment(global::CppSharp.Parser.AST.VerbatimBlockComment _0) + public VarTemplateSpecialization(global::CppSharp.Parser.AST.VarTemplateSpecialization _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -15766,7 +16006,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Comment __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -15775,101 +16015,188 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.VerbatimBlockLineComment GetLines(uint i) + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) { - var __ret = __Internal.GetLines((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.VerbatimBlockLineComment __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.VerbatimBlockLineComment.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.VerbatimBlockLineComment) global::CppSharp.Parser.AST.VerbatimBlockLineComment.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.VerbatimBlockLineComment.__CreateInstance(__ret); - return __result0; + var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); + __Internal.GetArguments((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); + return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); } - public void AddLines(global::CppSharp.Parser.AST.VerbatimBlockLineComment s) + public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) { if (ReferenceEquals(s, null)) throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); var __arg0 = s.__Instance; - __Internal.AddLines((__Instance + __PointerAdjustment), __arg0); + __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); } - public void ClearLines() + public void ClearArguments() { - __Internal.ClearLines((__Instance + __PointerAdjustment)); + __Internal.ClearArguments((__Instance + __PointerAdjustment)); } - public uint LinesCount + public global::CppSharp.Parser.AST.VarTemplate TemplatedDecl { get { - var __ret = __Internal.GetLinesCount((__Instance + __PointerAdjustment)); + global::CppSharp.Parser.AST.VarTemplate __result0; + if (((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.VarTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl)) + __result0 = (global::CppSharp.Parser.AST.VarTemplate) global::CppSharp.Parser.AST.VarTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl]; + else __result0 = global::CppSharp.Parser.AST.VarTemplate.__CreateInstance(((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->templatedDecl); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*)__Instance)->templatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind + { + get + { + return ((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*) __Instance)->specializationKind; + } + + set + { + ((global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal*)__Instance)->specializationKind = value; + } + } + + public uint ArgumentsCount + { + get + { + var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class VerbatimLineComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable + public unsafe partial class VarTemplatePartialSpecialization : global::CppSharp.Parser.AST.VarTemplateSpecialization, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 72)] + [StructLayout(LayoutKind.Explicit, Size = 312)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal uint commandId; + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::System.IntPtr paragraphComment; + internal global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(16)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_S_allocator__S0_ Arguments; + internal global::System.IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(72)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(136)] + internal byte isIncomplete; + + [FieldOffset(137)] + internal byte isDependent; + + [FieldOffset(138)] + internal byte isImplicit; + + [FieldOffset(139)] + internal byte isInvalid; + + [FieldOffset(144)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(152)] + internal uint definitionOrder; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(184)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(208)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(216)] + internal global::System.IntPtr comment; + + [FieldOffset(224)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; + + [FieldOffset(256)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(272)] + internal global::System.IntPtr templatedDecl; + + [FieldOffset(280)] + internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_ Arguments; + + [FieldOffset(304)] + internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0VerbatimLineComment@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0VarTemplatePartialSpecialization@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0VerbatimLineComment@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0VarTemplatePartialSpecialization@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1VerbatimLineComment@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??1VarTemplatePartialSpecialization@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern void dtor(global::System.IntPtr __instance, int delete); } - internal static new global::CppSharp.Parser.AST.VerbatimLineComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.VarTemplatePartialSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VerbatimLineComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.VarTemplatePartialSpecialization(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.VerbatimLineComment __CreateInstance(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VarTemplatePartialSpecialization __CreateInstance(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.VerbatimLineComment(native, skipVTables); + return new global::CppSharp.Parser.AST.VarTemplatePartialSpecialization(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal)); - global::CppSharp.Parser.AST.VerbatimLineComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); + global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private VerbatimLineComment(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal native, bool skipVTables = false) + private VarTemplatePartialSpecialization(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected VerbatimLineComment(void* native, bool skipVTables = false) + protected VarTemplatePartialSpecialization(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -15878,19 +16205,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public VerbatimLineComment() + public VarTemplatePartialSpecialization() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public VerbatimLineComment(global::CppSharp.Parser.AST.VerbatimLineComment _0) + public VarTemplatePartialSpecialization(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -15903,7 +16230,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Comment __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -15911,230 +16238,150 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); __Instance = IntPtr.Zero; } - - public string Text - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VerbatimLineComment.__Internal*) __Instance)->text)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.VerbatimLineComment.__Internal*)__Instance)->text), value); - } - } } - public unsafe partial class InlineCommandComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable + public unsafe partial class Namespace : global::CppSharp.Parser.AST.DeclarationContext, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 472)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal byte hasTrailingNewline; + internal int maxFieldAlignment; [FieldOffset(8)] - internal uint commandId; - - [FieldOffset(12)] - internal global::CppSharp.Parser.AST.InlineCommandComment.RenderKind commentRenderKind; + internal global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(16)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_InlineCommandComment_S_Argument___N_std_S_allocator__S0_ Arguments; + internal global::System.IntPtr _namespace; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0InlineCommandComment@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0InlineCommandComment@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + [FieldOffset(28)] + internal int lineNumberStart; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1InlineCommandComment@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern void dtor(global::System.IntPtr __instance, int delete); + [FieldOffset(32)] + internal int lineNumberEnd; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getArguments@InlineCommandComment@AST@CppParser@CppSharp@@QEAA?AVArgument@1234@I@Z")] - internal static extern void GetArguments(global::System.IntPtr __instance, global::System.IntPtr @return, uint i); + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addArguments@InlineCommandComment@AST@CppParser@CppSharp@@QEAAXAEAVArgument@1234@@Z")] - internal static extern void AddArguments(global::System.IntPtr __instance, global::System.IntPtr s); + [FieldOffset(72)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearArguments@InlineCommandComment@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearArguments(global::System.IntPtr __instance); + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getArgumentsCount@InlineCommandComment@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetArgumentsCount(global::System.IntPtr __instance); - } + [FieldOffset(136)] + internal byte isIncomplete; - public enum RenderKind - { - RenderNormal = 0, - RenderBold = 1, - RenderMonospaced = 2, - RenderEmphasized = 3 - } + [FieldOffset(137)] + internal byte isDependent; - public unsafe partial class Argument : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 32)] - public partial struct __Internal - { - [FieldOffset(0)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; + [FieldOffset(138)] + internal byte isImplicit; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Argument@InlineCommandComment@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + [FieldOffset(139)] + internal byte isInvalid; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Argument@InlineCommandComment@AST@CppParser@CppSharp@@QEAA@AEBV01234@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + [FieldOffset(144)] + internal global::System.IntPtr completeDeclaration; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1Argument@InlineCommandComment@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern void dtor(global::System.IntPtr __instance, int delete); - } + [FieldOffset(152)] + internal uint definitionOrder; - public global::System.IntPtr __Instance { get; protected set; } + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; + [FieldOffset(184)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; - protected bool __ownsNativeInstance; + [FieldOffset(208)] + internal global::System.IntPtr originalPtr; - internal static global::CppSharp.Parser.AST.InlineCommandComment.Argument __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.InlineCommandComment.Argument(native.ToPointer(), skipVTables); - } + [FieldOffset(216)] + internal global::System.IntPtr comment; - internal static global::CppSharp.Parser.AST.InlineCommandComment.Argument __CreateInstance(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.InlineCommandComment.Argument(native, skipVTables); - } + [FieldOffset(224)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; - private static void* __CopyValue(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal)); - global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [FieldOffset(248)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; - private Argument(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [FieldOffset(272)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; - protected Argument(void* native, bool skipVTables = false) - { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [FieldOffset(296)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; - public Argument() - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); - } + [FieldOffset(320)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; - public Argument(global::CppSharp.Parser.AST.InlineCommandComment.Argument _0) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(344)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; - public void Dispose() - { - Dispose(disposing: true); - } + [FieldOffset(368)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.InlineCommandComment.Argument __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + [FieldOffset(392)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; - public string Text - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal*) __Instance)->text)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + [FieldOffset(416)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal*)__Instance)->text), value); - } - } + [FieldOffset(440)] + internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + + [FieldOffset(456)] + internal byte isAnonymous; + + [FieldOffset(464)] + internal byte isInline; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0Namespace@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0Namespace@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1Namespace@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); } - internal static new global::CppSharp.Parser.AST.InlineCommandComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.Namespace __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.InlineCommandComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.Namespace(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.InlineCommandComment __CreateInstance(global::CppSharp.Parser.AST.InlineCommandComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.Namespace __CreateInstance(global::CppSharp.Parser.AST.Namespace.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.InlineCommandComment(native, skipVTables); + return new global::CppSharp.Parser.AST.Namespace(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.InlineCommandComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Namespace.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.__Internal)); - global::CppSharp.Parser.AST.InlineCommandComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); + global::CppSharp.Parser.AST.Namespace.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private InlineCommandComment(global::CppSharp.Parser.AST.InlineCommandComment.__Internal native, bool skipVTables = false) + private Namespace(global::CppSharp.Parser.AST.Namespace.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected InlineCommandComment(void* native, bool skipVTables = false) + protected Namespace(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -16143,19 +16390,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public InlineCommandComment() + public Namespace() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public InlineCommandComment(global::CppSharp.Parser.AST.InlineCommandComment _0) + public Namespace(global::CppSharp.Parser.AST.Namespace _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -16168,7 +16415,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Comment __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -16177,369 +16424,223 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.InlineCommandComment.Argument GetArguments(uint i) - { - var __ret = new global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal(); - __Internal.GetArguments((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); - return global::CppSharp.Parser.AST.InlineCommandComment.Argument.__CreateInstance(__ret); - } - - public void AddArguments(global::CppSharp.Parser.AST.InlineCommandComment.Argument s) - { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddArguments((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearArguments() - { - __Internal.ClearArguments((__Instance + __PointerAdjustment)); - } - - public uint CommandId - { - get - { - return ((global::CppSharp.Parser.AST.InlineCommandComment.__Internal*) __Instance)->commandId; - } - - set - { - ((global::CppSharp.Parser.AST.InlineCommandComment.__Internal*)__Instance)->commandId = value; - } - } - - public global::CppSharp.Parser.AST.InlineCommandComment.RenderKind CommentRenderKind + public bool IsInline { get { - return ((global::CppSharp.Parser.AST.InlineCommandComment.__Internal*) __Instance)->commentRenderKind; + return ((global::CppSharp.Parser.AST.Namespace.__Internal*) __Instance)->isInline != 0; } set { - ((global::CppSharp.Parser.AST.InlineCommandComment.__Internal*)__Instance)->commentRenderKind = value; - } - } - - public uint ArgumentsCount - { - get - { - var __ret = __Internal.GetArgumentsCount((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.Namespace.__Internal*)__Instance)->isInline = (byte) (value ? 1 : 0); } } } - public unsafe partial class HTMLTagComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable + public unsafe partial class PreprocessedEntity : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 8)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 24)] + public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + internal global::CppSharp.Parser.AST.MacroLocation macroLocation; - [FieldOffset(4)] - internal byte hasTrailingNewline; + [FieldOffset(8)] + internal global::System.IntPtr originalPtr; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0HTMLTagComment@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0HTMLTagComment@AST@CppParser@CppSharp@@QEAA@W4CommentKind@123@@Z")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, global::CppSharp.Parser.AST.CommentKind Kind); + EntryPoint="??0PreprocessedEntity@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0HTMLTagComment@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0PreprocessedEntity@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); } - internal static new global::CppSharp.Parser.AST.HTMLTagComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected internal void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::CppSharp.Parser.AST.PreprocessedEntity __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.HTMLTagComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.PreprocessedEntity(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.HTMLTagComment __CreateInstance(global::CppSharp.Parser.AST.HTMLTagComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.PreprocessedEntity __CreateInstance(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.HTMLTagComment(native, skipVTables); + return new global::CppSharp.Parser.AST.PreprocessedEntity(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.HTMLTagComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal)); - *(global::CppSharp.Parser.AST.HTMLTagComment.__Internal*) ret = native; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); + *(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) ret = native; return ret.ToPointer(); } - private HTMLTagComment(global::CppSharp.Parser.AST.HTMLTagComment.__Internal native, bool skipVTables = false) + private PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected HTMLTagComment(void* native, bool skipVTables = false) - : base((void*) null) + protected PreprocessedEntity(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public HTMLTagComment() - : this((void*) null) + public PreprocessedEntity() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public HTMLTagComment(global::CppSharp.Parser.AST.CommentKind Kind) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment), Kind); - } - - public HTMLTagComment(global::CppSharp.Parser.AST.HTMLTagComment _0) - : this((void*) null) + public PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.HTMLTagComment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.HTMLTagComment.__Internal*) _0.__Instance); + *((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) _0.__Instance); } - public static implicit operator global::CppSharp.Parser.AST.HTMLTagComment(global::CppSharp.Parser.AST.CommentKind Kind) + public void Dispose() { - return new global::CppSharp.Parser.AST.HTMLTagComment(Kind); + Dispose(disposing: true); } - } - public unsafe partial class HTMLStartTagComment : global::CppSharp.Parser.AST.HTMLTagComment, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 64)] - public new partial struct __Internal + public virtual void Dispose(bool disposing) { - [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; - - [FieldOffset(4)] - internal byte hasTrailingNewline; - - [FieldOffset(8)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C tagName; - - [FieldOffset(40)] - internal global::Std.Vector.__Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_HTMLStartTagComment_S_Attribute___N_std_S_allocator__S0_ Attributes; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0HTMLStartTagComment@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0HTMLStartTagComment@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1HTMLStartTagComment@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern void dtor(global::System.IntPtr __instance, int delete); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getAttributes@HTMLStartTagComment@AST@CppParser@CppSharp@@QEAA?AVAttribute@1234@I@Z")] - internal static extern void GetAttributes(global::System.IntPtr __instance, global::System.IntPtr @return, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addAttributes@HTMLStartTagComment@AST@CppParser@CppSharp@@QEAAXAEAVAttribute@1234@@Z")] - internal static extern void AddAttributes(global::System.IntPtr __instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearAttributes@HTMLStartTagComment@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearAttributes(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getAttributesCount@HTMLStartTagComment@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetAttributesCount(global::System.IntPtr __instance); + if (__Instance == IntPtr.Zero) + return; + global::CppSharp.Parser.AST.PreprocessedEntity __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; } - public unsafe partial class Attribute : IDisposable + public global::CppSharp.Parser.AST.MacroLocation MacroLocation { - [StructLayout(LayoutKind.Explicit, Size = 64)] - public partial struct __Internal - { - [FieldOffset(0)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - - [FieldOffset(32)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C value; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Attribute@HTMLStartTagComment@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Attribute@HTMLStartTagComment@AST@CppParser@CppSharp@@QEAA@AEBV01234@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1Attribute@HTMLStartTagComment@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern void dtor(global::System.IntPtr __instance, int delete); - } - - public global::System.IntPtr __Instance { get; protected set; } - - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected internal void*[] __OriginalVTables; - - protected bool __ownsNativeInstance; - - internal static global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute __CreateInstance(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal native, bool skipVTables = false) + get { - return new global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute(native, skipVTables); + return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->macroLocation; } - private static void* __CopyValue(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal native) + set { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal)); - global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal.cctor(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); + ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*)__Instance)->macroLocation = value; } + } - private Attribute(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + public global::System.IntPtr OriginalPtr + { + get { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->originalPtr; } - protected Attribute(void* native, bool skipVTables = false) + set { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); + ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*)__Instance)->originalPtr = (global::System.IntPtr) value; } + } - public Attribute() + public global::CppSharp.Parser.AST.DeclarationKind Kind + { + get { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor((__Instance + __PointerAdjustment)); + return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->kind; } - public Attribute(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute _0) + set { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor((__Instance + __PointerAdjustment), __arg0); + ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*)__Instance)->kind = value; } + } + } - public void Dispose() - { - Dispose(disposing: true); - } + public unsafe partial class MacroDefinition : global::CppSharp.Parser.AST.PreprocessedEntity, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.MacroLocation macroLocation; - public virtual void Dispose(bool disposing) - { - if (__Instance == IntPtr.Zero) - return; - global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } + [FieldOffset(8)] + internal global::System.IntPtr originalPtr; - public string Name - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal*) __Instance)->name)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal*)__Instance)->name), value); - } - } + [FieldOffset(24)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - public string Value - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal*) __Instance)->value)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C expression; - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal*)__Instance)->value), value); - } - } + [FieldOffset(88)] + internal int lineNumberStart; + + [FieldOffset(92)] + internal int lineNumberEnd; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0MacroDefinition@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0MacroDefinition@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1MacroDefinition@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor(global::System.IntPtr __instance, int delete); } - internal static new global::CppSharp.Parser.AST.HTMLStartTagComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.MacroDefinition __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.HTMLStartTagComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.MacroDefinition(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.HTMLStartTagComment __CreateInstance(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.MacroDefinition __CreateInstance(global::CppSharp.Parser.AST.MacroDefinition.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.HTMLStartTagComment(native, skipVTables); + return new global::CppSharp.Parser.AST.MacroDefinition(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.MacroDefinition.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal)); - global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); + global::CppSharp.Parser.AST.MacroDefinition.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private HTMLStartTagComment(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal native, bool skipVTables = false) + private MacroDefinition(global::CppSharp.Parser.AST.MacroDefinition.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected HTMLStartTagComment(void* native, bool skipVTables = false) + protected MacroDefinition(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -16548,19 +16649,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public HTMLStartTagComment() + public MacroDefinition() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public HTMLStartTagComment(global::CppSharp.Parser.AST.HTMLStartTagComment _0) + public MacroDefinition(global::CppSharp.Parser.AST.MacroDefinition _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -16573,7 +16674,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Comment __dummy; + global::CppSharp.Parser.AST.PreprocessedEntity __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -16582,31 +16683,27 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute GetAttributes(uint i) - { - var __ret = new global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal(); - __Internal.GetAttributes((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); - return global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__CreateInstance(__ret); - } - - public void AddAttributes(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute s) + public string Name { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = s.__Instance; - __Internal.AddAttributes((__Instance + __PointerAdjustment), __arg0); - } + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->name)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } - public void ClearAttributes() - { - __Internal.ClearAttributes((__Instance + __PointerAdjustment)); + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->name), value); + } } - public string TagName + public string Expression { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal*) __Instance)->tagName)); + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->expression)); var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); __basicStringRet0.Dispose(false); return __stringRet0; @@ -16614,75 +16711,101 @@ namespace CppSharp set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal*)__Instance)->tagName), value); + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->expression), value); } } - public uint AttributesCount + public int LineNumberStart { get { - var __ret = __Internal.GetAttributesCount((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->lineNumberStart; + } + + set + { + ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->lineNumberStart = value; + } + } + + public int LineNumberEnd + { + get + { + return ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*) __Instance)->lineNumberEnd; + } + + set + { + ((global::CppSharp.Parser.AST.MacroDefinition.__Internal*)__Instance)->lineNumberEnd = value; } } } - public unsafe partial class HTMLEndTagComment : global::CppSharp.Parser.AST.HTMLTagComment, IDisposable + public unsafe partial class MacroExpansion : global::CppSharp.Parser.AST.PreprocessedEntity, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 96)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; - - [FieldOffset(4)] - internal byte hasTrailingNewline; + internal global::CppSharp.Parser.AST.MacroLocation macroLocation; [FieldOffset(8)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C tagName; + internal global::System.IntPtr originalPtr; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(24)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; + + [FieldOffset(88)] + internal global::System.IntPtr definition; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0HTMLEndTagComment@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0MacroExpansion@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0HTMLEndTagComment@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0MacroExpansion@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1HTMLEndTagComment@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??1MacroExpansion@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern void dtor(global::System.IntPtr __instance, int delete); } - internal static new global::CppSharp.Parser.AST.HTMLEndTagComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.MacroExpansion __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.HTMLEndTagComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.MacroExpansion(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.HTMLEndTagComment __CreateInstance(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.MacroExpansion __CreateInstance(global::CppSharp.Parser.AST.MacroExpansion.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.HTMLEndTagComment(native, skipVTables); + return new global::CppSharp.Parser.AST.MacroExpansion(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.MacroExpansion.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); - global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); + global::CppSharp.Parser.AST.MacroExpansion.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private HTMLEndTagComment(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal native, bool skipVTables = false) + private MacroExpansion(global::CppSharp.Parser.AST.MacroExpansion.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected HTMLEndTagComment(void* native, bool skipVTables = false) + protected MacroExpansion(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -16691,19 +16814,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public HTMLEndTagComment() + public MacroExpansion() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public HTMLEndTagComment(global::CppSharp.Parser.AST.HTMLEndTagComment _0) + public MacroExpansion(global::CppSharp.Parser.AST.MacroExpansion _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -16716,7 +16839,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Comment __dummy; + global::CppSharp.Parser.AST.PreprocessedEntity __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -16725,11 +16848,11 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public string TagName + public string Name { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal*) __Instance)->tagName)); + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->name)); var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); __basicStringRet0.Dispose(false); return __stringRet0; @@ -16737,66 +16860,216 @@ namespace CppSharp set { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal*)__Instance)->tagName), value); + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*)__Instance)->name), value); + } + } + + public string Text + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->text)); + var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); + __basicStringRet0.Dispose(false); + return __stringRet0; + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.MacroExpansion.__Internal*)__Instance)->text), value); + } + } + + public global::CppSharp.Parser.AST.MacroDefinition Definition + { + get + { + global::CppSharp.Parser.AST.MacroDefinition __result0; + if (((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition)) + __result0 = (global::CppSharp.Parser.AST.MacroDefinition) global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap[((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition]; + else __result0 = global::CppSharp.Parser.AST.MacroDefinition.__CreateInstance(((global::CppSharp.Parser.AST.MacroExpansion.__Internal*) __Instance)->definition); + return __result0; + } + + set + { + ((global::CppSharp.Parser.AST.MacroExpansion.__Internal*)__Instance)->definition = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class TextComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable + public unsafe partial class TranslationUnit : global::CppSharp.Parser.AST.Namespace, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 536)] public new partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.CommentKind kind; + internal global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal byte hasTrailingNewline; + internal int maxFieldAlignment; [FieldOffset(8)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal global::System.IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(72)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(136)] + internal byte isIncomplete; + + [FieldOffset(137)] + internal byte isDependent; + + [FieldOffset(138)] + internal byte isImplicit; + + [FieldOffset(139)] + internal byte isInvalid; + + [FieldOffset(144)] + internal global::System.IntPtr completeDeclaration; + + [FieldOffset(152)] + internal uint definitionOrder; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(184)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_ Redeclarations; + + [FieldOffset(208)] + internal global::System.IntPtr originalPtr; + + [FieldOffset(216)] + internal global::System.IntPtr comment; + + [FieldOffset(224)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_ Namespaces; + + [FieldOffset(248)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_ Enums; + + [FieldOffset(272)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_ Functions; + + [FieldOffset(296)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_ Classes; + + [FieldOffset(320)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_ Templates; + + [FieldOffset(344)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_ Typedefs; + + [FieldOffset(368)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_ TypeAliases; + + [FieldOffset(392)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_ Variables; + + [FieldOffset(416)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_ Friends; + + [FieldOffset(440)] + internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + + [FieldOffset(456)] + internal byte isAnonymous; + + [FieldOffset(464)] + internal byte isInline; + + [FieldOffset(472)] + internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C fileName; + + [FieldOffset(504)] + internal byte isSystemHeader; + + [FieldOffset(512)] + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_MacroDefinition___N_std_S_allocator__S0_ Macros; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TextComment@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0TranslationUnit@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TextComment@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0TranslationUnit@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1TextComment@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??1TranslationUnit@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern void dtor(global::System.IntPtr __instance, int delete); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getMacros@TranslationUnit@AST@CppParser@CppSharp@@QEAAPEAVMacroDefinition@234@I@Z")] + internal static extern global::System.IntPtr GetMacros(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?addMacros@TranslationUnit@AST@CppParser@CppSharp@@QEAAXAEAPEAVMacroDefinition@234@@Z")] + internal static extern void AddMacros(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?clearMacros@TranslationUnit@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearMacros(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getMacrosCount@TranslationUnit@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetMacrosCount(global::System.IntPtr __instance); } - internal static new global::CppSharp.Parser.AST.TextComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TranslationUnit __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TextComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.TranslationUnit(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.TextComment __CreateInstance(global::CppSharp.Parser.AST.TextComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TranslationUnit __CreateInstance(global::CppSharp.Parser.AST.TranslationUnit.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.TextComment(native, skipVTables); + return new global::CppSharp.Parser.AST.TranslationUnit(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TextComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TranslationUnit.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); - global::CppSharp.Parser.AST.TextComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); + global::CppSharp.Parser.AST.TranslationUnit.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TextComment(global::CppSharp.Parser.AST.TextComment.__Internal native, bool skipVTables = false) + private TranslationUnit(global::CppSharp.Parser.AST.TranslationUnit.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TextComment(void* native, bool skipVTables = false) + protected TranslationUnit(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -16805,19 +17078,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TextComment() + public TranslationUnit() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public TextComment(global::CppSharp.Parser.AST.TextComment _0) + public TranslationUnit(global::CppSharp.Parser.AST.TranslationUnit _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -16830,7 +17103,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.Comment __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -16839,106 +17112,168 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public string Text + public global::CppSharp.Parser.AST.MacroDefinition GetMacros(uint i) + { + var __ret = __Internal.GetMacros((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.MacroDefinition __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.MacroDefinition) global::CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.MacroDefinition.__CreateInstance(__ret); + return __result0; + } + + public void AddMacros(global::CppSharp.Parser.AST.MacroDefinition s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddMacros((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearMacros() + { + __Internal.ClearMacros((__Instance + __PointerAdjustment)); + } + + public string FileName { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TextComment.__Internal*) __Instance)->text)); + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TranslationUnit.__Internal*) __Instance)->fileName)); var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); __basicStringRet0.Dispose(false); return __stringRet0; } - set + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TranslationUnit.__Internal*)__Instance)->fileName), value); + } + } + + public bool IsSystemHeader + { + get + { + return ((global::CppSharp.Parser.AST.TranslationUnit.__Internal*) __Instance)->isSystemHeader != 0; + } + + set + { + ((global::CppSharp.Parser.AST.TranslationUnit.__Internal*)__Instance)->isSystemHeader = (byte) (value ? 1 : 0); + } + } + + public uint MacrosCount + { + get { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.TextComment.__Internal*)__Instance)->text), value); + var __ret = __Internal.GetMacrosCount((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class RawComment : IDisposable + public unsafe partial class ASTContext : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 80)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public partial struct __Internal { [FieldOffset(0)] - internal global::CppSharp.Parser.AST.RawCommentKind kind; - - [FieldOffset(8)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; - - [FieldOffset(40)] - internal global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C briefText; - - [FieldOffset(72)] - internal global::System.IntPtr fullCommentBlock; + internal global::Std.Vector.__Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TranslationUnit___N_std_S_allocator__S0_ TranslationUnits; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0RawComment@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0ASTContext@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0RawComment@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0ASTContext@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1RawComment@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??1ASTContext@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern void dtor(global::System.IntPtr __instance, int delete); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?FindOrCreateModule@ASTContext@AST@CppParser@CppSharp@@QEAAPEAVTranslationUnit@234@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z")] + internal static extern global::System.IntPtr FindOrCreateModule(global::System.IntPtr __instance, global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C File); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getTranslationUnits@ASTContext@AST@CppParser@CppSharp@@QEAAPEAVTranslationUnit@234@I@Z")] + internal static extern global::System.IntPtr GetTranslationUnits(global::System.IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?addTranslationUnits@ASTContext@AST@CppParser@CppSharp@@QEAAXAEAPEAVTranslationUnit@234@@Z")] + internal static extern void AddTranslationUnits(global::System.IntPtr __instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?clearTranslationUnits@ASTContext@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearTranslationUnits(global::System.IntPtr __instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getTranslationUnitsCount@ASTContext@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetTranslationUnitsCount(global::System.IntPtr __instance); } public global::System.IntPtr __Instance { get; protected set; } protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); protected internal void*[] __OriginalVTables; protected bool __ownsNativeInstance; - internal static global::CppSharp.Parser.AST.RawComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.ASTContext __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.RawComment(native.ToPointer(), skipVTables); + return new global::CppSharp.Parser.AST.ASTContext(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.RawComment __CreateInstance(global::CppSharp.Parser.AST.RawComment.__Internal native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.ASTContext __CreateInstance(global::CppSharp.Parser.AST.ASTContext.__Internal native, bool skipVTables = false) { - return new global::CppSharp.Parser.AST.RawComment(native, skipVTables); + return new global::CppSharp.Parser.AST.ASTContext(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.RawComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ASTContext.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); - global::CppSharp.Parser.AST.RawComment.__Internal.cctor(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); + global::CppSharp.Parser.AST.ASTContext.__Internal.cctor(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private RawComment(global::CppSharp.Parser.AST.RawComment.__Internal native, bool skipVTables = false) + private ASTContext(global::CppSharp.Parser.AST.ASTContext.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected RawComment(void* native, bool skipVTables = false) + protected ASTContext(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public RawComment() + public ASTContext() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor((__Instance + __PointerAdjustment)); } - public RawComment(global::CppSharp.Parser.AST.RawComment _0) + public ASTContext(global::CppSharp.Parser.AST.ASTContext _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -16956,7 +17291,7 @@ namespace CppSharp { if (__Instance == IntPtr.Zero) return; - global::CppSharp.Parser.AST.RawComment __dummy; + global::CppSharp.Parser.AST.ASTContext __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor((__Instance + __PointerAdjustment), 0); @@ -16965,66 +17300,51 @@ namespace CppSharp __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.RawCommentKind Kind + public global::CppSharp.Parser.AST.TranslationUnit FindOrCreateModule(string File) { - get - { - return ((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->kind; - } - - set - { - ((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->kind = value; - } + var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); + global::Std.BasicStringExtensions.Assign(__basicString0, File); + var __arg0 = *(global::Std.BasicString.__Internalc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C*) __basicString0.__Instance; + var __ret = __Internal.FindOrCreateModule((__Instance + __PointerAdjustment), __arg0); + __basicString0.Dispose(false); + global::CppSharp.Parser.AST.TranslationUnit __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.TranslationUnit) global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.TranslationUnit.__CreateInstance(__ret); + return __result0; } - public string Text + public global::CppSharp.Parser.AST.TranslationUnit GetTranslationUnits(uint i) { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->text)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->text), value); - } + var __ret = __Internal.GetTranslationUnits((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.TranslationUnit __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.TranslationUnit) global::CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.TranslationUnit.__CreateInstance(__ret); + return __result0; } - public string BriefText + public void AddTranslationUnits(global::CppSharp.Parser.AST.TranslationUnit s) { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->briefText)); - var __stringRet0 = global::Std.BasicStringExtensions.CStr(__basicStringRet0); - __basicStringRet0.Dispose(false); - return __stringRet0; - } + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddTranslationUnits((__Instance + __PointerAdjustment), __arg0); + } - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new global::System.IntPtr(&((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->briefText), value); - } + public void ClearTranslationUnits() + { + __Internal.ClearTranslationUnits((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.FullComment FullCommentBlock + public uint TranslationUnitsCount { get { - global::CppSharp.Parser.AST.FullComment __result0; - if (((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.FullComment.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock)) - __result0 = (global::CppSharp.Parser.AST.FullComment) global::CppSharp.Parser.AST.FullComment.NativeToManagedMap[((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock]; - else __result0 = global::CppSharp.Parser.AST.FullComment.__CreateInstance(((global::CppSharp.Parser.AST.RawComment.__Internal*) __Instance)->fullCommentBlock); - return __result0; - } - - set - { - ((global::CppSharp.Parser.AST.RawComment.__Internal*)__Instance)->fullCommentBlock = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + var __ret = __Internal.GetTranslationUnitsCount((__Instance + __PointerAdjustment)); + return __ret; } } } @@ -17032,99 +17352,6 @@ namespace CppSharp } } -namespace CppSharp -{ - namespace Parser - { - public unsafe partial struct SourceLocation - { - [StructLayout(LayoutKind.Explicit, Size = 4)] - public partial struct __Internal - { - [FieldOffset(0)] - internal uint ID; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0SourceLocation@CppParser@CppSharp@@QEAA@XZ")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0SourceLocation@CppParser@CppSharp@@QEAA@I@Z")] - internal static extern global::System.IntPtr ctor(global::System.IntPtr __instance, uint ID); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0SourceLocation@CppParser@CppSharp@@QEAA@AEBU012@@Z")] - internal static extern global::System.IntPtr cctor(global::System.IntPtr __instance, global::System.IntPtr _0); - } - - private SourceLocation.__Internal __instance; - internal SourceLocation.__Internal __Instance { get { return __instance; } } - - internal static global::CppSharp.Parser.SourceLocation __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new global::CppSharp.Parser.SourceLocation(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.SourceLocation __CreateInstance(global::CppSharp.Parser.SourceLocation.__Internal native, bool skipVTables = false) - { - return new global::CppSharp.Parser.SourceLocation(native, skipVTables); - } - - private SourceLocation(global::CppSharp.Parser.SourceLocation.__Internal native, bool skipVTables = false) - : this() - { - __instance = native; - } - - private SourceLocation(void* native, bool skipVTables = false) : this() - { - __instance = *(global::CppSharp.Parser.SourceLocation.__Internal*) native; - } - - public SourceLocation(uint ID) - : this() - { - fixed (__Internal* __instancePtr = &__instance) - { - __Internal.ctor(new global::System.IntPtr(__instancePtr), ID); - } - } - - public SourceLocation(global::CppSharp.Parser.SourceLocation _0) - : this() - { - var ____arg0 = _0.__Instance; - var __arg0 = new global::System.IntPtr(&____arg0); - fixed (__Internal* __instancePtr = &__instance) - { - __Internal.cctor(new global::System.IntPtr(__instancePtr), __arg0); - } - } - - public static implicit operator global::CppSharp.Parser.SourceLocation(uint ID) - { - return new global::CppSharp.Parser.SourceLocation(ID); - } - - public uint ID - { - get - { - return __instance.ID; - } - - set - { - __instance.ID = value; - } - } - } - } -} - namespace CppSharp { namespace Parser diff --git a/src/CppParser/Bindings/CSharp/x86_64-pc-win32-msvc/Std.cs b/src/CppParser/Bindings/CSharp/x86_64-pc-win32-msvc/Std.cs index 6c48e5a7..868daca9 100644 --- a/src/CppParser/Bindings/CSharp/x86_64-pc-win32-msvc/Std.cs +++ b/src/CppParser/Bindings/CSharp/x86_64-pc-win32-msvc/Std.cs @@ -294,7 +294,7 @@ namespace Std } [StructLayout(LayoutKind.Explicit, Size = 24)] - public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Expression___N_std_S__Vector_val____N_std_S__Simple_types__S1__Vb1 + public unsafe partial struct __Internalc__N_std_S__Compressed_pair____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_ExpressionObsolete___N_std_S__Vector_val____N_std_S__Simple_types__S1__Vb1 { [FieldOffset(0)] internal global::Std.VectorVal.__Internal _Myval2; @@ -823,10 +823,10 @@ namespace Std } [StructLayout(LayoutKind.Explicit, Size = 24)] - public unsafe partial struct __Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expression___N_std_S_allocator__S0_ + public unsafe partial struct __Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_ExpressionObsolete___N_std_S_allocator__S0_ { [FieldOffset(0)] - internal global::Std.CompressedPair.__Internalc__N_std_S__Compressed_pair____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Expression___N_std_S__Vector_val____N_std_S__Simple_types__S1__Vb1 _Mypair; + internal global::Std.CompressedPair.__Internalc__N_std_S__Compressed_pair____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_ExpressionObsolete___N_std_S__Vector_val____N_std_S__Simple_types__S1__Vb1 _Mypair; } [StructLayout(LayoutKind.Explicit, Size = 24)] diff --git a/src/CppParser/Decl.h b/src/CppParser/Decl.h index 530b99b0..ede5df0f 100644 --- a/src/CppParser/Decl.h +++ b/src/CppParser/Decl.h @@ -182,7 +182,7 @@ public: Declaration* declaration; }; -enum class StatementClass +enum class StatementClassObsolete { Any, BinaryOperator, @@ -194,47 +194,47 @@ enum class StatementClass ExplicitCastExpr, }; -class CS_API Statement +class CS_API StatementObsolete { public: - Statement(const std::string& str, StatementClass Class = StatementClass::Any, Declaration* decl = 0); - StatementClass _class; + StatementObsolete(const std::string& str, StatementClassObsolete Class = StatementClassObsolete::Any, Declaration* decl = 0); + StatementClassObsolete _class; Declaration* decl; std::string string; }; -class CS_API Expression : public Statement +class CS_API ExpressionObsolete : public StatementObsolete { public: - Expression(const std::string& str, StatementClass Class = StatementClass::Any, Declaration* decl = 0); + ExpressionObsolete(const std::string& str, StatementClassObsolete Class = StatementClassObsolete::Any, Declaration* decl = 0); }; class Expr; -class CS_API BinaryOperator : public Expression +class CS_API BinaryOperatorObsolete : public ExpressionObsolete { public: - BinaryOperator(const std::string& str, Expression* lhs, Expression* rhs, const std::string& opcodeStr); - ~BinaryOperator(); - Expression* LHS; - Expression* RHS; + BinaryOperatorObsolete(const std::string& str, ExpressionObsolete* lhs, ExpressionObsolete* rhs, const std::string& opcodeStr); + ~BinaryOperatorObsolete(); + ExpressionObsolete* LHS; + ExpressionObsolete* RHS; std::string opcodeStr; }; -class CS_API CallExpr : public Expression +class CS_API CallExprObsolete : public ExpressionObsolete { public: - CallExpr(const std::string& str, Declaration* decl); - ~CallExpr(); - VECTOR(Expression*, Arguments) + CallExprObsolete(const std::string& str, Declaration* decl); + ~CallExprObsolete(); + VECTOR(ExpressionObsolete*, Arguments) }; -class CS_API CXXConstructExpr : public Expression +class CS_API CXXConstructExprObsolete : public ExpressionObsolete { public: - CXXConstructExpr(const std::string& str, Declaration* decl = 0); - ~CXXConstructExpr(); - VECTOR(Expression*, Arguments) + CXXConstructExprObsolete(const std::string& str, Declaration* decl = 0); + ~CXXConstructExprObsolete(); + VECTOR(ExpressionObsolete*, Arguments) }; class CS_API Parameter : public Declaration @@ -247,7 +247,7 @@ public: bool isIndirect; bool hasDefaultValue; unsigned int index; - Expression* defaultArgument; + ExpressionObsolete* defaultArgument; Expr* defaultArgumentNew; }; @@ -626,7 +626,7 @@ public: NonTypeTemplateParameter(); NonTypeTemplateParameter(const NonTypeTemplateParameter&); ~NonTypeTemplateParameter(); - Expression* defaultArgument; + ExpressionObsolete* defaultArgument; Expr* defaultArgumentNew; unsigned int position; bool isPackExpansion; diff --git a/src/CppParser/Parser.cpp b/src/CppParser/Parser.cpp index 6fed223f..900f42e1 100644 --- a/src/CppParser/Parser.cpp +++ b/src/CppParser/Parser.cpp @@ -3512,7 +3512,7 @@ void Parser::HandlePreprocessedEntities(Declaration* Decl) } } -AST::Expression* Parser::WalkExpression(const clang::Expr* Expr) +AST::ExpressionObsolete* Parser::WalkExpression(const clang::Expr* Expr) { using namespace clang; @@ -3521,14 +3521,14 @@ AST::Expression* Parser::WalkExpression(const clang::Expr* Expr) case clang::Stmt::BinaryOperatorClass: { auto BinaryOperator = cast(Expr); - return new AST::BinaryOperator(GetStringFromStatement(Expr), + return new AST::BinaryOperatorObsolete(GetStringFromStatement(Expr), WalkExpression(BinaryOperator->getLHS()), WalkExpression(BinaryOperator->getRHS()), BinaryOperator->getOpcodeStr().str()); } case clang::Stmt::CallExprClass: { auto CallExpr = cast(Expr); - auto CallExpression = new AST::CallExpr(GetStringFromStatement(Expr), + auto CallExpression = new AST::CallExprObsolete(GetStringFromStatement(Expr), CallExpr->getCalleeDecl() ? WalkDeclaration(CallExpr->getCalleeDecl()) : 0); for (auto arg : CallExpr->arguments()) { @@ -3537,7 +3537,7 @@ AST::Expression* Parser::WalkExpression(const clang::Expr* Expr) return CallExpression; } case clang::Stmt::DeclRefExprClass: - return new AST::Expression(GetStringFromStatement(Expr), StatementClass::DeclRefExprClass, + return new AST::ExpressionObsolete(GetStringFromStatement(Expr), StatementClassObsolete::DeclRefExprClass, WalkDeclaration(cast(Expr)->getDecl())); case clang::Stmt::CStyleCastExprClass: case clang::Stmt::CXXConstCastExprClass: @@ -3550,7 +3550,7 @@ AST::Expression* Parser::WalkExpression(const clang::Expr* Expr) case clang::Stmt::CXXOperatorCallExprClass: { auto OperatorCallExpr = cast(Expr); - return new AST::Expression(GetStringFromStatement(Expr), StatementClass::CXXOperatorCallExpr, + return new AST::ExpressionObsolete(GetStringFromStatement(Expr), StatementClassObsolete::CXXOperatorCallExpr, OperatorCallExpr->getCalleeDecl() ? WalkDeclaration(OperatorCallExpr->getCalleeDecl()) : 0); } case clang::Stmt::CXXConstructExprClass: @@ -3569,11 +3569,11 @@ AST::Expression* Parser::WalkExpression(const clang::Expr* Expr) (Cast->getSubExprAsWritten()->getStmtClass() != clang::Stmt::IntegerLiteralClass && Cast->getSubExprAsWritten()->getStmtClass() != clang::Stmt::CXXNullPtrLiteralExprClass)) return WalkExpression(SubTemporaryExpr); - return new AST::CXXConstructExpr(GetStringFromStatement(Expr), + return new AST::CXXConstructExprObsolete(GetStringFromStatement(Expr), WalkDeclaration(ConstructorExpr->getConstructor())); } } - auto ConstructorExpression = new AST::CXXConstructExpr(GetStringFromStatement(Expr), + auto ConstructorExpression = new AST::CXXConstructExprObsolete(GetStringFromStatement(Expr), WalkDeclaration(ConstructorExpr->getConstructor())); for (auto arg : ConstructorExpr->arguments()) { @@ -3596,8 +3596,8 @@ AST::Expression* Parser::WalkExpression(const clang::Expr* Expr) Expr->getStmtClass() != clang::Stmt::UnaryExprOrTypeTraitExprClass && !Expr->isValueDependent() && Expr->EvaluateAsInt(integer, c->getASTContext())) - return new AST::Expression(integer.Val.getInt().toString(10)); - return new AST::Expression(GetStringFromStatement(Expr)); + return new AST::ExpressionObsolete(integer.Val.getInt().toString(10)); + return new AST::ExpressionObsolete(GetStringFromStatement(Expr)); } std::string Parser::GetStringFromStatement(const clang::Stmt* Statement) diff --git a/src/CppParser/Parser.h b/src/CppParser/Parser.h index 2ee75dc6..f1906fcc 100644 --- a/src/CppParser/Parser.h +++ b/src/CppParser/Parser.h @@ -118,7 +118,7 @@ private: VTableComponent WalkVTableComponent(const clang::VTableComponent& Component); PreprocessedEntity* WalkPreprocessedEntity(Declaration* Decl, clang::PreprocessedEntity* PPEntity); - AST::Expression* WalkExpression(const clang::Expr* Expression); + AST::ExpressionObsolete* WalkExpression(const clang::Expr* Expression); std::string GetStringFromStatement(const clang::Stmt* Statement); std::string GetFunctionBody(const clang::FunctionDecl* FD); diff --git a/src/Parser/ASTConverter.cs b/src/Parser/ASTConverter.cs index 5de265e8..46ac5b6a 100644 --- a/src/Parser/ASTConverter.cs +++ b/src/Parser/ASTConverter.cs @@ -1121,7 +1121,7 @@ namespace CppSharp return _param; } - private AST.Expression VisitStatement(Statement statement) + private AST.Expression VisitStatement(StatementObsolete statement) { if (statement == null) return null; @@ -1129,14 +1129,14 @@ namespace CppSharp AST.Expression expression; switch (statement.Class) { - case StatementClass.BinaryOperator: - var binaryOperator = BinaryOperator.__CreateInstance(statement.__Instance); + case StatementClassObsolete.BinaryOperator: + var binaryOperator = BinaryOperatorObsolete.__CreateInstance(statement.__Instance); expression = new AST.BinaryOperator(VisitStatement(binaryOperator.LHS), VisitStatement(binaryOperator.RHS), binaryOperator.OpcodeStr); break; - case StatementClass.CallExprClass: + case StatementClassObsolete.CallExprClass: var callExpression = new AST.CallExpr(); - var callExpr = CallExpr.__CreateInstance(statement.__Instance); + var callExpr = CallExprObsolete.__CreateInstance(statement.__Instance); for (uint i = 0; i < callExpr.ArgumentsCount; i++) { var argument = VisitStatement(callExpr.GetArguments(i)); @@ -1144,17 +1144,17 @@ namespace CppSharp } expression = callExpression; break; - case StatementClass.DeclRefExprClass: + case StatementClassObsolete.DeclRefExprClass: expression = new AST.BuiltinTypeExpression(); expression.Class = AST.StatementClass.DeclarationReference; break; - case StatementClass.CXXOperatorCallExpr: + case StatementClassObsolete.CXXOperatorCallExpr: expression = new AST.BuiltinTypeExpression(); expression.Class = AST.StatementClass.CXXOperatorCall; break; - case StatementClass.CXXConstructExprClass: + case StatementClassObsolete.CXXConstructExprClass: var constructorExpression = new AST.CXXConstructExpr(); - var constructorExpr = CXXConstructExpr.__CreateInstance(statement.__Instance); + var constructorExpr = CXXConstructExprObsolete.__CreateInstance(statement.__Instance); for (uint i = 0; i < constructorExpr.ArgumentsCount; i++) { var argument = VisitStatement(constructorExpr.GetArguments(i));