Don't create attributes for class members that are of private embedded class types #534

Test the class field type.  If the type is a private embedded class mark the field
as io=0 so we don't create attributes for the field.
This commit is contained in:
Alex Lin 2017-12-19 08:26:52 -06:00
parent c8619dbea7
commit 9509924b64

View File

@ -474,6 +474,12 @@ bool FieldVisitor::VisitRecordType(clang::RecordType *rt) {
return false ;
}
// If the type is a private embedded class there will not be any io_src code for the type. Don't create attributes
if ( CXXRecordVisitor::isPrivateEmbeddedClass(tst_string) ) {
//std::cout << "Type is a private embedded class!" << std::endl ;
fdes->setIO(0) ;
return false ;
}
/* Template specialization types will be processed here because the canonical type
will be typed as a record. We test if we have a template specialization type.
If so process the template type and return */