LLDB  mainline
Public Member Functions | Static Public Member Functions | Protected Types | Protected Attributes | List of all members
lldb_private::SymbolVendor Class Reference

#include <SymbolVendor.h>

Inheritance diagram for lldb_private::SymbolVendor:
Inheritance graph
[legend]
Collaboration diagram for lldb_private::SymbolVendor:
Collaboration graph
[legend]

Public Member Functions

 SymbolVendor (const lldb::ModuleSP &module_sp)
 
 ~SymbolVendor () override
 
void AddSymbolFileRepresentation (const lldb::ObjectFileSP &objfile_sp)
 
virtual void Dump (Stream *s)
 
virtual lldb::LanguageType ParseLanguage (CompileUnit &comp_unit)
 
virtual size_t ParseFunctions (CompileUnit &comp_unit)
 
virtual bool ParseLineTable (CompileUnit &comp_unit)
 
virtual bool ParseDebugMacros (CompileUnit &comp_unit)
 
virtual bool ParseSupportFiles (CompileUnit &comp_unit, FileSpecList &support_files)
 
virtual bool ParseIsOptimized (CompileUnit &comp_unit)
 
virtual size_t ParseTypes (CompileUnit &comp_unit)
 
virtual bool ParseImportedModules (const SymbolContext &sc, std::vector< SourceModule > &imported_modules)
 
virtual size_t ParseBlocksRecursive (Function &func)
 
virtual size_t ParseVariablesForContext (const SymbolContext &sc)
 
virtual TypeResolveTypeUID (lldb::user_id_t type_uid)
 
virtual uint32_t ResolveSymbolContext (const Address &so_addr, lldb::SymbolContextItem resolve_scope, SymbolContext &sc)
 
virtual uint32_t ResolveSymbolContext (const FileSpec &file_spec, uint32_t line, bool check_inlines, lldb::SymbolContextItem resolve_scope, SymbolContextList &sc_list)
 
virtual size_t FindGlobalVariables (ConstString name, const CompilerDeclContext *parent_decl_ctx, size_t max_matches, VariableList &variables)
 
virtual size_t FindGlobalVariables (const RegularExpression &regex, size_t max_matches, VariableList &variables)
 
virtual size_t FindFunctions (ConstString name, const CompilerDeclContext *parent_decl_ctx, lldb::FunctionNameType name_type_mask, bool include_inlines, bool append, SymbolContextList &sc_list)
 
virtual size_t FindFunctions (const RegularExpression &regex, bool include_inlines, bool append, SymbolContextList &sc_list)
 
virtual size_t FindTypes (ConstString name, const CompilerDeclContext *parent_decl_ctx, bool append, size_t max_matches, llvm::DenseSet< lldb_private::SymbolFile *> &searched_symbol_files, TypeMap &types)
 
virtual size_t FindTypes (const std::vector< CompilerContext > &context, bool append, TypeMap &types)
 
virtual CompilerDeclContext FindNamespace (ConstString name, const CompilerDeclContext *parent_decl_ctx)
 
virtual size_t GetNumCompileUnits ()
 
virtual bool SetCompileUnitAtIndex (size_t cu_idx, const lldb::CompUnitSP &cu_sp)
 
virtual lldb::CompUnitSP GetCompileUnitAtIndex (size_t idx)
 
TypeListGetTypeList ()
 
const TypeListGetTypeList () const
 
virtual size_t GetTypes (SymbolContextScope *sc_scope, lldb::TypeClass type_mask, TypeList &type_list)
 
SymbolFileGetSymbolFile ()
 
FileSpec GetMainFileSpec () const
 
virtual SymtabGetSymtab ()
 
virtual void ClearSymtab ()
 
virtual void SectionFileAddressesChanged ()
 Notify the SymbolVendor that the file addresses in the Sections for this module have been changed. More...
 
ConstString GetPluginName () override
 
uint32_t GetPluginVersion () override
 
- Public Member Functions inherited from lldb_private::ModuleChild
 ModuleChild (const lldb::ModuleSP &module_sp)
 Construct with owning module. More...
 
 ModuleChild (const ModuleChild &rhs)
 Copy constructor. More...
 
 ~ModuleChild ()
 Destructor. More...
 
const ModuleChildoperator= (const ModuleChild &rhs)
 Assignment operator. More...
 
lldb::ModuleSP GetModule () const
 Get const accessor for the module pointer. More...
 
void SetModule (const lldb::ModuleSP &module_sp)
 Set accessor for the module pointer. More...
 
- Public Member Functions inherited from lldb_private::PluginInterface
virtual ~PluginInterface ()
 

Static Public Member Functions

static SymbolVendorFindPlugin (const lldb::ModuleSP &module_sp, Stream *feedback_strm)
 

Protected Types

