mirror of
https://github.com/nasa/trick.git
synced 2024-12-18 20:57:55 +00:00
Mark references as such in ICG
This commit is contained in:
parent
c0791b46d9
commit
8e3726eb98
@ -57,6 +57,7 @@ FieldDescription::FieldDescription(
|
||||
is_stl(0) ,
|
||||
has_stl_clear(1) ,
|
||||
is_static(0) ,
|
||||
is_reference(0) ,
|
||||
num_dims(0) ,
|
||||
array_sizes() {} ;
|
||||
|
||||
@ -543,6 +544,14 @@ bool FieldDescription::isStatic() {
|
||||
return is_static ;
|
||||
}
|
||||
|
||||
void FieldDescription::setReference(bool yes_no) {
|
||||
is_reference = yes_no ;
|
||||
}
|
||||
|
||||
bool FieldDescription::isReference() {
|
||||
return is_reference ;
|
||||
}
|
||||
|
||||
unsigned int FieldDescription::getNumDims() {
|
||||
return num_dims ;
|
||||
}
|
||||
|
@ -87,6 +87,8 @@ class FieldDescription : public ConstructValues {
|
||||
bool hasSTLClear() ;
|
||||
void setStatic( bool yes_no ) ;
|
||||
bool isStatic() ;
|
||||
void setReference( bool yes_no ) ;
|
||||
bool isReference() ;
|
||||
void setInherited( bool yes_no ) ;
|
||||
bool isInherited() ;
|
||||
void setVirtualInherited( bool yes_no ) ;
|
||||
@ -184,6 +186,9 @@ class FieldDescription : public ConstructValues {
|
||||
/** is this field declared static */
|
||||
bool is_static ;
|
||||
|
||||
/** is this field a reference type */
|
||||
bool is_reference ;
|
||||
|
||||
/** map of strings to io numbers. One copy for all fields */
|
||||
static std::map<std::string , unsigned int> io_map ;
|
||||
|
||||
|
@ -43,12 +43,12 @@ bool FieldVisitor::VisitType(clang::Type *t) {
|
||||
std::cout << "FieldVisitor VisitType Type = " << t->getTypeClassName() << std::endl ;
|
||||
t->dump() ;
|
||||
}
|
||||
// If this type is a reference, set IO to 0
|
||||
if ( t->isReferenceType() ) {
|
||||
if ( debug_level >= 3 ) {
|
||||
std::cout << "FieldVisitor VisitType found reference, setIO = 0 " << std::endl ;
|
||||
std::cout << "FieldVisitor VisitType found reference, setIO = 3 " << std::endl ;
|
||||
}
|
||||
fdes->setIO(0) ;
|
||||
fdes->setIO(3) ;
|
||||
fdes->setReference(true) ;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
@ -76,7 +76,7 @@ void PrintFileContents10::print_field_attr(std::ostream & ostream , FieldDescri
|
||||
ostream << ", sizeof(" << fdes.getTypeName() << ")" ;
|
||||
}
|
||||
ostream << ", 0, 0, Language_CPP" ; // range_min, range_max, language
|
||||
ostream << ", " << (fdes.isStatic() << 1) + (fdes.isDashDashUnits() << 2) << "," << std::endl ; // mods
|
||||
ostream << ", " << fdes.isReference() + (fdes.isStatic() << 1) + (fdes.isDashDashUnits() << 2) << "," << std::endl ; // mods
|
||||
if ( fdes.isBitField() ) {
|
||||
// For bitfields we need the offset to start on 4 byte boundaries because that is what our
|
||||
// insert and extract bitfield routines work with.
|
||||
|
Loading…
Reference in New Issue
Block a user