A parsed DWARF attribute form and its extracted value.

Synopsis

Declared in <llvm/DebugInfo/DWARF/DWARFFormValue.h>

class DWARFFormValue;

Types

Name

Description

ValueType

Storage for the extracted form value (integer, string, or block data).

Enums

Name

Description

FormClass

High‐level classification of a DWARF form's value representation.

Member Functions

Name

Description

DWARFFormValue [constructor]

Construct a form value with form F and an empty value.

dump

Print this form value to OS using DumpOpts.

dumpAddress

Print address Address to OS.

dumpSectionedAddress

Print sectioned address SA to OS using DumpOpts.

extractValue

extractValue overloads

getAsAddress

Return this value as an address if the form is an address form.

getAsBlock

Return the value as a byte block if the form is FC_Block or FC_Exprloc.

getAsCString

Return this value as a C string if the form is a string form.

getAsCStringOffset

Return the string‐table offset if the form is a string pointer form.

getAsDebugInfoReference

Return a .debug_info relative reference if the form is a ref form.

getAsFile

Correctly extract any file paths from a form value.

getAsReferenceUVal

Return the raw unsigned reference value without unit‐relative adjustment.

getAsRelativeReference

Return a unit‐relative reference if the form is a relative ref form.

getAsSectionOffset

Return a section offset if the form is FC_SectionOffset.

getAsSectionedAddress

Return this value as a sectioned address, if the form is an address.

getAsSignatureReference

Return the type‐unit signature if the form is DW_FORM_ref_sig8.

getAsSignedConstant

Return the value as a signed constant if the form is FC_Constant.

getAsSupplementaryReference

Return a supplementary/alt reference if the form is ref_sup* or GNU_ref_alt.

getAsUnsignedConstant

Return the value as an unsigned constant if the form is FC_Constant or FC_Flag (except DW_FORM_sdata).

getForm

Return the DWARF form of this value.

getRawUValue

Return the raw unsigned payload stored for this form value.

getUnit

Return the DWARF unit this value was extracted from, if any.

isFormClass

True if this value's form belongs to form class FC.

skipValue

Skip a form's value in DebugInfoData at the offset specified by OffsetPtr.

Static Member Functions

Name

Description

createFromBlockValue

Create a form value holding block bytes D for form F.

createFromPValue

Create a form value holding C string pointer V for form F.

createFromSValue

Create a form value holding signed integer V for form F.

createFromUValue

Create a form value holding unsigned integer V for form F.

createFromUnit

Extract a form value of form F from Unit at *OffsetPtr.

dumpAddress

Print Address using AddressSize bytes to OS.

dumpAddressSection

Print the name of section SectionIndex from Obj to OS.

getAsSectionedAddress

Interpret Val/Form as a sectioned address in U, if possible.

skipValue

Skip a form's value in DebugInfoData at the offset specified by OffsetPtr.

Created with MrDocs