LIEF: Library to Instrument Executable Formats Version 1.0.0
Loading...
Searching...
No Matches
LIEF::dwarf::LexicalBlock Class Reference

This class represents a DWARF lexical block (DW_TAG_lexical_block). More...

#include <LexicalBlock.hpp>

Classes

class  Iterator

Public Types

using sub_blocks_it = iterator_range<Iterator>

Public Member Functions

 LexicalBlock (std::unique_ptr< details::LexicalBlock > impl)
 LexicalBlock ()=delete
LexicalBlockoperator= (const LexicalBlock &)=delete
 LexicalBlock (const LexicalBlock &)=delete
std::string name () const
 Return the name associated with this lexical block or an empty string.
std::string description () const
 Return the description associated with this lexical block or an empty string.
sub_blocks_it sub_blocks () const
 Return an iterator over the sub-LexicalBlock owned by this block.
optional< uint64_t > addr () const
 Return the start address of this block.
uint64_t size () const
 Return the size of this block as the difference of the highest address and the lowest address.
optional< uint64_t > low_pc () const
 Return the lowest virtual address owned by this block.
optional< uint64_t > high_pc () const
 Return the highest virtual address owned by this block.
std::vector< range_tranges () const
 Return a list of address ranges owned by this block.
 ~LexicalBlock ()

Static Public Member Functions

static std::unique_ptr< LexicalBlockcreate (std::unique_ptr< details::LexicalBlock > impl)

Detailed Description

This class represents a DWARF lexical block (DW_TAG_lexical_block).

Member Typedef Documentation

◆ sub_blocks_it

Constructor & Destructor Documentation

◆ LexicalBlock() [1/3]

LIEF::dwarf::LexicalBlock::LexicalBlock ( std::unique_ptr< details::LexicalBlock > impl)

Referenced by LexicalBlock(), and operator=().

◆ LexicalBlock() [2/3]

LIEF::dwarf::LexicalBlock::LexicalBlock ( )
delete

◆ LexicalBlock() [3/3]

LIEF::dwarf::LexicalBlock::LexicalBlock ( const LexicalBlock & )
delete

References LexicalBlock().

◆ ~LexicalBlock()

LIEF::dwarf::LexicalBlock::~LexicalBlock ( )

References LIEF_LOCAL.

Member Function Documentation

◆ addr()

optional< uint64_t > LIEF::dwarf::LexicalBlock::addr ( ) const

Return the start address of this block.

◆ create()

std::unique_ptr< LexicalBlock > LIEF::dwarf::LexicalBlock::create ( std::unique_ptr< details::LexicalBlock > impl)
static

◆ description()

std::string LIEF::dwarf::LexicalBlock::description ( ) const

Return the description associated with this lexical block or an empty string.

◆ high_pc()

optional< uint64_t > LIEF::dwarf::LexicalBlock::high_pc ( ) const

Return the highest virtual address owned by this block.

◆ low_pc()

optional< uint64_t > LIEF::dwarf::LexicalBlock::low_pc ( ) const

Return the lowest virtual address owned by this block.

◆ name()

std::string LIEF::dwarf::LexicalBlock::name ( ) const

Return the name associated with this lexical block or an empty string.

◆ operator=()

LexicalBlock & LIEF::dwarf::LexicalBlock::operator= ( const LexicalBlock & )
delete

References LexicalBlock().

◆ ranges()

std::vector< range_t > LIEF::dwarf::LexicalBlock::ranges ( ) const

Return a list of address ranges owned by this block.

If the lexical block owns a contiguous range, it should return a single range.

◆ size()

uint64_t LIEF::dwarf::LexicalBlock::size ( ) const

Return the size of this block as the difference of the highest address and the lowest address.

◆ sub_blocks()

sub_blocks_it LIEF::dwarf::LexicalBlock::sub_blocks ( ) const

Return an iterator over the sub-LexicalBlock owned by this block.


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