LLDB mainline
|
Public Member Functions | |
FieldInfo ()=default | |
void | SetIsBitfield (bool flag) |
bool | IsBitfield () const |
void | SetIsArtificial (bool flag) |
bool | IsArtificial () const |
bool | NextBitfieldOffsetIsValid (const uint64_t next_bit_offset) const |
uint64_t | GetFieldEnd () const |
Returns the offset in bits of where the storage this field occupies ends. | |
void | SetEffectiveFieldEnd (uint64_t val) |
uint64_t | GetEffectiveFieldEnd () const |
If this field was folded into storage of a previous field, returns the offset in bits of where that storage ends. | |
Public Attributes | |
uint64_t | bit_size = 0 |
Size in bits that this field occupies. | |
uint64_t | bit_offset = 0 |
Offset of this field in bits from the beginning of the containing struct. | |
std::optional< uint64_t > | effective_field_end |
In case this field is folded into the storage of a previous member's storage (for example with [[no_unique_address]]), the effective field end is the offset in bits from the beginning of the containing struct where the field we were folded into ended. | |
bool | is_bitfield = false |
Set to 'true' if this field is a bit-field. | |
bool | is_artificial = false |
Set to 'true' if this field is DW_AT_artificial. | |
Definition at line 260 of file DWARFASTParserClang.h.
|
default |
|
inline |
If this field was folded into storage of a previous field, returns the offset in bits of where that storage ends.
Otherwise, returns the regular field end (see GetFieldEnd).
Definition at line 307 of file DWARFASTParserClang.h.
References effective_field_end, and GetFieldEnd().
Referenced by DWARFASTParserClang::AddUnnamedBitfieldToRecordTypeIfNeeded(), and DWARFASTParserClang::ParseSingleMember().
|
inline |
Returns the offset in bits of where the storage this field occupies ends.
Definition at line 300 of file DWARFASTParserClang.h.
References bit_offset, and bit_size.
Referenced by GetEffectiveFieldEnd(), and DWARFASTParserClang::ParseSingleMember().
|
inline |
Definition at line 290 of file DWARFASTParserClang.h.
References is_artificial.
Referenced by DWARFASTParserClang::ShouldCreateUnnamedBitfield().
|
inline |
Definition at line 287 of file DWARFASTParserClang.h.
References is_bitfield.
Referenced by DWARFASTParserClang::AddUnnamedBitfieldToRecordTypeIfNeeded(), and DWARFASTParserClang::ParseSingleMember().
|
inline |
Definition at line 292 of file DWARFASTParserClang.h.
References bit_offset, and bit_size.
Referenced by DWARFASTParserClang::ParseSingleMember().
|
inline |
Definition at line 302 of file DWARFASTParserClang.h.
References effective_field_end.
Referenced by DWARFASTParserClang::ParseSingleMember().
|
inline |
Definition at line 289 of file DWARFASTParserClang.h.
References is_artificial.
Referenced by DWARFASTParserClang::ParseSingleMember().
|
inline |
Definition at line 286 of file DWARFASTParserClang.h.
References is_bitfield.
Referenced by DWARFASTParserClang::ParseSingleMember().
uint64_t DWARFASTParserClang::FieldInfo::bit_offset = 0 |
Offset of this field in bits from the beginning of the containing struct.
Can but need not be the DW_AT_data_bit_offset of the field.
Definition at line 268 of file DWARFASTParserClang.h.
Referenced by DWARFASTParserClang::AddUnnamedBitfieldToRecordTypeIfNeeded(), GetFieldEnd(), NextBitfieldOffsetIsValid(), DWARFASTParserClang::ParseSingleMember(), and DWARFASTParserClang::ShouldCreateUnnamedBitfield().
uint64_t DWARFASTParserClang::FieldInfo::bit_size = 0 |
Size in bits that this field occupies.
Can but need not be the DW_AT_bit_size of the field.
Definition at line 263 of file DWARFASTParserClang.h.
Referenced by GetFieldEnd(), NextBitfieldOffsetIsValid(), DWARFASTParserClang::ParseSingleMember(), and DWARFASTParserClang::ShouldCreateUnnamedBitfield().
std::optional<uint64_t> DWARFASTParserClang::FieldInfo::effective_field_end |
In case this field is folded into the storage of a previous member's storage (for example with [[no_unique_address]]), the effective field end is the offset in bits from the beginning of the containing struct where the field we were folded into ended.
Definition at line 276 of file DWARFASTParserClang.h.
Referenced by GetEffectiveFieldEnd(), and SetEffectiveFieldEnd().
bool DWARFASTParserClang::FieldInfo::is_artificial = false |
Set to 'true' if this field is DW_AT_artificial.
Definition at line 282 of file DWARFASTParserClang.h.
Referenced by IsArtificial(), and SetIsArtificial().
bool DWARFASTParserClang::FieldInfo::is_bitfield = false |
Set to 'true' if this field is a bit-field.
Definition at line 279 of file DWARFASTParserClang.h.
Referenced by IsBitfield(), DWARFASTParserClang::ParseSingleMember(), and SetIsBitfield().