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

#include <Section.h>

Public Types

typedef std::vector< lldb::SectionSPcollection
 
typedef collection::iterator iterator
 
typedef collection::const_iterator const_iterator
 

Public Member Functions

const_iterator begin () const
 
const_iterator end () const
 
const_iterator begin ()
 
const_iterator end ()
 
 SectionList ()=default
 Create an empty list.
 
SectionListoperator= (const SectionList &rhs)
 
size_t AddSection (const lldb::SectionSP &section_sp)
 
size_t AddUniqueSection (const lldb::SectionSP &section_sp)
 
size_t FindSectionIndex (const Section *sect)
 
bool ContainsSection (lldb::user_id_t sect_id) const
 
void Dump (llvm::raw_ostream &s, unsigned indent, Target *target, bool show_header, uint32_t depth) const
 
lldb::SectionSP FindSectionByName (ConstString section_dstr) const
 
lldb::SectionSP FindSectionByID (lldb::user_id_t sect_id) const
 
lldb::SectionSP FindSectionByType (lldb::SectionType sect_type, bool check_children, size_t start_idx=0) const
 
lldb::SectionSP FindSectionContainingFileAddress (lldb::addr_t addr, uint32_t depth=UINT32_MAX) const
 
size_t GetSize () const
 
size_t GetNumSections (uint32_t depth) const
 
bool ReplaceSection (lldb::user_id_t sect_id, const lldb::SectionSP &section_sp, uint32_t depth=UINT32_MAX)
 
bool DeleteSection (size_t idx)
 
lldb::SectionSP GetSectionAtIndex (size_t idx) const
 
size_t Slide (lldb::addr_t slide_amount, bool slide_children)
 
void Clear ()
 
uint64_t GetDebugInfoSize () const
 Get the debug information size from all sections that contain debug information.
 

Protected Attributes

collection m_sections
 

Detailed Description

Definition at line 35 of file Section.h.

Member Typedef Documentation

◆ collection

Definition at line 37 of file Section.h.

◆ const_iterator

typedef collection::const_iterator lldb_private::SectionList::const_iterator

Definition at line 39 of file Section.h.

◆ iterator

typedef collection::iterator lldb_private::SectionList::iterator

Definition at line 38 of file Section.h.

Constructor & Destructor Documentation

◆ SectionList()

lldb_private::SectionList::SectionList ( )
default

Create an empty list.

Member Function Documentation

◆ AddSection()

size_t SectionList::AddSection ( const lldb::SectionSP section_sp)

◆ AddUniqueSection()

size_t SectionList::AddUniqueSection ( const lldb::SectionSP section_sp)

Definition at line 513 of file Section.cpp.

References AddSection(), FindSectionIndex(), and UINT32_MAX.

◆ begin() [1/2]

const_iterator lldb_private::SectionList::begin ( )
inline

Definition at line 43 of file Section.h.

References m_sections.

◆ begin() [2/2]

const_iterator lldb_private::SectionList::begin ( ) const
inline

Definition at line 41 of file Section.h.

References m_sections.

Referenced by FindSectionIndex().

◆ Clear()

void lldb_private::SectionList::Clear ( )
inline

Definition at line 91 of file Section.h.

References m_sections.

◆ ContainsSection()

bool SectionList::ContainsSection ( lldb::user_id_t  sect_id) const

Definition at line 640 of file Section.cpp.

References FindSectionByID().

◆ DeleteSection()

bool SectionList::DeleteSection ( size_t  idx)

Definition at line 492 of file Section.cpp.

References m_sections.

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

◆ Dump()

void SectionList::Dump ( llvm::raw_ostream &  s,
unsigned  indent,
Target target,
bool  show_header,
uint32_t  depth 
) const

◆ end() [1/2]

const_iterator lldb_private::SectionList::end ( )
inline

Definition at line 44 of file Section.h.

References m_sections.

◆ end() [2/2]

const_iterator lldb_private::SectionList::end ( ) const
inline

◆ FindSectionByID()

SectionSP SectionList::FindSectionByID ( lldb::user_id_t  sect_id) const

◆ FindSectionByName()

SectionSP SectionList::FindSectionByName ( ConstString  section_dstr) const

◆ FindSectionByType()

SectionSP SectionList::FindSectionByType ( lldb::SectionType  sect_type,
bool  check_children,
size_t  start_idx = 0 
) const

◆ FindSectionContainingFileAddress()

SectionSP SectionList::FindSectionContainingFileAddress ( lldb::addr_t  addr,
uint32_t  depth = UINT32_MAX 
) const

◆ FindSectionIndex()

size_t SectionList::FindSectionIndex ( const Section sect)

Definition at line 500 of file Section.cpp.

References begin(), end(), m_sections, and UINT32_MAX.

Referenced by AddUniqueSection().

◆ GetDebugInfoSize()

uint64_t SectionList::GetDebugInfoSize ( ) const

Get the debug information size from all sections that contain debug information.

Symbol tables are not considered part of the debug information for this call, just known sections that contain debug information.

Definition at line 675 of file Section.cpp.

References GetDebugInfoSize(), GetSize(), and m_sections.

Referenced by GetDebugInfoSize(), lldb_private::SymbolFileCommon::GetDebugInfoSize(), and lldb_private::plugin::dwarf::SymbolFileDWARFDwo::GetDebugInfoSize().

◆ GetNumSections()

size_t SectionList::GetNumSections ( uint32_t  depth) const

◆ GetSectionAtIndex()

SectionSP SectionList::GetSectionAtIndex ( size_t  idx) const

◆ GetSize()

size_t lldb_private::SectionList::GetSize ( ) const
inline

◆ operator=()

SectionList & SectionList::operator= ( const SectionList rhs)

Definition at line 475 of file Section.cpp.

References m_sections.

◆ ReplaceSection()

bool SectionList::ReplaceSection ( lldb::user_id_t  sect_id,
const lldb::SectionSP section_sp,
uint32_t  depth = UINT32_MAX 
)

◆ Slide()

size_t SectionList::Slide ( lldb::addr_t  slide_amount,
bool  slide_children 
)

Definition at line 665 of file Section.cpp.

References end(), and m_sections.

Referenced by ObjectFileMachO::ProcessSegmentCommand(), and lldb_private::Section::Slide().

Member Data Documentation

◆ m_sections

collection lldb_private::SectionList::m_sections
protected

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