Skip to content

Commit c6768bc

Browse files
committed
Fix C4099 (class as struct) in generated C++/CLI
Signed-off-by: Dimitar Dobrev <[email protected]>
1 parent 8d8c67d commit c6768bc

File tree

18 files changed

+4325
-4306
lines changed

18 files changed

+4325
-4306
lines changed

src/AST/Class.cs

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,28 @@ public class Class : DeclarationContext
9797

9898
public TagKind TagKind { get; set; }
9999

100+
public string Tag
101+
{
102+
get
103+
{
104+
switch (TagKind)
105+
{
106+
case TagKind.Struct:
107+
return "struct";
108+
case TagKind.Interface:
109+
return "__interface";
110+
case TagKind.Union:
111+
return "union";
112+
case TagKind.Class:
113+
return "class";
114+
case TagKind.Enum:
115+
return "enum";
116+
default:
117+
throw new ArgumentOutOfRangeException(nameof(TagKind));
118+
}
119+
}
120+
}
121+
100122
// True if the class is final / sealed.
101123
public bool IsFinal { get; set; }
102124

src/CppParser/Bindings/CLI/AST.cpp

Lines changed: 299 additions & 299 deletions
Large diffs are not rendered by default.

src/CppParser/Bindings/CLI/AST.h

Lines changed: 48 additions & 48 deletions
Large diffs are not rendered by default.

