Browse Source

Classes in AST now keep if they have non trivial copy constructors.

pull/45/merge
triton 12 years ago
parent
commit
02f5d0731a
  1. 3
      src/AST/Class.cs
  2. 1
      src/Parser/Parser.cpp

3
src/AST/Class.cs

@ -96,6 +96,9 @@ namespace CppSharp.AST
// True if the class is polymorphic. // True if the class is polymorphic.
public bool IsPolymorphic; public bool IsPolymorphic;
// True if the class has a non trivial copy constructor.
public bool HasNonTrivialCopyConstructor;
public Class() public Class()
{ {
Bases = new List<BaseClassSpecifier>(); Bases = new List<BaseClassSpecifier>();

1
src/Parser/Parser.cpp

@ -575,6 +575,7 @@ CppSharp::AST::Class^ Parser::WalkRecordCXX(clang::CXXRecordDecl* Record)
RC->IsDependent = Record->isDependentType(); RC->IsDependent = Record->isDependentType();
RC->IsDynamic = Record->isDynamicClass(); RC->IsDynamic = Record->isDynamicClass();
RC->IsPolymorphic = Record->isPolymorphic(); RC->IsPolymorphic = Record->isPolymorphic();
RC->HasNonTrivialCopyConstructor = Record->hasNonTrivialCopyConstructor();
auto &Sema = C->getSema(); auto &Sema = C->getSema();
Sema.ForceDeclarationOfImplicitMembers(Record); Sema.ForceDeclarationOfImplicitMembers(Record);

Loading…
Cancel
Save