typedef std::vector< lldb::CompUnitSP > CompileUnits
 
typedef CompileUnits::iterator CompileUnitIter
 
typedef CompileUnits::const_iterator CompileUnitConstIter
 

Protected Attributes

TypeList m_type_list
 
CompileUnits m_compile_units
 
lldb::ObjectFileSP m_objfile_sp
 
std::unique_ptr< SymbolFilem_sym_file_up
 
Symtabm_symtab
 
- Protected Attributes inherited from lldb_private::ModuleChild
lldb::ModuleWP m_module_wp
 The Module that owns the object that inherits from this class. More...
 

Detailed Description

Definition at line 31 of file SymbolVendor.h.

Member Typedef Documentation

◆ CompileUnitConstIter

typedef CompileUnits::const_iterator lldb_private::SymbolVendor::CompileUnitConstIter
protected

Definition at line 148 of file SymbolVendor.h.

◆ CompileUnitIter

typedef CompileUnits::iterator lldb_private::SymbolVendor::CompileUnitIter
protected

Definition at line 147 of file SymbolVendor.h.

◆ CompileUnits

typedef std::vector<lldb::CompUnitSP> lldb_private::SymbolVendor::CompileUnits
protected

Definition at line 146 of file SymbolVendor.h.

Constructor & Destructor Documentation

◆ SymbolVendor()

SymbolVendor::SymbolVendor ( const lldb::ModuleSP &  module_sp)

Definition at line 60 of file SymbolVendor.cpp.

◆ ~SymbolVendor()

SymbolVendor::~SymbolVendor ( )
override

Definition at line 65 of file SymbolVendor.cpp.

Member Function Documentation

◆ AddSymbolFileRepresentation()

void SymbolVendor::AddSymbolFileRepresentation ( const lldb::ObjectFileSP &  objfile_sp)

◆ ClearSymtab()

void SymbolVendor::ClearSymtab ( )
virtual

◆ Dump()

void SymbolVendor::Dump ( Stream s)
virtual

◆ FindFunctions() [1/2]

virtual size_t lldb_private::SymbolVendor::FindFunctions ( ConstString  name,
const CompilerDeclContext parent_decl_ctx,
lldb::FunctionNameType  name_type_mask,
bool  include_inlines,
bool  append,
SymbolContextList sc_list 
)
virtual

◆ FindFunctions() [2/2]

size_t SymbolVendor::FindFunctions ( const RegularExpression regex,
bool  include_inlines,
bool  append,
SymbolContextList sc_list 
)
virtual

Definition at line 297 of file SymbolVendor.cpp.

References lldb_private::ModuleChild::GetModule(), and m_sym_file_up.

◆ FindGlobalVariables() [1/2]

size_t SymbolVendor::FindGlobalVariables ( ConstString  name,
const CompilerDeclContext parent_decl_ctx,
size_t  max_matches,
VariableList variables 
)
virtual

◆ FindGlobalVariables() [2/2]

size_t SymbolVendor::FindGlobalVariables ( const RegularExpression regex,
size_t  max_matches,
VariableList variables 
)
virtual

◆ FindNamespace()

CompilerDeclContext SymbolVendor::FindNamespace ( ConstString  name,
const CompilerDeclContext parent_decl_ctx 
)
virtual

◆ FindPlugin()

SymbolVendor * SymbolVendor::FindPlugin ( const lldb::ModuleSP &  module_sp,
lldb_private::Stream feedback_strm 
)
static

Definition at line 26 of file SymbolVendor.cpp.

Referenced by lldb_private::Module::GetSymbolVendor().

◆ FindTypes() [1/2]

size_t SymbolVendor::FindTypes ( ConstString  name,
const CompilerDeclContext parent_decl_ctx,
bool  append,
size_t  max_matches,
llvm::DenseSet< lldb_private::SymbolFile *> &  searched_symbol_files,
TypeMap types 
)
virtual

◆ FindTypes() [2/2]

size_t SymbolVendor::FindTypes ( const std::vector< CompilerContext > &  context,
bool  append,
TypeMap types 
)
virtual

◆ GetCompileUnitAtIndex()

CompUnitSP SymbolVendor::GetCompileUnitAtIndex ( size_t  idx)
virtual

◆ GetMainFileSpec()

FileSpec SymbolVendor::GetMainFileSpec ( ) const

◆ GetNumCompileUnits()

size_t SymbolVendor::GetNumCompileUnits ( )
virtual

◆ GetPluginName()

lldb_private::ConstString SymbolVendor::GetPluginName ( )
overridevirtual

Implements lldb_private::PluginInterface.

Reimplemented in SymbolVendorELF, and SymbolVendorMacOSX.

Definition at line 484 of file SymbolVendor.cpp.

