diff options
Diffstat (limited to 'include/llvm/DebugInfo/DWARF/DWARFDebugAbbrev.h')
-rw-r--r-- | include/llvm/DebugInfo/DWARF/DWARFDebugAbbrev.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/include/llvm/DebugInfo/DWARF/DWARFDebugAbbrev.h b/include/llvm/DebugInfo/DWARF/DWARFDebugAbbrev.h index 65571598d7432..d277ec382ba56 100644 --- a/include/llvm/DebugInfo/DWARF/DWARFDebugAbbrev.h +++ b/include/llvm/DebugInfo/DWARF/DWARFDebugAbbrev.h @@ -56,8 +56,9 @@ class DWARFDebugAbbrev { using DWARFAbbreviationDeclarationSetMap = std::map<uint64_t, DWARFAbbreviationDeclarationSet>; - DWARFAbbreviationDeclarationSetMap AbbrDeclSets; + mutable DWARFAbbreviationDeclarationSetMap AbbrDeclSets; mutable DWARFAbbreviationDeclarationSetMap::const_iterator PrevAbbrOffsetPos; + mutable Optional<DataExtractor> Data; public: DWARFDebugAbbrev(); @@ -66,9 +67,11 @@ public: getAbbreviationDeclarationSet(uint64_t CUAbbrOffset) const; void dump(raw_ostream &OS) const; + void parse() const; void extract(DataExtractor Data); DWARFAbbreviationDeclarationSetMap::const_iterator begin() const { + parse(); return AbbrDeclSets.begin(); } |