1254721Semaste//===-- DWARFDebugPubnames.h ------------------------------------*- C++ -*-===// 2254721Semaste// 3254721Semaste// The LLVM Compiler Infrastructure 4254721Semaste// 5254721Semaste// This file is distributed under the University of Illinois Open Source 6254721Semaste// License. See LICENSE.TXT for details. 7254721Semaste// 8254721Semaste//===----------------------------------------------------------------------===// 9254721Semaste 10254721Semaste#ifndef SymbolFileDWARF_DWARFDebugPubnames_h_ 11254721Semaste#define SymbolFileDWARF_DWARFDebugPubnames_h_ 12254721Semaste 13254721Semaste#include "SymbolFileDWARF.h" 14254721Semaste 15254721Semaste#include <list> 16254721Semaste 17254721Semaste#include "DWARFDebugPubnamesSet.h" 18254721Semaste 19254721Semasteclass DWARFDebugPubnames 20254721Semaste{ 21254721Semastepublic: 22254721Semaste DWARFDebugPubnames(); 23263363Semaste bool Extract(const lldb_private::DWARFDataExtractor& data); 24254721Semaste bool GeneratePubnames(SymbolFileDWARF* dwarf2Data); 25254721Semaste bool GeneratePubBaseTypes(SymbolFileDWARF* dwarf2Data); 26254721Semaste 27254721Semaste void Dump(lldb_private::Log *s) const; 28254721Semaste bool Find(const char* name, bool ignore_case, std::vector<dw_offset_t>& die_offset_coll) const; 29254721Semaste bool Find(const lldb_private::RegularExpression& regex, std::vector<dw_offset_t>& die_offsets) const; 30254721Semasteprotected: 31254721Semaste typedef std::list<DWARFDebugPubnamesSet> collection; 32254721Semaste typedef collection::iterator iterator; 33254721Semaste typedef collection::const_iterator const_iterator; 34254721Semaste 35254721Semaste collection m_sets; 36254721Semaste}; 37254721Semaste 38254721Semaste#endif // SymbolFileDWARF_DWARFDebugPubnames_h_ 39