10 #ifndef LLVM_DEBUGINFO_DWARFFORMVALUE_H 11 #define LLVM_DEBUGINFO_DWARFFORMVALUE_H 51 const uint8_t *data =
nullptr;
52 uint64_t SectionIndex;
70 Value.data = Data.
data();
93 return extractValue(Data, OffsetPtr, FormParams,
nullptr, U);
97 return Value.data !=
nullptr && Value.data == (
const uint8_t *)Value.cstr;
154 return V->getAsCString();
166 return toString(V).getValueOr(Default);
176 return V->getAsUnsignedConstant();
198 return V->getAsReference();
220 return V->getAsSignedConstant();
231 return toSigned(V).getValueOr(Default);
241 return V->getAsAddress();
248 return V->getAsSectionedAddress();
269 return V->getAsSectionOffset();
291 return V->getAsBlock();
299 #endif // LLVM_DEBUGINFO_DWARFFORMVALUE_H
PointerUnion< const Value *, const PseudoSourceValue * > ValueType
Optional< ArrayRef< uint8_t > > toBlock(const Optional< DWARFFormValue > &V)
Take an optional DWARFFormValue and try to extract block data.
This class represents lattice values for constants.
uint64_t toUnsigned(const Optional< DWARFFormValue > &V, uint64_t Default)
Take an optional DWARFFormValue and extract a unsigned constant.
std::string toString(Error E)
Write all error messages (if any) in E to a string.
Container for dump options that control which debug information will be dumped.
uint64_t toSectionOffset(const Optional< DWARFFormValue > &V, uint64_t Default)
Take an optional DWARFFormValue and extract a section offset.
int64_t toSigned(const Optional< DWARFFormValue > &V, int64_t Default)
Take an optional DWARFFormValue and extract a signed integer.
size_t size() const
size - Get the array size.
uint64_t toReference(const Optional< DWARFFormValue > &V, uint64_t Default)
Take an optional DWARFFormValue and extract a reference.
DWARFContext This data structure is the top level entity that deals with dwarf debug information pars...
This file contains constants used for implementing Dwarf debug support.
uint64_t toAddress(const Optional< DWARFFormValue > &V, uint64_t Default)
Take an optional DWARFFormValue and extract a address.
LLVM Value Representation.
This class implements an extremely fast bulk output stream that can only output to a stream...
Optional< SectionedAddress > toSectionedAddress(const Optional< DWARFFormValue > &V)