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

#include <Section.h>

Collaboration diagram for lldb_private::SectionList:
Collaboration graph
[legend]

Public Types

typedef std::vector< lldb::SectionSP > collection
 
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. More...
 
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. More...
 

Protected Attributes

collection m_sections
 

Detailed Description

Definition at line 34 of file Section.h.

Member Typedef Documentation

◆ collection

typedef std::vector<lldb::SectionSP> lldb_private::SectionList::collection

Definition at line 36 of file Section.h.

◆ const_iterator

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

Definition at line 38 of file Section.h.

◆ iterator

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

Definition at line 37 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 501 of file Section.cpp.

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

◆ begin() [1/2]

const_iterator lldb_private::SectionList::begin ( )
inline

Definition at line 42 of file Section.h.

References m_sections.

◆ begin() [2/2]

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

Definition at line 40 of file Section.h.

References m_sections.

Referenced by FindSectionIndex().

◆ Clear()

void lldb_private::SectionList::Clear ( )
inline

Definition at line 90 of file Section.h.

References m_sections.

◆ ContainsSection()

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

Definition at line 628 of file Section.cpp.

References FindSectionByID().

◆ DeleteSection()

bool SectionList::DeleteSection ( size_t  idx)

Definition at line 480 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 43 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 488 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 665 of file Section.cpp.

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

Referenced by GetDebugInfoSize(), and lldb_private::SymbolFileCommon::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 463 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 655 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: