9#ifndef LLVM_DEBUGINFO_DWARF_DWARFDEBUGABBREV_H
10#define LLVM_DEBUGINFO_DWARF_DWARFDEBUGABBREV_H
31 std::optional<int64_t> &ImplicitConst);
38 std::vector<DWARFAbbreviationDeclaration> Decls;
40 using const_iterator =
41 std::vector<DWARFAbbreviationDeclaration>::const_iterator;
57 const_iterator
end()
const {
70 using DWARFAbbreviationDeclarationSetMap =
71 std::map<uint64_t, DWARFAbbreviationDeclarationSet>;
73 mutable DWARFAbbreviationDeclarationSetMap AbbrDeclSets;
74 mutable DWARFAbbreviationDeclarationSetMap::const_iterator PrevAbbrOffsetPos;
75 mutable std::optional<DataExtractor> Data;
86 DWARFAbbreviationDeclarationSetMap::const_iterator
begin()
const {
87 assert(!Data &&
"Must call parse before iterating over DWARFDebugAbbrev");
88 return AbbrDeclSets.begin();
91 DWARFAbbreviationDeclarationSetMap::const_iterator
end()
const {
92 return AbbrDeclSets.end();
assert(UImm &&(UImm !=~static_cast< T >(0)) &&"Invalid immediate!")
LLVM_ABI void dump(raw_ostream &OS) const
LLVM_ABI DWARFAbbreviationDeclarationSet()
LLVM_ABI const DWARFAbbreviationDeclaration * getAbbreviationDeclaration(uint32_t AbbrCode) const
LLVM_ABI std::string getCodeRange() const
const_iterator end() const
uint64_t getOffset() const
uint32_t getFirstAbbrCode() const
const_iterator begin() const
LLVM_ABI Expected< const DWARFAbbreviationDeclarationSet * > getAbbreviationDeclarationSet(uint64_t CUAbbrOffset) const
LLVM_ABI Error parse() const
DWARFAbbreviationDeclarationSetMap::const_iterator end() const
LLVM_ABI DWARFDebugAbbrev(DataExtractor Data)
LLVM_ABI void dump(raw_ostream &OS) const
DWARFAbbreviationDeclarationSetMap::const_iterator begin() const
Lightweight error class with error context and mandatory checking.
Tagged union holding either a T or a Error.
This class implements an extremely fast bulk output stream that can only output to a stream.
This is an optimization pass for GlobalISel generic memory operations.
LLVM_ABI bool readAbbrevAttribute(const DataExtractor &AbbrevData, uint64_t *Offset, dwarf::Attribute &Name, dwarf::Form &Form, std::optional< int64_t > &ImplicitConst)
Read the next (attribute, form) specification from an abbreviation declaration at Offset,...