diff --git a/src/AST/Method.cs b/src/AST/Method.cs index 9a0c0817..ce335c4c 100644 --- a/src/AST/Method.cs +++ b/src/AST/Method.cs @@ -108,6 +108,7 @@ namespace CppSharp.AST public bool IsStatic { get; set; } public bool IsConst { get; set; } public bool IsImplicit { get; set; } + public bool IsExplicit { get; set; } public bool IsSynthetized { get; set; } public bool IsOverride { get; set; } public bool IsProxy { get; set; } diff --git a/src/CppParser/AST.h b/src/CppParser/AST.h index 346f7ccc..a6963afa 100644 --- a/src/CppParser/AST.h +++ b/src/CppParser/AST.h @@ -523,6 +523,7 @@ struct CS_API Method : public Function bool IsStatic; bool IsConst; bool IsImplicit; + bool IsExplicit; bool IsOverride; CXXMethodKind MethodKind; diff --git a/src/CppParser/Parser.cpp b/src/CppParser/Parser.cpp index aa0fe6b6..66fafabf 100644 --- a/src/CppParser/Parser.cpp +++ b/src/CppParser/Parser.cpp @@ -952,6 +952,7 @@ Method* Parser::WalkMethodCXX(clang::CXXMethodDecl* MD) Method->IsDefaultConstructor = CD->isDefaultConstructor(); Method->IsCopyConstructor = CD->isCopyConstructor(); Method->IsMoveConstructor = CD->isMoveConstructor(); + Method->IsExplicit = CD->isExplicit(); } else if (const CXXDestructorDecl* DD = dyn_cast(MD)) { diff --git a/src/Parser/Parser.cpp b/src/Parser/Parser.cpp index f2c76bf5..747be19c 100644 --- a/src/Parser/Parser.cpp +++ b/src/Parser/Parser.cpp @@ -956,6 +956,7 @@ CppSharp::AST::Method^ Parser::WalkMethodCXX(clang::CXXMethodDecl* MD) Method->IsDefaultConstructor = CD->isDefaultConstructor(); Method->IsCopyConstructor = CD->isCopyConstructor(); Method->IsMoveConstructor = CD->isMoveConstructor(); + Method->IsExplicit = CD->isExplicit(); } else if (const CXXDestructorDecl* DD = dyn_cast(MD)) {