diff --git a/src/AST/Class.cs b/src/AST/Class.cs index 2a43c236..aa756db2 100644 --- a/src/AST/Class.cs +++ b/src/AST/Class.cs @@ -96,6 +96,9 @@ namespace CppSharp.AST // True if the class is polymorphic. public bool IsPolymorphic; + // True if the class has a non trivial copy constructor. + public bool HasNonTrivialCopyConstructor; + public Class() { Bases = new List(); diff --git a/src/Parser/Parser.cpp b/src/Parser/Parser.cpp index 1e0a9eac..39dc07b6 100644 --- a/src/Parser/Parser.cpp +++ b/src/Parser/Parser.cpp @@ -575,6 +575,7 @@ CppSharp::AST::Class^ Parser::WalkRecordCXX(clang::CXXRecordDecl* Record) RC->IsDependent = Record->isDependentType(); RC->IsDynamic = Record->isDynamicClass(); RC->IsPolymorphic = Record->isPolymorphic(); + RC->HasNonTrivialCopyConstructor = Record->hasNonTrivialCopyConstructor(); auto &Sema = C->getSema(); Sema.ForceDeclarationOfImplicitMembers(Record);