1257752Semaste//===-- DWARFDataExtractor.h ------------------------------------*- C++ -*-===// 2257752Semaste// 3353358Sdim// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4353358Sdim// See https://llvm.org/LICENSE.txt for license information. 5353358Sdim// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6257752Semaste// 7257752Semaste//===----------------------------------------------------------------------===// 8257752Semaste 9314564Sdim#ifndef liblldb_DWARFDataExtractor_h_ 10314564Sdim#define liblldb_DWARFDataExtractor_h_ 11257752Semaste 12257752Semaste#include "lldb/Core/dwarf.h" 13321369Sdim#include "lldb/Utility/DataExtractor.h" 14353358Sdim#include "llvm/DebugInfo/DWARF/DWARFDataExtractor.h" 15257752Semaste 16257752Semastenamespace lldb_private { 17257752Semaste 18321369Sdimclass DWARFDataExtractor : public DataExtractor { 19257752Semastepublic: 20353358Sdim DWARFDataExtractor() = default; 21257752Semaste 22314564Sdim DWARFDataExtractor(const DWARFDataExtractor &data, lldb::offset_t offset, 23314564Sdim lldb::offset_t length) 24353358Sdim : DataExtractor(data, offset, length) {} 25257752Semaste 26314564Sdim uint64_t GetDWARFInitialLength(lldb::offset_t *offset_ptr) const; 27257752Semaste 28314564Sdim dw_offset_t GetDWARFOffset(lldb::offset_t *offset_ptr) const; 29257752Semaste 30353358Sdim size_t GetDWARFSizeofInitialLength() const { return 4; } 31353358Sdim size_t GetDWARFSizeOfOffset() const { return 4; } 32280031Sdim 33353358Sdim llvm::DWARFDataExtractor GetAsLLVM() const; 34257752Semaste}; 35257752Semaste} 36257752Semaste 37314564Sdim#endif // liblldb_DWARFDataExtractor_h_ 38