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_
13 #include "lldb/Core/UniqueCStringMap.h"
17 #include "lldb/lldb-defines.h"
19 class SymbolFileDWARF;
21 typedef std::vector<uint32_t> DIEArray;
36 Dump (lldb_private::Stream *s);
39 Insert (const lldb_private::ConstString& name, uint32_t die_offset);
45 Find (const lldb_private::ConstString &name,
46 DIEArray &info_array) const;
49 Find (const lldb_private::RegularExpression& regex,
50 DIEArray &info_array) const;
53 FindAllEntriesForCompileUnit (uint32_t cu_offset,
54 uint32_t cu_end_offset,
55 DIEArray &info_array) const;
58 ForEach (std::function <bool(const char *name, uint32_t die_offset)> const &callback) const;
61 lldb_private::UniqueCStringMap<uint32_t> m_map;
65 #endif // SymbolFileDWARF_NameToDIE_h_