#include <Annotatable.h>
Data Structures | |
| struct | void_ptr_hasher |
Public Types | |
| typedef dyn_hash_map< void *, void *, void_ptr_hasher > | annos_by_type_t |
| typedef std::vector < annos_by_type_t * > | annos_t |
Public Member Functions | |
| ~AnnotatableSparse () | |
| bool | operator== (AnnotatableSparse &cmp) |
| template<class T > | |
| AN_INLINE bool | addAnnotation (const T *a, AnnotationClass< T > &a_id) |
| template<class T > | |
| AN_INLINE bool | getAnnotation (T *&a, AnnotationClass< T > &a_id) const |
| template<class T > | |
| bool | removeAnnotation (AnnotationClass< T > &a_id) |
| void | serializeAnnotations (SerializerBase *sb, const char *) |
| void | annotationsReport () |
Private Member Functions | |
| annos_t * | getAnnos () const |
| annos_by_type_t * | getAnnosOfType (AnnotationClassID aid, bool do_create=false) const |
| template<class T > | |
| AN_INLINE annos_by_type_t * | getAnnosOfType (AnnotationClass< T > &a_id, bool do_create=false) const |
| void * | getAnnosForObject (annos_by_type_t *abt, void *obj, bool do_create=false) const |
| AN_INLINE bool | addAnnotation (const void *a, AnnotationClassID aid) |
Static Private Attributes | |
| static dyn_hash_map< void *, unsigned short > | ser_ndx_map |
Friends | |
| class | SerializerBase |
| class | Serializable |
| COMMON_EXPORT bool | add_annotations (SerializerBase *, AnnotatableSparse *, std::vector< ser_rec_t > &) |
Definition at line 484 of file Annotatable.h.
| typedef dyn_hash_map<void *, void *, void_ptr_hasher> Dyninst::AnnotatableSparse::annos_by_type_t |
Definition at line 505 of file Annotatable.h.
| typedef std::vector<annos_by_type_t *> Dyninst::AnnotatableSparse::annos_t |
Definition at line 508 of file Annotatable.h.
| Dyninst::AnnotatableSparse::~AnnotatableSparse | ( | ) | [inline] |
Definition at line 510 of file Annotatable.h.
References Dyninst::annotation_debug_flag(), FILE__, Dyninst::AnnotationClassBase::findAnnotationClass(), and fprintf.
| AN_INLINE bool Dyninst::AnnotatableSparse::addAnnotation | ( | const T * | a, | |
| AnnotationClass< T > & | a_id | |||
| ) | [inline] |
Definition at line 754 of file Annotatable.h.
References Dyninst::annotatable_printf(), FILE__, fprintf, Dyninst::getExistingOutputSB(), Dyninst::AnnotationClassBase::getID(), Dyninst::AnnotationClassBase::getName(), Dyninst::AnnotationClassBase::getSerializeFunc(), Dyninst::ser_operation(), Dyninst::serialize_post_annotation(), Dyninst::sp_add_anno, and Dyninst::sparse.
Referenced by Dyninst::SymtabAPI::parseStabString().
| AN_INLINE bool Dyninst::AnnotatableSparse::addAnnotation | ( | const void * | a, | |
| AnnotationClassID | aid | |||
| ) | [inline, private] |
Definition at line 624 of file Annotatable.h.
References Dyninst::annotatable_printf(), Dyninst::annotation_debug_flag(), FILE__, Dyninst::AnnotationClassBase::findAnnotationClass(), and fprintf.
Referenced by Dyninst::SymtabAPI::Function::addLocalVar(), Dyninst::SymtabAPI::Symtab::addUserRegion(), Dyninst::SymtabAPI::Symtab::addUserType(), Dyninst::SymtabAPI::Symtab::parseTypes(), Dyninst::SymtabAPI::Function::setupParams(), Dyninst::SymtabAPI::Symbol::setVersionFileName(), and Dyninst::SymtabAPI::Symbol::setVersions().
| void Dyninst::AnnotatableSparse::annotationsReport | ( | ) | [inline] |
Definition at line 932 of file Annotatable.h.
References FILE__, Dyninst::AnnotationClassBase::findAnnotationClass(), fprintf, and getTypeName().
| AnnotatableSparse::annos_t * AnnotatableSparse::getAnnos | ( | ) | const [private] |
Definition at line 56 of file Annotatable.C.
Referenced by operator==().
| void* Dyninst::AnnotatableSparse::getAnnosForObject | ( | annos_by_type_t * | abt, | |
| void * | obj, | |||
| bool | do_create = false | |||
| ) | const [inline, private] |
Definition at line 595 of file Annotatable.h.
| AN_INLINE annos_by_type_t* Dyninst::AnnotatableSparse::getAnnosOfType | ( | AnnotationClass< T > & | a_id, | |
| bool | do_create = false | |||
| ) | const [inline, private] |
Definition at line 587 of file Annotatable.h.
References Dyninst::AnnotationClassBase::getID().
| annos_by_type_t* Dyninst::AnnotatableSparse::getAnnosOfType | ( | AnnotationClassID | aid, | |
| bool | do_create = false | |||
| ) | const [inline, private] |
Definition at line 561 of file Annotatable.h.
| AN_INLINE bool Dyninst::AnnotatableSparse::getAnnotation | ( | T *& | a, | |
| AnnotationClass< T > & | a_id | |||
| ) | const [inline] |
Definition at line 818 of file Annotatable.h.
Referenced by Dyninst::SymtabAPI::Function::addLocalVar(), Dyninst::SymtabAPI::Function::addParam(), Dyninst::SymtabAPI::Symtab::addUserRegion(), Dyninst::SymtabAPI::Symtab::addUserType(), Dyninst::SymtabAPI::Function::findLocalVariable(), Dyninst::SymtabAPI::Symtab::getAllNewRegions(), Dyninst::SymtabAPI::Function::getLocalVariables(), Dyninst::SymtabAPI::Function::getParams(), Dyninst::SymtabAPI::Symbol::getVersionFileName(), Dyninst::SymtabAPI::Symbol::getVersions(), Dyninst::SymtabAPI::parseStabString(), Dyninst::SymtabAPI::Function::setupParams(), Dyninst::SymtabAPI::Symbol::setVersionFileName(), Dyninst::SymtabAPI::Symbol::setVersions(), Dyninst::SymtabAPI::Function::~Function(), Dyninst::SymtabAPI::Symbol::~Symbol(), and Dyninst::SymtabAPI::Symtab::~Symtab().
| bool Dyninst::AnnotatableSparse::operator== | ( | AnnotatableSparse & | cmp | ) | [inline] |
Definition at line 668 of file Annotatable.h.
References FILE__, Dyninst::AnnotationClassBase::findAnnotationClass(), fprintf, getAnnos(), and Dyninst::AnnotationClassBase::getCmpFunc().
| bool Dyninst::AnnotatableSparse::removeAnnotation | ( | AnnotationClass< T > & | a_id | ) | [inline] |
Definition at line 843 of file Annotatable.h.
References Dyninst::annotation_debug_flag(), FILE__, fprintf, Dyninst::AnnotationClassBase::getID(), and Dyninst::AnnotationClassBase::getName().
Referenced by Dyninst::SymtabAPI::Function::~Function(), and Dyninst::SymtabAPI::Symbol::~Symbol().
| void Dyninst::AnnotatableSparse::serializeAnnotations | ( | SerializerBase * | sb, | |
| const char * | ||||
| ) | [inline] |
Definition at line 869 of file Annotatable.h.
References Dyninst::ser_rec_t::acb, Dyninst::add_annotations(), Dyninst::ser_rec_t::data, FILE__, Dyninst::AnnotationClassBase::findAnnotationClass(), fprintf, Dyninst::get_serializer_index(), Dyninst::AnnotationClassBase::getSerializeFunc(), Dyninst::is_input(), Dyninst::is_output(), Dyninst::ser_rec_t::parent_id, Dyninst::serialize_annotation_list(), Dyninst::ser_rec_t::sod, and Dyninst::sparse.
| COMMON_EXPORT bool add_annotations | ( | SerializerBase * | , | |
| AnnotatableSparse * | , | |||
| std::vector< ser_rec_t > & | ||||
| ) | [friend] |
friend class Serializable [friend] |
Definition at line 487 of file Annotatable.h.
friend class SerializerBase [friend] |
Definition at line 486 of file Annotatable.h.
dyn_hash_map< void *, unsigned short > AnnotatableSparse::ser_ndx_map [static, private] |
Definition at line 559 of file Annotatable.h.
1.6.1