124943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner//===-- DWARFDebugPubnames.h ------------------------------------*- C++ -*-===// 224943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner// 324943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner// The LLVM Compiler Infrastructure 424943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner// 524943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner// This file is distributed under the University of Illinois Open Source 624943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner// License. See LICENSE.TXT for details. 724943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner// 824943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner//===----------------------------------------------------------------------===// 924943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 10d996d0c32b483c2190e1eb288cd3bbbd259c2960Greg Clayton#ifndef SymbolFileDWARF_DWARFDebugPubnames_h_ 1124943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner#define SymbolFileDWARF_DWARFDebugPubnames_h_ 1224943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 1324943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner#include "SymbolFileDWARF.h" 1424943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 1524943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner#include <list> 1624943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 1724943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner#include "DWARFDebugPubnamesSet.h" 1824943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 1924943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattnerclass DWARFDebugPubnames 2024943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner{ 2124943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattnerpublic: 2224943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner DWARFDebugPubnames(); 2324943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner bool Extract(const lldb_private::DataExtractor& data); 2424943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner bool GeneratePubnames(SymbolFileDWARF* dwarf2Data); 2524943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner bool GeneratePubBaseTypes(SymbolFileDWARF* dwarf2Data); 2624943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 2724943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner void Dump(lldb_private::Log *s) const; 2824943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner bool Find(const char* name, bool ignore_case, std::vector<dw_offset_t>& die_offset_coll) const; 2924943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner bool Find(const lldb_private::RegularExpression& regex, std::vector<dw_offset_t>& die_offsets) const; 3024943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattnerprotected: 3124943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner typedef std::list<DWARFDebugPubnamesSet> collection; 3224943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner typedef collection::iterator iterator; 3324943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner typedef collection::const_iterator const_iterator; 3424943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 3524943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner collection m_sets; 3624943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner}; 3724943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner 3824943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner#endif // SymbolFileDWARF_DWARFDebugPubnames_h_ 39