Files
clang-p2996/lldb/source/Plugins/SymbolFile/DWARF/DWARFDataExtractor.h
Jonas Devlieghere f4af9a9d80 Add convenience methods to convert LLDB to LLVM data structures.
This patch adds two convenience methods named GetAsLLVM to the LLDB
counterparts of the DWARF DataExtractor and the DWARF context. The
DWARFContext, once created, is cached for future usage.

Differential revision: https://reviews.llvm.org/D64535

llvm-svn: 365819
2019-07-11 20:26:53 +00:00

38 lines
1.2 KiB
C++

//===-- DWARFDataExtractor.h ------------------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
#ifndef liblldb_DWARFDataExtractor_h_
#define liblldb_DWARFDataExtractor_h_
#include "lldb/Core/dwarf.h"
#include "lldb/Utility/DataExtractor.h"
#include "llvm/DebugInfo/DWARF/DWARFDataExtractor.h"
namespace lldb_private {
class DWARFDataExtractor : public DataExtractor {
public:
DWARFDataExtractor() = default;
DWARFDataExtractor(const DWARFDataExtractor &data, lldb::offset_t offset,
lldb::offset_t length)
: DataExtractor(data, offset, length) {}
uint64_t GetDWARFInitialLength(lldb::offset_t *offset_ptr) const;
dw_offset_t GetDWARFOffset(lldb::offset_t *offset_ptr) const;
size_t GetDWARFSizeofInitialLength() const { return 4; }
size_t GetDWARFSizeOfOffset() const { return 4; }
llvm::DWARFDataExtractor GetAsLLVM() const;
};
}
#endif // liblldb_DWARFDataExtractor_h_