9#ifndef LLVM_DEBUGINFO_DWARF_DWARFDEBUGABBREV_H
10#define LLVM_DEBUGINFO_DWARF_DWARFDEBUGABBREV_H
28 std::vector<DWARFAbbreviationDeclaration> Decls;
30 using const_iterator =
31 std::vector<DWARFAbbreviationDeclaration>::const_iterator;
47 const_iterator
end()
const {
60 using DWARFAbbreviationDeclarationSetMap =
61 std::map<uint64_t, DWARFAbbreviationDeclarationSet>;
63 mutable DWARFAbbreviationDeclarationSetMap AbbrDeclSets;
64 mutable DWARFAbbreviationDeclarationSetMap::const_iterator PrevAbbrOffsetPos;
65 mutable std::optional<DataExtractor> Data;
76 DWARFAbbreviationDeclarationSetMap::const_iterator
begin()
const {
77 assert(!Data &&
"Must call parse before iterating over DWARFDebugAbbrev");
78 return AbbrDeclSets.begin();
81 DWARFAbbreviationDeclarationSetMap::const_iterator
end()
const {
82 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 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.