#include <attr.h>
Public Member Functions | |
AttrValue (const AttrValue &)=default | |
uint16_t | form () const |
absl::string_view | GetString (const CU &cu) const |
uint64_t | GetUint (const CU &cu) const |
bool | IsString () const |
bool | IsUint () const |
AttrValue & | operator= (const AttrValue &)=default |
template<class D > | |
string_view | ReadBlock (string_view *data) |
template<class D > | |
string_view | ReadIndirectString (const CU &cu, string_view *data) |
absl::optional< uint64_t > | ToUint (const CU &cu) const |
Static Public Member Functions | |
static AttrValue | ParseAttr (const CU &cu, uint8_t form, absl::string_view *data) |
Private Types | |
enum | Type { Type::kUint, Type::kString, Type::kUnresolvedUint, Type::kUnresolvedString } |
Private Member Functions | |
AttrValue (uint16_t form, absl::string_view val) | |
AttrValue (uint16_t form, uint64_t val) | |
absl::string_view | ResolveDoubleIndirectString (const CU &cu) const |
uint64_t | ResolveIndirectAddress (const CU &cu) const |
Type | type () const |
Static Private Member Functions | |
template<class D > | |
static absl::string_view | ReadBlock (absl::string_view *data) |
template<class D > | |
static absl::string_view | ReadIndirectString (const CU &cu, absl::string_view *data) |
static absl::string_view | ReadVariableBlock (absl::string_view *data) |
static absl::string_view | ResolveIndirectString (const CU &cu, uint64_t ofs) |
static AttrValue | UnresolvedString (uint16_t form, uint64_t val) |
static AttrValue | UnresolvedUint (uint16_t form, uint64_t val) |
Private Attributes | |
union { | |
absl::string_view string_ | |
uint64_t uint_ | |
}; | |
uint16_t | form_ |
Type | type_ |
|
strongprivate |
|
inlineexplicitprivate |
string_view bloaty::dwarf::AttrValue::GetString | ( | const CU & | cu | ) | const |
|
static |
|
staticprivate |
string_view bloaty::dwarf::AttrValue::ReadBlock | ( | string_view * | data | ) |
|
staticprivate |
string_view bloaty::dwarf::AttrValue::ReadIndirectString | ( | const CU & | cu, |
string_view * | data | ||
) |
|
staticprivate |
|
private |
|
staticprivate |
absl::optional< uint64_t > bloaty::dwarf::AttrValue::ToUint | ( | const CU & | cu | ) | const |
union { ... } |
absl::string_view bloaty::dwarf::AttrValue::string_ |