Dyninst::SymtabAPI::localVar Class Reference

#include <Variable.h>

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

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

SYMTAB_EXPORT localVar ()
 localVar (std::string name, Type *typ, std::string fileName, int lineNum, Function *f, std::vector< VariableLocation > *locs=NULL)
 localVar (localVar &lvar)
bool addLocation (VariableLocation &location)
SYMTAB_EXPORT ~localVar ()
SYMTAB_EXPORT void fixupUnknown (Module *)
SYMTAB_EXPORT std::string & getName ()
SYMTAB_EXPORT TypegetType ()
SYMTAB_EXPORT bool setType (Type *newType)
SYMTAB_EXPORT int getLineNum ()
SYMTAB_EXPORT std::string & getFileName ()
SYMTAB_EXPORT std::vector
< VariableLocation > & 
getLocationLists ()
SYMTAB_EXPORT bool operator== (const localVar &l)
SYMTAB_EXPORT Serializableserialize_impl (SerializerBase *, const char *="localVar") THROW_SPEC(SerializerError)
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 ()

Private Member Functions

void expandLocation (const VariableLocation &var, std::vector< VariableLocation > &ret)

Private Attributes

std::string name_
Typetype_
std::string fileName_
int lineNum_
Functionfunc_
std::vector< VariableLocationlocs_
bool locsExpanded_

Friends

class typeCommon
class localVarCollection

Detailed Description

Definition at line 78 of file Variable.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.


Constructor & Destructor Documentation

SYMTAB_EXPORT Dyninst::SymtabAPI::localVar::localVar (  )  [inline]

Definition at line 100 of file Variable.h.

localVar::localVar ( std::string  name,
Type typ,
std::string  fileName,
int  lineNum,
Function f,
std::vector< VariableLocation > *  locs = NULL 
)

Definition at line 207 of file Variable.C.

References Dyninst::SymtabAPI::Type::incrRefCount(), locs_, and type_.

localVar::localVar ( localVar lvar  ) 
localVar::~localVar (  ) 

Definition at line 348 of file Variable.C.

References Dyninst::SymtabAPI::Type::decrRefCount(), and type_.


Member Function Documentation

template<class T >
AN_INLINE bool Dyninst::AnnotatableSparse::addAnnotation ( const T *  a,
AnnotationClass< T > &  a_id 
) [inline, inherited]
bool localVar::addLocation ( VariableLocation location  ) 
void Dyninst::AnnotatableSparse::annotationsReport (  )  [inline, inherited]
void localVar::expandLocation ( const VariableLocation var,
std::vector< VariableLocation > &  ret 
) [private]
void localVar::fixupUnknown ( Module module  ) 
template<class T >
AN_INLINE bool Dyninst::AnnotatableSparse::getAnnotation ( T *&  a,
AnnotationClass< T > &  a_id 
) const [inline, inherited]
std::string & localVar::getFileName (  ) 

Definition at line 394 of file Variable.C.

References fileName_.

int localVar::getLineNum (  ) 

Definition at line 389 of file Variable.C.

References lineNum_.

std::vector< Dyninst::VariableLocation > & localVar::getLocationLists (  ) 

Definition at line 399 of file Variable.C.

References expandLocation(), locs_, and locsExpanded_.

std::string & localVar::getName (  ) 

Definition at line 373 of file Variable.C.

References name_.

Referenced by Dyninst::SymtabAPI::DwarfWalker::parseVariable().

Type * localVar::getType (  ) 

Definition at line 378 of file Variable.C.

References type_.

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

Definition at line 415 of file Variable.C.

References fileName_, Dyninst::SymtabAPI::Type::getID(), lineNum_, locs_, name_, and type_.

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

Definition at line 499 of file Variable.C.

void Dyninst::AnnotatableSparse::serializeAnnotations ( SerializerBase sb,
const char *   
) [inline, inherited]
bool localVar::setType ( Type newType  ) 

Definition at line 383 of file Variable.C.

References type_.


Friends And Related Function Documentation

friend class localVarCollection [friend]

Definition at line 81 of file Variable.h.

friend class typeCommon [friend]

Definition at line 80 of file Variable.h.


Field Documentation

Definition at line 85 of file Variable.h.

Referenced by getFileName(), localVar(), and operator==().

Definition at line 87 of file Variable.h.

Referenced by expandLocation(), and localVar().

Definition at line 86 of file Variable.h.

Referenced by getLineNum(), localVar(), and operator==().

Definition at line 88 of file Variable.h.

Referenced by addLocation(), getLocationLists(), localVar(), and operator==().

Definition at line 92 of file Variable.h.

Referenced by addLocation(), getLocationLists(), and localVar().

std::string Dyninst::SymtabAPI::localVar::name_ [private]

Definition at line 83 of file Variable.h.

Referenced by expandLocation(), getName(), localVar(), and operator==().

Definition at line 84 of file Variable.h.

Referenced by fixupUnknown(), getType(), localVar(), operator==(), setType(), and ~localVar().


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