1 //===-- NameToDIE.h ---------------------------------------------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 #ifndef SymbolFileDWARF_NameToDIE_h_
11 #define SymbolFileDWARF_NameToDIE_h_
16 #include "lldb/Core/UniqueCStringMap.h"
17 #include "lldb/Core/dwarf.h"
18 #include "lldb/lldb-defines.h"
20 class SymbolFileDWARF;
24 NameToDIE() : m_map() {}
28 void Dump(lldb_private::Stream *s);
30 void Insert(const lldb_private::ConstString &name, const DIERef &die_ref);
32 void Append(const NameToDIE &other);
36 size_t Find(const lldb_private::ConstString &name,
37 DIEArray &info_array) const;
39 size_t Find(const lldb_private::RegularExpression ®ex,
40 DIEArray &info_array) const;
42 size_t FindAllEntriesForCompileUnit(dw_offset_t cu_offset,
43 DIEArray &info_array) const;
46 ForEach(std::function<bool(lldb_private::ConstString name,
47 const DIERef &die_ref)> const
51 lldb_private::UniqueCStringMap<DIERef> m_map;
54 #endif // SymbolFileDWARF_NameToDIE_h_