LIEF: Library to Instrument Executable Formats Version 0.15.1
Loading...
Searching...
No Matches
LIEF::dwarf::types::ClassLike Class Reference

This class abstracts a DWARF aggregate: DW_TAG_structure_type, DW_TAG_class_type, DW_TAG_union_type. More...

#include <ClassLike.hpp>

Inheritance diagram for LIEF::dwarf::types::ClassLike:
Collaboration diagram for LIEF::dwarf::types::ClassLike:

Classes

class  Member
 This represents a class/struct/union attribute. More...
 

Public Member Functions

std::vector< Membermembers () const
 Return the list of all the attributes defined in this class-like type.
 
std::unique_ptr< Memberfind_member (uint64_t offset) const
 Try to find the attribute at the given offset.
 
 ~ClassLike () override
 
- Public Member Functions inherited from LIEF::dwarf::Type
virtual ~Type ()
 
KIND kind () const
 
bool is_unspecified () const
 Whether this type is a DW_TAG_unspecified_type
 
result< std::string > name () const
 Return the type's name (if any)
 
result< uint64_t > size () const
 Return the size of the type or an error if it can't be computed.
 
debug_location_t location () const
 Return the debug location where this type is defined.
 
std::unique_ptr< Scopescope () const
 Return the scope in which this type is defined.
 
template<class T >
const T * as () const
 

Static Public Member Functions

static bool classof (const Type *type)
 
- Static Public Member Functions inherited from LIEF::dwarf::Type
static std::unique_ptr< Typecreate (std::unique_ptr< details::Type > impl)
 

Additional Inherited Members

- Public Types inherited from LIEF::dwarf::Type
enum class  KIND {
  UNKNOWN = 0 , UNSPECIFIED , BASE , CONST ,
  CLASS , ARRAY , POINTER , STRUCT ,
  UNION
}
 

Detailed Description

This class abstracts a DWARF aggregate: DW_TAG_structure_type, DW_TAG_class_type, DW_TAG_union_type.

Constructor & Destructor Documentation

◆ ~ClassLike()

LIEF::dwarf::types::ClassLike::~ClassLike ( )
override

Member Function Documentation

◆ classof()

static bool LIEF::dwarf::types::ClassLike::classof ( const Type * type)
inlinestatic

◆ find_member()

std::unique_ptr< Member > LIEF::dwarf::types::ClassLike::find_member ( uint64_t offset) const

Try to find the attribute at the given offset.

◆ members()

std::vector< Member > LIEF::dwarf::types::ClassLike::members ( ) const

Return the list of all the attributes defined in this class-like type.


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