LLDB  mainline
Public Types | Public Member Functions | List of all members
lldb_private::TypeMap Class Reference

#include <TypeMap.h>

Public Types

typedef std::multimap< lldb::user_id_t, lldb::TypeSP > collection
 
typedef AdaptedIterable< collection, lldb::TypeSP, map_adapterTypeIterable
 

Public Member Functions

 TypeMap ()
 
virtual ~TypeMap ()
 
void Clear ()
 
void Dump (Stream *s, bool show_context)
 
TypeMap FindTypes (ConstString name)
 
void Insert (const lldb::TypeSP &type)
 
bool Empty () const
 
bool InsertUnique (const lldb::TypeSP &type)
 
uint32_t GetSize () const
 
lldb::TypeSP GetTypeAtIndex (uint32_t idx)
 
TypeIterable Types ()
 
void ForEach (std::function< bool(const lldb::TypeSP &type_sp)> const &callback) const
 
void ForEach (std::function< bool(lldb::TypeSP &type_sp)> const &callback)
 
bool Remove (const lldb::TypeSP &type_sp)
 
void RemoveMismatchedTypes (const char *qualified_typename, bool exact_match)
 
void RemoveMismatchedTypes (const std::string &type_scope, const std::string &type_basename, lldb::TypeClass type_class, bool exact_match)
 
void RemoveMismatchedTypes (lldb::TypeClass type_class)
 

Detailed Description

Definition at line 20 of file TypeMap.h.

Member Typedef Documentation

◆ collection

typedef std::multimap<lldb::user_id_t, lldb::TypeSP> lldb_private::TypeMap::collection

Definition at line 43 of file TypeMap.h.

◆ TypeIterable

Definition at line 44 of file TypeMap.h.

Constructor & Destructor Documentation

◆ TypeMap()

TypeMap::TypeMap ( )

Definition at line 35 of file TypeMap.cpp.

◆ ~TypeMap()

TypeMap::~TypeMap ( )
virtual

Definition at line 38 of file TypeMap.cpp.

Member Function Documentation

◆ Clear()

void TypeMap::Clear ( )

◆ Dump()

void TypeMap::Dump ( Stream s,
bool  show_context 
)

Definition at line 137 of file TypeMap.cpp.

◆ Empty()

bool TypeMap::Empty ( ) const

Definition at line 90 of file TypeMap.cpp.

Referenced by lldb_private::SymbolContext::SortTypeList().

◆ FindTypes()

TypeMap lldb_private::TypeMap::FindTypes ( ConstString  name)

◆ ForEach() [1/2]

void TypeMap::ForEach ( std::function< bool(const lldb::TypeSP &type_sp)> const &  callback) const

Definition at line 107 of file TypeMap.cpp.

Referenced by lldb_private::SymbolContext::SortTypeList(), and Types().

◆ ForEach() [2/2]

void TypeMap::ForEach ( std::function< bool(lldb::TypeSP &type_sp)> const &  callback)

Definition at line 115 of file TypeMap.cpp.

◆ GetSize()

uint32_t TypeMap::GetSize ( ) const

◆ GetTypeAtIndex()

TypeSP TypeMap::GetTypeAtIndex ( uint32_t  idx)

Definition at line 96 of file TypeMap.cpp.

Referenced by DWARFASTParserClang::ParseTypeFromDWO().

◆ Insert()

void TypeMap::Insert ( const lldb::TypeSP &  type)

◆ InsertUnique()

bool TypeMap::InsertUnique ( const lldb::TypeSP &  type)

Definition at line 47 of file TypeMap.cpp.

References Insert().

Referenced by SymbolFileDWARF::FindTypes(), and SymbolFileDWARF::GetMangledNamesForFunction().

◆ Remove()

bool TypeMap::Remove ( const lldb::TypeSP &  type_sp)

Definition at line 123 of file TypeMap.cpp.

Referenced by lldb_private::SymbolContext::SortTypeList(), and Types().

◆ RemoveMismatchedTypes() [1/3]

void TypeMap::RemoveMismatchedTypes ( const char *  qualified_typename,
bool  exact_match 
)

◆ RemoveMismatchedTypes() [2/3]

void lldb_private::TypeMap::RemoveMismatchedTypes ( const std::string &  type_scope,
const std::string &  type_basename,
lldb::TypeClass  type_class,
bool  exact_match 
)

◆ RemoveMismatchedTypes() [3/3]

void lldb_private::TypeMap::RemoveMismatchedTypes ( lldb::TypeClass  type_class)

◆ Types()

TypeIterable lldb_private::TypeMap::Types ( )
inline

Definition at line 46 of file TypeMap.h.

References ForEach(), Remove(), and RemoveMismatchedTypes().


The documentation for this class was generated from the following files: