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