LIEF: Library to Instrument Executable Formats Version 0.16.0
|
This class represents a DWARF Type which includes: More...
#include <Type.hpp>
Classes | |
class | Iterator |
Public Types | |
enum class | KIND { UNKNOWN = 0 , UNSPECIFIED , BASE , CONST_KIND , CLASS , ARRAY , POINTER , STRUCT , UNION } |
Public Member Functions | |
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< Scope > | scope () const |
Return the scope in which this type is defined. | |
template<class T > | |
const T * | as () const |
Static Public Member Functions | |
static std::unique_ptr< Type > | create (std::unique_ptr< details::Type > impl) |
This class represents a DWARF Type which includes:
DW_TAG_array_type
DW_TAG_const_type
DW_TAG_pointer_type
DW_TAG_structure_type
DW_TAG_base_type
DW_TAG_class_type
DW_TAG_enumeration_type
DW_TAG_string_type
DW_TAG_union_type
DW_TAG_volatile_type
DW_TAG_unspecified_type
|
strong |
|
virtual |
|
inline |
|
static |
|
inline |
Whether this type is a DW_TAG_unspecified_type
KIND LIEF::dwarf::Type::kind | ( | ) | const |
Referenced by LIEF::dwarf::types::Array::classof(), LIEF::dwarf::types::Base::classof(), LIEF::dwarf::types::Class::classof(), LIEF::dwarf::types::ClassLike::classof(), LIEF::dwarf::types::Const::classof(), LIEF::dwarf::types::Pointer::classof(), LIEF::dwarf::types::Structure::classof(), and LIEF::dwarf::types::Union::classof().
debug_location_t LIEF::dwarf::Type::location | ( | ) | const |
Return the debug location where this type is defined.
result< std::string > LIEF::dwarf::Type::name | ( | ) | const |
Return the type's name (if any)
std::unique_ptr< Scope > LIEF::dwarf::Type::scope | ( | ) | const |
Return the scope in which this type is defined.
result< uint64_t > LIEF::dwarf::Type::size | ( | ) | const |
Return the size of the type or an error if it can't be computed.
This size should match the equivalent of sizeof(Type)
.