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_
15 #include "lldb/Core/dwarf.h"
16 #include "lldb/Core/UniqueCStringMap.h"
17 #include "lldb/lldb-defines.h"
20 class SymbolFileDWARF;
35 Dump (lldb_private::Stream *s);
38 Insert (const lldb_private::ConstString& name, const DIERef& die_ref);
41 Append (const NameToDIE& other);
47 Find (const lldb_private::ConstString &name, DIEArray &info_array) const;
50 Find (const lldb_private::RegularExpression& regex, DIEArray &info_array) const;
53 FindAllEntriesForCompileUnit (dw_offset_t cu_offset, DIEArray &info_array) const;
56 ForEach (std::function <bool(const char *name, const DIERef& die_ref)> const &callback) const;
59 lldb_private::UniqueCStringMap<DIERef> m_map;
62 #endif // SymbolFileDWARF_NameToDIE_h_