Dyninst::SymtabAPI::Statement Class Reference

#include <Module.h>

Inheritance diagram for Dyninst::SymtabAPI::Statement:
Dyninst::AnnotatableSparse Dyninst::Serializable

Data Structures

struct  StatementLess

Public Types

typedef StatementLess LineNoTupleLess
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

 Statement ()
bool operator== (const Statement &cmp) const
 ~Statement ()
SYMTAB_EXPORT Offset startAddr ()
SYMTAB_EXPORT Offset endAddr ()
SYMTAB_EXPORT std::string getFile ()
SYMTAB_EXPORT unsigned int getLine ()
SYMTAB_EXPORT unsigned int getColumn ()
SYMTAB_EXPORT Serializableserialize_impl (SerializerBase *sb, const char *tag="Statement") THROW_SPEC(SerializerError)
SYMTAB_EXPORT void setLine (unsigned int l)
SYMTAB_EXPORT void setColumn (unsigned int l)
SYMTAB_EXPORT void setFile (const char *l)
SYMTAB_EXPORT void setStartAddr (Offset l)
SYMTAB_EXPORT void setEndAddr (Offset l)
template<class T >
AN_INLINE bool addAnnotation (const T *a, AnnotationClass< T > &a_id)
bool operator== (AnnotatableSparse &cmp)
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 ()

Data Fields

const char * first
unsigned int second
unsigned int column

Private Member Functions

 Statement (const char *file, unsigned int line, unsigned int col=0, Offset start_addr=(Offset)-1L, Offset end_addr=(Offset)-1L)

Private Attributes

std::string file_
unsigned int line_
Offset start_addr_
Offset end_addr_

Friends

class Module
class std::vector< Statement >
class LineInformation

Detailed Description

Definition at line 48 of file Module.h.


Member Typedef Documentation

typedef dyn_hash_map<void *, void *, void_ptr_hasher> Dyninst::AnnotatableSparse::annos_by_type_t [inherited]

Definition at line 505 of file Annotatable.h.

typedef std::vector<annos_by_type_t *> Dyninst::AnnotatableSparse::annos_t [inherited]

Definition at line 508 of file Annotatable.h.

Definition at line 81 of file Module.h.


Constructor & Destructor Documentation

Dyninst::SymtabAPI::Statement::Statement ( const char *  file,
unsigned int  line,
unsigned int  col = 0,
Offset  start_addr = (Offset) -1L,
Offset  end_addr = (Offset) -1L 
) [inline, private]

Definition at line 54 of file Module.h.

Dyninst::SymtabAPI::Statement::Statement (  )  [inline]

Definition at line 76 of file Module.h.

Dyninst::SymtabAPI::Statement::~Statement (  )  [inline]

Definition at line 84 of file Module.h.


Member Function Documentation

template<class T >
AN_INLINE bool Dyninst::AnnotatableSparse::addAnnotation ( const T *  a,
AnnotationClass< T > &  a_id 
) [inline, inherited]
void Dyninst::AnnotatableSparse::annotationsReport (  )  [inline, inherited]
SYMTAB_EXPORT Offset Dyninst::SymtabAPI::Statement::endAddr (  )  [inline]

Definition at line 87 of file Module.h.

References end_addr_.

Referenced by Dyninst::SymtabAPI::LineInformation::addItem_impl().

template<class T >
AN_INLINE bool Dyninst::AnnotatableSparse::getAnnotation ( T *&  a,
AnnotationClass< T > &  a_id 
) const [inline, inherited]
SYMTAB_EXPORT unsigned int Dyninst::SymtabAPI::Statement::getColumn (  )  [inline]

Definition at line 90 of file Module.h.

References column.

SYMTAB_EXPORT std::string Dyninst::SymtabAPI::Statement::getFile (  )  [inline]

Definition at line 88 of file Module.h.

References file_.

SYMTAB_EXPORT unsigned int Dyninst::SymtabAPI::Statement::getLine (  )  [inline]

Definition at line 89 of file Module.h.

References line_.

bool Dyninst::AnnotatableSparse::operator== ( AnnotatableSparse cmp  )  [inline, inherited]
bool Statement::operator== ( const Statement cmp  )  const

Definition at line 153 of file LineInformation.C.

References column, file_, and line_.

template<class T >
bool Dyninst::AnnotatableSparse::removeAnnotation ( AnnotationClass< T > &  a_id  )  [inline, inherited]
Serializable * Statement::serialize_impl ( SerializerBase sb,
const char *  tag = "Statement" 
)

Definition at line 646 of file Module.C.

void Dyninst::AnnotatableSparse::serializeAnnotations ( SerializerBase sb,
const char *   
) [inline, inherited]
SYMTAB_EXPORT void Dyninst::SymtabAPI::Statement::setColumn ( unsigned int  l  )  [inline]

Definition at line 96 of file Module.h.

References column.

SYMTAB_EXPORT void Dyninst::SymtabAPI::Statement::setEndAddr ( Offset  l  )  [inline]

Definition at line 99 of file Module.h.

References end_addr_.

SYMTAB_EXPORT void Dyninst::SymtabAPI::Statement::setFile ( const char *  l  )  [inline]

Definition at line 97 of file Module.h.

References file_, and first.

SYMTAB_EXPORT void Dyninst::SymtabAPI::Statement::setLine ( unsigned int  l  )  [inline]

Definition at line 95 of file Module.h.

References line_.

SYMTAB_EXPORT void Dyninst::SymtabAPI::Statement::setStartAddr ( Offset  l  )  [inline]

Definition at line 98 of file Module.h.

References start_addr_.

SYMTAB_EXPORT Offset Dyninst::SymtabAPI::Statement::startAddr (  )  [inline]

Definition at line 86 of file Module.h.

References start_addr_.

Referenced by Dyninst::SymtabAPI::LineInformation::addItem_impl().


Friends And Related Function Documentation

friend class LineInformation [friend]

Definition at line 52 of file Module.h.

friend class Module [friend]

Definition at line 50 of file Module.h.

friend class std::vector< Statement > [friend]

Definition at line 51 of file Module.h.


Field Documentation

Definition at line 74 of file Module.h.

Referenced by getColumn(), operator==(), and setColumn().

Definition at line 69 of file Module.h.

Referenced by endAddr(), and setEndAddr().

std::string Dyninst::SymtabAPI::Statement::file_ [private]

Definition at line 72 of file Module.h.

Referenced by setFile().

unsigned int Dyninst::SymtabAPI::Statement::line_ [private]

Definition at line 73 of file Module.h.

Definition at line 68 of file Module.h.

Referenced by setStartAddr(), and startAddr().


The documentation for this class was generated from the following files:
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 12 Jul 2013 for SymtabAPI by  doxygen 1.6.1