|
|
|
@ -575,6 +575,9 @@ CppSharp::AST::Class^ Parser::WalkRecordCXX(clang::CXXRecordDecl* Record)
@@ -575,6 +575,9 @@ CppSharp::AST::Class^ Parser::WalkRecordCXX(clang::CXXRecordDecl* Record)
|
|
|
|
|
HandlePreprocessedEntities(RC, headRange, CppSharp::AST::MacroLocation::ClassHead); |
|
|
|
|
HandlePreprocessedEntities(RC, bodyRange, CppSharp::AST::MacroLocation::ClassBody); |
|
|
|
|
|
|
|
|
|
auto &Sema = C->getSema(); |
|
|
|
|
Sema.ForceDeclarationOfImplicitMembers(Record); |
|
|
|
|
|
|
|
|
|
RC->IsPOD = Record->isPOD(); |
|
|
|
|
RC->IsUnion = Record->isUnion(); |
|
|
|
|
RC->IsAbstract = Record->isAbstract(); |
|
|
|
@ -584,9 +587,6 @@ CppSharp::AST::Class^ Parser::WalkRecordCXX(clang::CXXRecordDecl* Record)
@@ -584,9 +587,6 @@ CppSharp::AST::Class^ Parser::WalkRecordCXX(clang::CXXRecordDecl* Record)
|
|
|
|
|
RC->HasNonTrivialDefaultConstructor = Record->hasNonTrivialDefaultConstructor(); |
|
|
|
|
RC->HasNonTrivialCopyConstructor = Record->hasNonTrivialCopyConstructor(); |
|
|
|
|
|
|
|
|
|
auto &Sema = C->getSema(); |
|
|
|
|
Sema.ForceDeclarationOfImplicitMembers(Record); |
|
|
|
|
|
|
|
|
|
bool hasLayout = !Record->isDependentType() && !Record->isInvalidDecl(); |
|
|
|
|
|
|
|
|
|
// Get the record layout information.
|
|
|
|
|