1061da546Spatrick //===-- DWARFDataExtractor.h ------------------------------------*- C++ -*-===// 2061da546Spatrick // 3061da546Spatrick // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4061da546Spatrick // See https://llvm.org/LICENSE.txt for license information. 5061da546Spatrick // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6061da546Spatrick // 7061da546Spatrick //===----------------------------------------------------------------------===// 8061da546Spatrick 9*dda28197Spatrick #ifndef LLDB_SOURCE_PLUGINS_SYMBOLFILE_DWARF_DWARFDATAEXTRACTOR_H 10*dda28197Spatrick #define LLDB_SOURCE_PLUGINS_SYMBOLFILE_DWARF_DWARFDATAEXTRACTOR_H 11061da546Spatrick 12061da546Spatrick #include "lldb/Core/dwarf.h" 13061da546Spatrick #include "lldb/Utility/DataExtractor.h" 14061da546Spatrick #include "llvm/DebugInfo/DWARF/DWARFDataExtractor.h" 15061da546Spatrick 16061da546Spatrick namespace lldb_private { 17061da546Spatrick 18061da546Spatrick class DWARFDataExtractor : public DataExtractor { 19061da546Spatrick public: 20061da546Spatrick DWARFDataExtractor() = default; 21061da546Spatrick DWARFDataExtractor(const DWARFDataExtractor & data,lldb::offset_t offset,lldb::offset_t length)22061da546Spatrick DWARFDataExtractor(const DWARFDataExtractor &data, lldb::offset_t offset, 23061da546Spatrick lldb::offset_t length) 24061da546Spatrick : DataExtractor(data, offset, length) {} 25061da546Spatrick 26061da546Spatrick uint64_t GetDWARFInitialLength(lldb::offset_t *offset_ptr) const; 27061da546Spatrick 28061da546Spatrick dw_offset_t GetDWARFOffset(lldb::offset_t *offset_ptr) const; 29061da546Spatrick GetDWARFSizeofInitialLength()30061da546Spatrick size_t GetDWARFSizeofInitialLength() const { return 4; } GetDWARFSizeOfOffset()31061da546Spatrick size_t GetDWARFSizeOfOffset() const { return 4; } 32061da546Spatrick 33061da546Spatrick llvm::DWARFDataExtractor GetAsLLVM() const; 34061da546Spatrick }; 35061da546Spatrick } 36061da546Spatrick 37*dda28197Spatrick #endif // LLDB_SOURCE_PLUGINS_SYMBOLFILE_DWARF_DWARFDATAEXTRACTOR_H 38