180814287SRaphael Isemann //===-- DWARFDataExtractor.cpp --------------------------------------------===// 2eeae7218SEd Maste // 32946cd70SChandler Carruth // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 42946cd70SChandler Carruth // See https://llvm.org/LICENSE.txt for license information. 52946cd70SChandler Carruth // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6eeae7218SEd Maste // 7eeae7218SEd Maste //===----------------------------------------------------------------------===// 8eeae7218SEd Maste 9eeae7218SEd Maste #include "DWARFDataExtractor.h" 10f4af9a9dSJonas Devlieghere #include "llvm/ADT/StringRef.h" 11eeae7218SEd Maste 12eeae7218SEd Maste namespace lldb_private { 13eeae7218SEd Maste 14eeae7218SEd Maste uint64_t GetDWARFInitialLength(lldb::offset_t * offset_ptr) const15b9c1b51eSKate StoneDWARFDataExtractor::GetDWARFInitialLength(lldb::offset_t *offset_ptr) const { 167e44a844SZachary Turner return GetU32(offset_ptr); 17eeae7218SEd Maste } 18eeae7218SEd Maste 19eeae7218SEd Maste dw_offset_t GetDWARFOffset(lldb::offset_t * offset_ptr) const20b9c1b51eSKate StoneDWARFDataExtractor::GetDWARFOffset(lldb::offset_t *offset_ptr) const { 21f56c30d1SGreg Clayton return GetMaxU64(offset_ptr, GetDWARFSizeOfOffset()); 22eeae7218SEd Maste } 23f4af9a9dSJonas Devlieghere GetAsLLVM() const24f4af9a9dSJonas Devliegherellvm::DWARFDataExtractor DWARFDataExtractor::GetAsLLVM() const { 25f4af9a9dSJonas Devlieghere return llvm::DWARFDataExtractor( 26*512c03baSFangrui Song llvm::makeArrayRef(GetDataStart(), GetByteSize()), 27f4af9a9dSJonas Devlieghere GetByteOrder() == lldb::eByteOrderLittle, GetAddressByteSize()); 28eeae7218SEd Maste } 29f4af9a9dSJonas Devlieghere } // namespace lldb_private 30