LLVM API Documentation
#include <DWARFFormValue.h>
Definition at line 22 of file DWARFFormValue.h.
FC_Unknown | |
FC_Address | |
FC_Block | |
FC_Constant | |
FC_String | |
FC_Flag | |
FC_Reference | |
FC_Indirect | |
FC_SectionOffset | |
FC_Exprloc |
Definition at line 24 of file DWARFFormValue.h.
llvm::DWARFFormValue::DWARFFormValue | ( | uint16_t | Form = 0 | ) | [inline] |
Definition at line 55 of file DWARFFormValue.h.
void DWARFFormValue::dump | ( | raw_ostream & | OS, |
const DWARFUnit * | U | ||
) | const |
Definition at line 362 of file DWARFFormValue.cpp.
References llvm::dwarf::DW_FORM_addr, llvm::dwarf::DW_FORM_block, llvm::dwarf::DW_FORM_block1, llvm::dwarf::DW_FORM_block2, llvm::dwarf::DW_FORM_block4, llvm::dwarf::DW_FORM_data1, llvm::dwarf::DW_FORM_data2, llvm::dwarf::DW_FORM_data4, llvm::dwarf::DW_FORM_data8, llvm::dwarf::DW_FORM_exprloc, llvm::dwarf::DW_FORM_flag, llvm::dwarf::DW_FORM_flag_present, llvm::dwarf::DW_FORM_GNU_addr_index, llvm::dwarf::DW_FORM_GNU_str_index, llvm::dwarf::DW_FORM_indirect, llvm::dwarf::DW_FORM_ref1, llvm::dwarf::DW_FORM_ref2, llvm::dwarf::DW_FORM_ref4, llvm::dwarf::DW_FORM_ref8, llvm::dwarf::DW_FORM_ref_addr, llvm::dwarf::DW_FORM_ref_sig8, llvm::dwarf::DW_FORM_ref_udata, llvm::dwarf::DW_FORM_sdata, llvm::dwarf::DW_FORM_sec_offset, llvm::dwarf::DW_FORM_string, llvm::dwarf::DW_FORM_strp, llvm::dwarf::DW_FORM_udata, llvm::format(), llvm::DWARFUnit::getAddrOffsetSectionItem(), llvm::DWARFUnit::getOffset(), llvm::DWARFUnit::getStringOffsetSection(), llvm::DWARFUnit::getStringSection(), llvm::Optional< T >::getValue(), llvm::Optional< T >::hasValue(), and llvm::raw_ostream::write_escaped().
Referenced by llvm::DWARFDebugInfoEntryMinimal::dumpAttribute().
bool DWARFFormValue::extractValue | ( | DataExtractor | data, |
uint32_t * | offset_ptr, | ||
const DWARFUnit * | u | ||
) |
Definition at line 130 of file DWARFFormValue.cpp.
References llvm::StringRef::data(), llvm::dwarf::DW_FORM_addr, llvm::dwarf::DW_FORM_block, llvm::dwarf::DW_FORM_block1, llvm::dwarf::DW_FORM_block2, llvm::dwarf::DW_FORM_block4, llvm::dwarf::DW_FORM_data1, llvm::dwarf::DW_FORM_data2, llvm::dwarf::DW_FORM_data4, llvm::dwarf::DW_FORM_data8, llvm::dwarf::DW_FORM_exprloc, llvm::dwarf::DW_FORM_flag, llvm::dwarf::DW_FORM_flag_present, llvm::dwarf::DW_FORM_GNU_addr_index, llvm::dwarf::DW_FORM_GNU_str_index, llvm::dwarf::DW_FORM_indirect, llvm::dwarf::DW_FORM_ref1, llvm::dwarf::DW_FORM_ref2, llvm::dwarf::DW_FORM_ref4, llvm::dwarf::DW_FORM_ref8, llvm::dwarf::DW_FORM_ref_addr, llvm::dwarf::DW_FORM_ref_sig8, llvm::dwarf::DW_FORM_ref_udata, llvm::dwarf::DW_FORM_sdata, llvm::dwarf::DW_FORM_sec_offset, llvm::dwarf::DW_FORM_string, llvm::dwarf::DW_FORM_strp, llvm::dwarf::DW_FORM_udata, llvm::StringRef::empty(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT >::end(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT >::find(), llvm::DWARFUnit::getAddressByteSize(), llvm::DataExtractor::getCStr(), llvm::DataExtractor::getData(), llvm::DWARFUnit::getRelocMap(), llvm::DataExtractor::getSLEB128(), llvm::DataExtractor::getU16(), llvm::DataExtractor::getU32(), llvm::DataExtractor::getU64(), llvm::DataExtractor::getU8(), llvm::DataExtractor::getULEB128(), llvm::DataExtractor::getUnsigned(), llvm::DWARFUnit::getVersion(), and llvm::StringRef::substr().
Referenced by llvm::DWARFDebugInfoEntryMinimal::dumpAttribute(), and llvm::DWARFDebugInfoEntryMinimal::getAttributeValue().
Optional< uint64_t > DWARFFormValue::getAsAddress | ( | const DWARFUnit * | U | ) | const |
Definition at line 506 of file DWARFFormValue.cpp.
References llvm::dwarf::DW_FORM_GNU_addr_index, llvm::DWARFUnit::getAddrOffsetSectionItem(), and llvm::None.
Referenced by llvm::DWARFDebugInfoEntryMinimal::getAttributeValueAsAddress().
Optional< ArrayRef< uint8_t > > DWARFFormValue::getAsBlock | ( | ) | const |
Definition at line 552 of file DWARFFormValue.cpp.
References llvm::None.
Optional< const char * > DWARFFormValue::getAsCString | ( | const DWARFUnit * | U | ) | const |
Definition at line 486 of file DWARFFormValue.cpp.
References llvm::dwarf::DW_FORM_GNU_str_index, llvm::dwarf::DW_FORM_string, llvm::DataExtractor::getCStr(), llvm::DWARFUnit::getStringExtractor(), llvm::DWARFUnit::getStringOffsetSectionItem(), and llvm::None.
Referenced by llvm::DWARFDebugInfoEntryMinimal::getAttributeValueAsString().
Optional< uint64_t > DWARFFormValue::getAsReference | ( | const DWARFUnit * | U | ) | const |
getAsFoo functions below return the extracted value as Foo if only DWARFFormValue has form class is suitable for representing Foo.
Definition at line 519 of file DWARFFormValue.cpp.
References llvm::dwarf::DW_FORM_ref1, llvm::dwarf::DW_FORM_ref2, llvm::dwarf::DW_FORM_ref4, llvm::dwarf::DW_FORM_ref8, llvm::dwarf::DW_FORM_ref_addr, llvm::dwarf::DW_FORM_ref_udata, llvm::DWARFUnit::getOffset(), and llvm::None.
Referenced by llvm::DWARFDebugInfoEntryMinimal::getAttributeValueAsReference().
Optional< uint64_t > DWARFFormValue::getAsSectionOffset | ( | ) | const |
Definition at line 539 of file DWARFFormValue.cpp.
References llvm::None.
Referenced by llvm::DWARFDebugInfoEntryMinimal::getAttributeValueAsSectionOffset().
Optional< uint64_t > DWARFFormValue::getAsUnsignedConstant | ( | ) | const |
Definition at line 545 of file DWARFFormValue.cpp.
References llvm::dwarf::DW_FORM_sdata, and llvm::None.
Referenced by llvm::DWARFDebugInfoEntryMinimal::dumpAttribute(), and llvm::DWARFDebugInfoEntryMinimal::getAttributeValueAsUnsignedConstant().
ArrayRef< uint8_t > DWARFFormValue::getFixedFormSizes | ( | uint8_t | AddrSize, |
uint16_t | Version | ||
) | [static] |
Definition at line 63 of file DWARFFormValue.cpp.
References llvm::None.
Referenced by llvm::DWARFDebugInfoEntryMinimal::extractFast().
uint16_t llvm::DWARFFormValue::getForm | ( | ) | const [inline] |
Definition at line 56 of file DWARFFormValue.h.
bool DWARFFormValue::isFormClass | ( | DWARFFormValue::FormClass | FC | ) | const |
Definition at line 108 of file DWARFFormValue.cpp.
References llvm::dwarf::DW_FORM_data4, llvm::dwarf::DW_FORM_data8, llvm::dwarf::DW_FORM_GNU_addr_index, llvm::dwarf::DW_FORM_GNU_str_index, llvm::dwarf::DW_FORM_ref_sig8, and DWARF4FormClasses.
bool llvm::DWARFFormValue::isInlinedCStr | ( | ) | const [inline] |
Definition at line 62 of file DWARFFormValue.h.
bool DWARFFormValue::skipValue | ( | DataExtractor | debug_info_data, |
uint32_t * | offset_ptr, | ||
const DWARFUnit * | u | ||
) | const |
Definition at line 255 of file DWARFFormValue.cpp.
Referenced by llvm::DWARFDebugInfoEntryMinimal::extractFast(), and llvm::DWARFDebugInfoEntryMinimal::getAttributeValue().
bool DWARFFormValue::skipValue | ( | uint16_t | form, |
DataExtractor | debug_info_data, | ||
uint32_t * | offset_ptr, | ||
const DWARFUnit * | u | ||
) | [static] |
Definition at line 261 of file DWARFFormValue.cpp.
References llvm::dwarf::DW_FORM_addr, llvm::dwarf::DW_FORM_block, llvm::dwarf::DW_FORM_block1, llvm::dwarf::DW_FORM_block2, llvm::dwarf::DW_FORM_block4, llvm::dwarf::DW_FORM_data1, llvm::dwarf::DW_FORM_data2, llvm::dwarf::DW_FORM_data4, llvm::dwarf::DW_FORM_data8, llvm::dwarf::DW_FORM_exprloc, llvm::dwarf::DW_FORM_flag, llvm::dwarf::DW_FORM_flag_present, llvm::dwarf::DW_FORM_GNU_addr_index, llvm::dwarf::DW_FORM_GNU_str_index, llvm::dwarf::DW_FORM_indirect, llvm::dwarf::DW_FORM_ref1, llvm::dwarf::DW_FORM_ref2, llvm::dwarf::DW_FORM_ref4, llvm::dwarf::DW_FORM_ref8, llvm::dwarf::DW_FORM_ref_addr, llvm::dwarf::DW_FORM_ref_sig8, llvm::dwarf::DW_FORM_ref_udata, llvm::dwarf::DW_FORM_sdata, llvm::dwarf::DW_FORM_sec_offset, llvm::dwarf::DW_FORM_string, llvm::dwarf::DW_FORM_strp, llvm::dwarf::DW_FORM_udata, llvm::DWARFUnit::getAddressByteSize(), llvm::DataExtractor::getCStr(), llvm::DataExtractor::getU16(), llvm::DataExtractor::getU32(), llvm::DataExtractor::getU8(), llvm::DataExtractor::getULEB128(), and llvm::DWARFUnit::getVersion().