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

The value is split into several pieces (DW_OP_piece/DW_OP_bit_piece), each one with its own location. More...

#include <Location.hpp>

Inheritance diagram for LIEF::dwarf::CompositeLocation:
Collaboration diagram for LIEF::dwarf::CompositeLocation:

Classes

struct  Piece
 A piece of a composite location. More...

Public Member Functions

 CompositeLocation ()
 CompositeLocation (const CompositeLocation &)=delete
CompositeLocation & operator= (const CompositeLocation &)=delete
 CompositeLocation (CompositeLocation &&) noexcept=default
CompositeLocation & operator= (CompositeLocation &&) noexcept=default
 ~CompositeLocation () override
Public Member Functions inherited from LIEF::dwarf::Location
 Location (Type ty)
 Location (const Location &)=default
Location & operator= (const Location &)=default
 Location (Location &&) noexcept=default
Location & operator= (Location &&) noexcept=default
virtual ~Location ()
template<class T>
const T * as () const
std::string to_string () const
 Human-readable description of this location.

Static Public Member Functions

static bool classof (const Location *loc)

Public Attributes

std::vector< Piece > pieces
 The pieces of this location, ordered by their bit offset.
Public Attributes inherited from LIEF::dwarf::Location
Type type = Type::UNKNOWN

Additional Inherited Members

Public Types inherited from LIEF::dwarf::Location
enum class  Type : uint8_t {
  UNKNOWN = 0 , REG , ADDRESS , FRAME_BASE ,
  REGISTER_OFFSET , EXPRESSION , UNAVAILABLE , COMPOSITE
}

Detailed Description

The value is split into several pieces (DW_OP_piece/DW_OP_bit_piece), each one with its own location.

For instance, a 16-bytes structure passed in the rdi and rsi registers is described with two 8-bytes pieces.

Constructor & Destructor Documentation

◆ CompositeLocation() [1/3]

LIEF::dwarf::CompositeLocation::CompositeLocation ( )
inline

◆ CompositeLocation() [2/3]

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

References CompositeLocation().

◆ CompositeLocation() [3/3]

LIEF::dwarf::CompositeLocation::CompositeLocation ( CompositeLocation && )
defaultnoexcept

References CompositeLocation().

◆ ~CompositeLocation()

LIEF::dwarf::CompositeLocation::~CompositeLocation ( )
override

Member Function Documentation

◆ classof()

bool LIEF::dwarf::CompositeLocation::classof ( const Location * loc)
inlinestatic

◆ operator=() [1/2]

CompositeLocation & LIEF::dwarf::CompositeLocation::operator= ( CompositeLocation && )
defaultnoexcept

References CompositeLocation().

◆ operator=() [2/2]

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

References CompositeLocation().

Member Data Documentation

◆ pieces

std::vector<Piece> LIEF::dwarf::CompositeLocation::pieces

The pieces of this location, ordered by their bit offset.


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