Skip to content

Commit

Permalink
Implement native ClassTemplatePartialSpecialization.Parameters + ASTC…
Browse files Browse the repository at this point in the history
…onverter
  • Loading branch information
deadlocklogic committed Dec 17, 2023
1 parent e2e0317 commit bf6a660
Show file tree
Hide file tree
Showing 17 changed files with 1,364 additions and 970 deletions.
49 changes: 49 additions & 0 deletions src/CppParser/Bindings/CLI/Decl.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4514,6 +4514,26 @@ CppSharp::Parser::AST::ClassTemplatePartialSpecialization::ClassTemplatePartialS
NativePtr = new class ::CppSharp::CppParser::AST::ClassTemplatePartialSpecialization();
}

CppSharp::Parser::AST::Declaration^ CppSharp::Parser::AST::ClassTemplatePartialSpecialization::GetParameters(unsigned int i)
{
auto ___ret = ((class ::CppSharp::CppParser::AST::ClassTemplatePartialSpecialization*)NativePtr)->getParameters(i);
if (___ret == nullptr) return nullptr;
return (___ret == nullptr) ? nullptr : gcnew ::CppSharp::Parser::AST::Declaration((class ::CppSharp::CppParser::AST::Declaration*)___ret);
}

void CppSharp::Parser::AST::ClassTemplatePartialSpecialization::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 = (class ::CppSharp::CppParser::AST::Declaration*)s->NativePtr;
((class ::CppSharp::CppParser::AST::ClassTemplatePartialSpecialization*)NativePtr)->addParameters(__arg0);
}

void CppSharp::Parser::AST::ClassTemplatePartialSpecialization::ClearParameters()
{
((class ::CppSharp::CppParser::AST::ClassTemplatePartialSpecialization*)NativePtr)->clearParameters();
}

CppSharp::Parser::AST::ClassTemplatePartialSpecialization::ClassTemplatePartialSpecialization(CppSharp::Parser::AST::ClassTemplatePartialSpecialization^ _0)
: CppSharp::Parser::AST::ClassTemplateSpecialization((::CppSharp::CppParser::AST::ClassTemplateSpecialization*)nullptr)
{
Expand All @@ -4524,6 +4544,35 @@ CppSharp::Parser::AST::ClassTemplatePartialSpecialization::ClassTemplatePartialS
NativePtr = new class ::CppSharp::CppParser::AST::ClassTemplatePartialSpecialization(__arg0);
}

::System::Collections::Generic::List<CppSharp::Parser::AST::Declaration^>^ CppSharp::Parser::AST::ClassTemplatePartialSpecialization::Parameters::get()
{
auto _tmp__Parameters = gcnew ::System::Collections::Generic::List<CppSharp::Parser::AST::Declaration^>();
auto __list0 = ((class ::CppSharp::CppParser::AST::ClassTemplatePartialSpecialization*)NativePtr)->Parameters;
for(auto _element : __list0)
{
auto _marshalElement = (_element == nullptr) ? nullptr : gcnew ::CppSharp::Parser::AST::Declaration((class ::CppSharp::CppParser::AST::Declaration*)_element);
_tmp__Parameters->Add(_marshalElement);
}
return _tmp__Parameters;
}

void CppSharp::Parser::AST::ClassTemplatePartialSpecialization::Parameters::set(::System::Collections::Generic::List<CppSharp::Parser::AST::Declaration^>^ value)
{
auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::Declaration*>();
for each(CppSharp::Parser::AST::Declaration^ _element in value)
{
auto _marshalElement = (class ::CppSharp::CppParser::AST::Declaration*)_element->NativePtr;
_tmpvalue.push_back(_marshalElement);
}
((class ::CppSharp::CppParser::AST::ClassTemplatePartialSpecialization*)NativePtr)->Parameters = _tmpvalue;
}

unsigned int CppSharp::Parser::AST::ClassTemplatePartialSpecialization::ParametersCount::get()
{
auto ___ret = ((class ::CppSharp::CppParser::AST::ClassTemplatePartialSpecialization*)NativePtr)->getParametersCount();
return ___ret;
}

CppSharp::Parser::AST::FunctionTemplate::FunctionTemplate(class ::CppSharp::CppParser::AST::FunctionTemplate* native)
: CppSharp::Parser::AST::Template((::CppSharp::CppParser::AST::Template*)native)
{
Expand Down
17 changes: 17 additions & 0 deletions src/CppParser/Bindings/CLI/Decl.h
Original file line number Diff line number Diff line change
Expand Up @@ -2205,6 +2205,23 @@ namespace CppSharp
ClassTemplatePartialSpecialization(CppSharp::Parser::AST::ClassTemplatePartialSpecialization^ _0);

~ClassTemplatePartialSpecialization();

property ::System::Collections::Generic::List<CppSharp::Parser::AST::Declaration^>^ Parameters
{
::System::Collections::Generic::List<CppSharp::Parser::AST::Declaration^>^ get();
void set(::System::Collections::Generic::List<CppSharp::Parser::AST::Declaration^>^);
}

property unsigned int ParametersCount
{
unsigned int get();
}

CppSharp::Parser::AST::Declaration^ GetParameters(unsigned int i);

void AddParameters(CppSharp::Parser::AST::Declaration^ s);

void ClearParameters();
};

public ref class FunctionTemplate : CppSharp::Parser::AST::Template
Expand Down
Loading

0 comments on commit bf6a660

Please sign in to comment.