DWARFDataExtractor.h revision 280031
1257752Semaste//===-- DWARFDataExtractor.h ------------------------------------*- C++ -*-===// 2257752Semaste// 3257752Semaste// The LLVM Compiler Infrastructure 4257752Semaste// 5257752Semaste// This file is distributed under the University of Illinois Open Source 6257752Semaste// License. See LICENSE.TXT for details. 7257752Semaste// 8257752Semaste//===----------------------------------------------------------------------===// 9257752Semaste 10257752Semaste#ifndef liblldb_DWARFDataExtractor_h_ 11257752Semaste#define liblldb_DWARFDataExtractor_h_ 12257752Semaste 13257752Semaste// Other libraries and framework includes. 14257752Semaste#include "lldb/Core/DataExtractor.h" 15257752Semaste#include "lldb/Core/dwarf.h" 16257752Semaste 17257752Semastenamespace lldb_private { 18257752Semaste 19257752Semasteclass DWARFDataExtractor : public lldb_private::DataExtractor 20257752Semaste{ 21257752Semastepublic: 22257752Semaste DWARFDataExtractor() : DataExtractor(), m_is_dwarf64(false) { }; 23257752Semaste 24257752Semaste DWARFDataExtractor (const DWARFDataExtractor& data, lldb::offset_t offset, lldb::offset_t length) : 25257752Semaste DataExtractor(data, offset, length), m_is_dwarf64(false) { }; 26257752Semaste 27257752Semaste uint64_t 28257752Semaste GetDWARFInitialLength(lldb::offset_t *offset_ptr) const; 29257752Semaste 30257752Semaste dw_offset_t 31257752Semaste GetDWARFOffset(lldb::offset_t *offset_ptr) const; 32257752Semaste 33257752Semaste size_t 34257752Semaste GetDWARFSizeofInitialLength() const { return m_is_dwarf64 ? 12 : 4; } 35257752Semaste 36280031Sdim bool 37280031Sdim IsDWARF64() const { return m_is_dwarf64; } 38280031Sdim 39257752Semasteprotected: 40257752Semaste mutable bool m_is_dwarf64; 41257752Semaste}; 42257752Semaste 43257752Semaste} 44257752Semaste 45257752Semaste#endif // liblldb_DWARFDataExtractor_h_ 46257752Semaste 47