LLVM: include/llvm/DebugInfo/DWARF/DWARFDebugAbbrev.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9#ifndef LLVM_DEBUGINFO_DWARF_DWARFDEBUGABBREV_H
10#define LLVM_DEBUGINFO_DWARF_DWARFDEBUGABBREV_H
11
15#include
16#include
17#include
18
19namespace llvm {
20
22
25
26
28 std::vector Decls;
29
30 using const_iterator =
31 std::vector::const_iterator;
32
33public:
35
39
42
43 const_iterator begin() const {
44 return Decls.begin();
45 }
46
47 const_iterator end() const {
48 return Decls.end();
49 }
50
52
54
55private:
56 void clear();
57};
58
60 using DWARFAbbreviationDeclarationSetMap =
61 std::map<uint64_t, DWARFAbbreviationDeclarationSet>;
62
63 mutable DWARFAbbreviationDeclarationSetMap AbbrDeclSets;
64 mutable DWARFAbbreviationDeclarationSetMap::const_iterator PrevAbbrOffsetPos;
65 mutable std::optional Data;
66
67public:
69
72
75
76 DWARFAbbreviationDeclarationSetMap::const_iterator begin() const {
77 assert(!Data && "Must call parse before iterating over DWARFDebugAbbrev");
78 return AbbrDeclSets.begin();
79 }
80
81 DWARFAbbreviationDeclarationSetMap::const_iterator end() const {
82 return AbbrDeclSets.end();
83 }
84};
85
86}
87
88#endif
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
Definition DWARFDebugAbbrev.h:47
uint64_t getOffset() const
Definition DWARFDebugAbbrev.h:36
uint32_t getFirstAbbrCode() const
Definition DWARFDebugAbbrev.h:53
const_iterator begin() const
Definition DWARFDebugAbbrev.h:43
LLVM_ABI Expected< const DWARFAbbreviationDeclarationSet * > getAbbreviationDeclarationSet(uint64_t CUAbbrOffset) const
LLVM_ABI Error parse() const
DWARFAbbreviationDeclarationSetMap::const_iterator end() const
Definition DWARFDebugAbbrev.h:81
LLVM_ABI DWARFDebugAbbrev(DataExtractor Data)
LLVM_ABI void dump(raw_ostream &OS) const
DWARFAbbreviationDeclarationSetMap::const_iterator begin() const
Definition DWARFDebugAbbrev.h:76
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.
FunctionAddr VTableAddr uintptr_t uintptr_t Data