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().