Referenced by GetSymbolFile().

◆ GetPluginVersion()

uint32_t SymbolVendor::GetPluginVersion ( )
overridevirtual

Implements lldb_private::PluginInterface.

Reimplemented in SymbolVendorELF, and SymbolVendorMacOSX.

Definition at line 489 of file SymbolVendor.cpp.

Referenced by GetSymbolFile().

◆ GetSymbolFile()

SymbolFile* lldb_private::SymbolVendor::GetSymbolFile ( )
inline

◆ GetSymtab()

Symtab * SymbolVendor::GetSymtab ( )
virtual

◆ GetTypeList() [1/2]

TypeList& lldb_private::SymbolVendor::GetTypeList ( )
inline

Definition at line 118 of file SymbolVendor.h.

References m_type_list.

Referenced by lldb_private::Module::GetTypeList().

◆ GetTypeList() [2/2]

const TypeList& lldb_private::SymbolVendor::GetTypeList ( ) const
inline

Definition at line 120 of file SymbolVendor.h.

References GetTypes(), and m_type_list.

◆ GetTypes()

size_t SymbolVendor::GetTypes ( SymbolContextScope sc_scope,
lldb::TypeClass  type_mask,
TypeList type_list 
)
virtual

◆ ParseBlocksRecursive()

size_t SymbolVendor::ParseBlocksRecursive ( Function func)
virtual

◆ ParseDebugMacros()

bool SymbolVendor::ParseDebugMacros ( CompileUnit comp_unit)
virtual

◆ ParseFunctions()

size_t SymbolVendor::ParseFunctions ( CompileUnit comp_unit)
virtual

◆ ParseImportedModules()

bool SymbolVendor::ParseImportedModules ( const SymbolContext sc,
std::vector< SourceModule > &  imported_modules 
)
virtual

Definition at line 179 of file SymbolVendor.cpp.

References lldb_private::ModuleChild::GetModule(), and m_sym_file_up.

◆ ParseIsOptimized()

bool SymbolVendor::ParseIsOptimized ( CompileUnit comp_unit)
virtual

Definition at line 169 of file SymbolVendor.cpp.

References lldb_private::ModuleChild::GetModule(), and m_sym_file_up.

◆ ParseLanguage()

lldb::LanguageType SymbolVendor::ParseLanguage ( CompileUnit comp_unit)
virtual

◆ ParseLineTable()

bool SymbolVendor::ParseLineTable ( CompileUnit comp_unit)
virtual

◆ ParseSupportFiles()

bool SymbolVendor::ParseSupportFiles ( CompileUnit comp_unit,
FileSpecList &  support_files 
)
virtual

◆ ParseTypes()

size_t SymbolVendor::ParseTypes ( CompileUnit comp_unit)
virtual

◆ ParseVariablesForContext()

size_t SymbolVendor::ParseVariablesForContext ( const SymbolContext sc)
virtual

◆ ResolveSymbolContext() [1/2]

virtual uint32_t lldb_private::SymbolVendor::ResolveSymbolContext ( const Address so_addr,
lldb::SymbolContextItem  resolve_scope,
SymbolContext sc 
)
virtual

◆ ResolveSymbolContext() [2/2]

virtual uint32_t lldb_private::SymbolVendor::ResolveSymbolContext ( const FileSpec file_spec,
uint32_t  line,
bool  check_inlines,
lldb::SymbolContextItem  resolve_scope,
SymbolContextList sc_list 
)
virtual

◆ ResolveTypeUID()

Type * SymbolVendor::ResolveTypeUID ( lldb::user_id_t  type_uid)
virtual

◆ SectionFileAddressesChanged()

void SymbolVendor::SectionFileAddressesChanged ( )
virtual

◆ SetCompileUnitAtIndex()

bool SymbolVendor::SetCompileUnitAtIndex ( size_t  cu_idx,
const lldb::CompUnitSP &  cu_sp 
)
virtual

Member Data Documentation

◆ m_compile_units

CompileUnits lldb_private::SymbolVendor::m_compile_units
protected

◆ m_objfile_sp

lldb::ObjectFileSP lldb_private::SymbolVendor::m_objfile_sp
protected

Definition at line 152 of file SymbolVendor.h.

Referenced by AddSymbolFileRepresentation().

◆ m_sym_file_up

std::unique_ptr<SymbolFile> lldb_private::SymbolVendor::m_sym_file_up
protected

◆ m_symtab

Symtab* lldb_private::SymbolVendor::m_symtab
protected

Definition at line 158 of file SymbolVendor.h.

Referenced by GetSymtab().

◆ m_type_list

TypeList lldb_private::SymbolVendor::m_type_list
protected

Definition at line 150 of file SymbolVendor.h.

Referenced by Dump(), and GetTypeList().


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