src/CppParser/Bindings/CLI/CppParser.cpp

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -360,12 +360,12 @@ void CppSharp::Parser::CppParserOptions::SupportedStdTypes::set(::System::Collec
360360

361361
CppSharp::Parser::AST::ASTContext^ CppSharp::Parser::CppParserOptions::ASTContext::get()
362362
{
363-
return (NativePtr->ASTContext == nullptr) ? nullptr : gcnew ::CppSharp::Parser::AST::ASTContext((struct ::CppSharp::CppParser::AST::ASTContext*)NativePtr->ASTContext);
363+
return (NativePtr->ASTContext == nullptr) ? nullptr : gcnew ::CppSharp::Parser::AST::ASTContext((class ::CppSharp::CppParser::AST::ASTContext*)NativePtr->ASTContext);
364364
}
365365

366366
void CppSharp::Parser::CppParserOptions::ASTContext::set(CppSharp::Parser::AST::ASTContext^ value)
367367
{
368-
((struct ::CppSharp::CppParser::CppParserOptions*)NativePtr)->ASTContext = (struct ::CppSharp::CppParser::AST::ASTContext*)value->NativePtr;
368+
((struct ::CppSharp::CppParser::CppParserOptions*)NativePtr)->ASTContext = (class ::CppSharp::CppParser::AST::ASTContext*)value->NativePtr;
369369
}
370370

371371
int CppSharp::Parser::CppParserOptions::ToolSetToUse::get()
@@ -880,14 +880,14 @@ CppSharp::Parser::AST::NativeLibrary^ CppSharp::Parser::ParserResult::GetLibrari
880880
{
881881
auto __ret = ((struct ::CppSharp::CppParser::ParserResult*)NativePtr)->getLibraries(i);
882882
if (__ret == nullptr) return nullptr;
883-
return (__ret == nullptr) ? nullptr : gcnew ::CppSharp::Parser::AST::NativeLibrary((struct ::CppSharp::CppParser::AST::NativeLibrary*)__ret);
883+
return (__ret == nullptr) ? nullptr : gcnew ::CppSharp::Parser::AST::NativeLibrary((class ::CppSharp::CppParser::AST::NativeLibrary*)__ret);
884884
}
885885

886886
void CppSharp::Parser::ParserResult::AddLibraries(CppSharp::Parser::AST::NativeLibrary^ s)
887887
{
888888
if (ReferenceEquals(s, nullptr))
889889
throw gcnew ::System::ArgumentNullException("s", "Cannot be null because it is a C++ reference (&).");
890-
auto __arg0 = (struct ::CppSharp::CppParser::AST::NativeLibrary*)s->NativePtr;
890+
auto __arg0 = (class ::CppSharp::CppParser::AST::NativeLibrary*)s->NativePtr;
891891
((struct ::CppSharp::CppParser::ParserResult*)NativePtr)->addLibraries(__arg0);
892892
}
893893

@@ -948,7 +948,7 @@ ::System::Collections::Generic::List<CppSharp::Parser::AST::NativeLibrary^>^ Cpp
948948
auto __list0 = NativePtr->Libraries;
949949
for(auto _element : __list0)
950950
{
951-
auto _marshalElement = (_element == nullptr) ? nullptr : gcnew ::CppSharp::Parser::AST::NativeLibrary((struct ::CppSharp::CppParser::AST::NativeLibrary*)_element);
951+
auto _marshalElement = (_element == nullptr) ? nullptr : gcnew ::CppSharp::Parser::AST::NativeLibrary((class ::CppSharp::CppParser::AST::NativeLibrary*)_element);
952952
_tmp__Libraries->Add(_marshalElement);
953953
}
954954
return _tmp__Libraries;
@@ -959,7 +959,7 @@ void CppSharp::Parser::ParserResult::Libraries::set(::System::Collections::Gener
959959
auto _tmpvalue = std::vector<::CppSharp::CppParser::AST::NativeLibrary*>();
960960
for each(CppSharp::Parser::AST::NativeLibrary^ _element in value)
961961
{
962-
auto _marshalElement = (struct ::CppSharp::CppParser::AST::NativeLibrary*)_element->NativePtr;
962+
auto _marshalElement = (class ::CppSharp::CppParser::AST::NativeLibrary*)_element->NativePtr;
963963
_tmpvalue.push_back(_marshalElement);
964964
}
965965
((struct ::CppSharp::CppParser::ParserResult*)NativePtr)->Libraries = _tmpvalue;
@@ -987,26 +987,26 @@ unsigned int CppSharp::Parser::ParserResult::LibrariesCount::get()
987987
return __ret;
988988
}
989989

990-
CppSharp::Parser::ClangParser::ClangParser(struct ::CppSharp::CppParser::ClangParser* native)
990+
CppSharp::Parser::ClangParser::ClangParser(class ::CppSharp::CppParser::ClangParser* native)
991991
: __ownsNativeInstance(false)
992992
{
993993
NativePtr = native;
994994
}
995995

996996
CppSharp::Parser::ClangParser^ CppSharp::Parser::ClangParser::__CreateInstance(::System::IntPtr native)
997997
{
998-
return gcnew ::CppSharp::Parser::ClangParser((struct ::CppSharp::CppParser::ClangParser*) native.ToPointer());
998+
return gcnew ::CppSharp::Parser::ClangParser((class ::CppSharp::CppParser::ClangParser*) native.ToPointer());
999999
}
10001000

1001-
CppSharp::Parser::ClangParser::ClangParser(struct ::CppSharp::CppParser::ClangParser* native, bool ownNativeInstance)
1001+
CppSharp::Parser::ClangParser::ClangParser(class ::CppSharp::CppParser::ClangParser* native, bool ownNativeInstance)
10021002
: __ownsNativeInstance(ownNativeInstance)
10031003
{
10041004
NativePtr = native;
10051005
}
10061006

10071007
CppSharp::Parser::ClangParser^ CppSharp::Parser::ClangParser::__CreateInstance(::System::IntPtr native, bool __ownsNativeInstance)
10081008
{
1009-
return gcnew ::CppSharp::Parser::ClangParser((struct ::CppSharp::CppParser::ClangParser*) native.ToPointer(), __ownsNativeInstance);
1009+
return gcnew ::CppSharp::Parser::ClangParser((class ::CppSharp::CppParser::ClangParser*) native.ToPointer(), __ownsNativeInstance);
10101010
}
10111011

10121012
CppSharp::Parser::ClangParser::~ClangParser()
@@ -1033,16 +1033,16 @@ CppSharp::Parser::ParserResult^ CppSharp::Parser::ClangParser::ParseLibrary(CppS
10331033
CppSharp::Parser::ClangParser::ClangParser()
10341034
{
10351035
__ownsNativeInstance = true;
1036-
NativePtr = new struct ::CppSharp::CppParser::ClangParser();
1036+
NativePtr = new class ::CppSharp::CppParser::ClangParser();
10371037
}
10381038

10391039
CppSharp::Parser::ClangParser::ClangParser(CppSharp::Parser::ClangParser^ _0)
10401040
{
10411041
__ownsNativeInstance = true;
10421042
if (ReferenceEquals(_0, nullptr))
10431043
throw gcnew ::System::ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&).");
1044-
auto &__arg0 = *(struct ::CppSharp::CppParser::ClangParser*)_0->NativePtr;
1045-
NativePtr = new struct ::CppSharp::CppParser::ClangParser(__arg0);
1044+
auto &__arg0 = *(class ::CppSharp::CppParser::ClangParser*)_0->NativePtr;
1045+
NativePtr = new class ::CppSharp::CppParser::ClangParser(__arg0);
10461046
}
10471047

10481048
::System::IntPtr CppSharp::Parser::ClangParser::__Instance::get()
@@ -1052,5 +1052,5 @@ ::System::IntPtr CppSharp::Parser::ClangParser::__Instance::get()
10521052

10531053
void CppSharp::Parser::ClangParser::__Instance::set(::System::IntPtr object)
10541054
{
1055-
NativePtr = (struct ::CppSharp::CppParser::ClangParser*)object.ToPointer();
1055+
NativePtr = (class ::CppSharp::CppParser::ClangParser*)object.ToPointer();
10561056
}

src/CppParser/Bindings/CLI/CppParser.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -485,15 +485,15 @@ namespace CppSharp
485485
{
486486
public:
487487

488-
property struct ::CppSharp::CppParser::ClangParser* NativePtr;
488+
property class ::CppSharp::CppParser::ClangParser* NativePtr;
489489
property ::System::IntPtr __Instance
490490
{
491491
virtual ::System::IntPtr get();
492492
virtual void set(::System::IntPtr instance);
493493
}
494494

495-
ClangParser(struct ::CppSharp::CppParser::ClangParser* native);
496-
ClangParser(struct ::CppSharp::CppParser::ClangParser* native, bool ownNativeInstance);
495+
ClangParser(class ::CppSharp::CppParser::ClangParser* native);
496+
ClangParser(class ::CppSharp::CppParser::ClangParser* native, bool ownNativeInstance);
497497
static ClangParser^ __CreateInstance(::System::IntPtr native);
498498
static ClangParser^ __CreateInstance(::System::IntPtr native, bool __ownsNativeInstance);
499499
ClangParser();

0 commit comments

Comments
 (0)