//===-- DWARFDebugPubnames.h ------------------------------------*- C++ -*-===// // // The LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// #ifndef SymbolFileDWARF_DWARFDebugPubnames_h_ #define SymbolFileDWARF_DWARFDebugPubnames_h_ #include "SymbolFileDWARF.h" #include #include "DWARFDebugPubnamesSet.h" class DWARFDebugPubnames { public: DWARFDebugPubnames(); bool Extract(const lldb_private::DWARFDataExtractor &data); bool GeneratePubnames(SymbolFileDWARF *dwarf2Data); bool GeneratePubBaseTypes(SymbolFileDWARF *dwarf2Data); void Dump(lldb_private::Log *s) const; bool Find(const char *name, bool ignore_case, std::vector &die_offset_coll) const; bool Find(const lldb_private::RegularExpression ®ex, std::vector &die_offsets) const; protected: typedef std::list collection; typedef collection::iterator iterator; typedef collection::const_iterator const_iterator; collection m_sets; }; #endif // SymbolFileDWARF_DWARFDebugPubnames_h_