diff options
author | Fangrui Song <maskray@google.com> | 2019-05-14 04:22:51 +0000 |
---|---|---|
committer | Fangrui Song <maskray@google.com> | 2019-05-14 04:22:51 +0000 |
commit | e1cb2c0f404d9fe68f5f465a281be295ca24ec33 (patch) | |
tree | 7b6e58ac12ce6b1e8deb5e2542f4a95cba445585 /llvm/lib/Object/MachOObjectFile.cpp | |
parent | fe1aec0dbb1638b5ce84c9ad71d1c8bee4f1f8ac (diff) | |
download | bcm5719-llvm-e1cb2c0f404d9fe68f5f465a281be295ca24ec33.tar.gz bcm5719-llvm-e1cb2c0f404d9fe68f5f465a281be295ca24ec33.zip |
[Object] Change ObjectFile::getSectionContents to return Expected<ArrayRef<uint8_t>>
Change
std::error_code getSectionContents(DataRefImpl, StringRef &) const;
to
Expected<ArrayRef<uint8_t>> getSectionContents(DataRefImpl) const;
Many object formats use ArrayRef<uint8_t> as the underlying type, which
is generally better than StringRef to represent binary data, so change
the type to decrease the number of type conversions.
Reviewed By: ruiu, sbc100
Differential Revision: https://reviews.llvm.org/D61781
llvm-svn: 360648
Diffstat (limited to 'llvm/lib/Object/MachOObjectFile.cpp')
-rw-r--r-- | llvm/lib/Object/MachOObjectFile.cpp | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/llvm/lib/Object/MachOObjectFile.cpp b/llvm/lib/Object/MachOObjectFile.cpp index 1aa57bbbc76..d8bcf10f075 100644 --- a/llvm/lib/Object/MachOObjectFile.cpp +++ b/llvm/lib/Object/MachOObjectFile.cpp @@ -1907,8 +1907,8 @@ uint64_t MachOObjectFile::getSectionSize(DataRefImpl Sec) const { return SectSize; } -std::error_code MachOObjectFile::getSectionContents(DataRefImpl Sec, - StringRef &Res) const { +Expected<ArrayRef<uint8_t>> +MachOObjectFile::getSectionContents(DataRefImpl Sec) const { uint32_t Offset; uint64_t Size; @@ -1922,8 +1922,7 @@ std::error_code MachOObjectFile::getSectionContents(DataRefImpl Sec, Size = Sect.size; } - Res = this->getData().substr(Offset, Size); - return std::error_code(); + return arrayRefFromStringRef(getData().substr(Offset, Size)); } uint64_t MachOObjectFile::getSectionAlignment(DataRefImpl Sec) const { |