diff options
author | Rui Ueyama <ruiu@google.com> | 2014-10-09 02:16:38 +0000 |
---|---|---|
committer | Rui Ueyama <ruiu@google.com> | 2014-10-09 02:16:38 +0000 |
commit | 979fb40be0ba586f63a9c973581117ecef99b601 (patch) | |
tree | ba9fe560a9a20275a6180b58b1628c00056903de /llvm/lib | |
parent | 143f02c47d3e09015fa954b9888bfca8db30bdcb (diff) | |
download | bcm5719-llvm-979fb40be0ba586f63a9c973581117ecef99b601.tar.gz bcm5719-llvm-979fb40be0ba586f63a9c973581117ecef99b601.zip |
Object: Add range iterators for COFF import/export table
llvm-svn: 219383
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/Object/COFFObjectFile.cpp | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/llvm/lib/Object/COFFObjectFile.cpp b/llvm/lib/Object/COFFObjectFile.cpp index ebf24a931ce..adc68ec62c5 100644 --- a/llvm/lib/Object/COFFObjectFile.cpp +++ b/llvm/lib/Object/COFFObjectFile.cpp @@ -730,6 +730,22 @@ unsigned COFFObjectFile::getArch() const { } } +iterator_range<import_directory_iterator> +COFFObjectFile::import_directories() const { + return make_range(import_directory_begin(), import_directory_end()); +} + +iterator_range<delay_import_directory_iterator> +COFFObjectFile::delay_import_directories() const { + return make_range(delay_import_directory_begin(), + delay_import_directory_end()); +} + +iterator_range<export_directory_iterator> +COFFObjectFile::export_directories() const { + return make_range(export_directory_begin(), export_directory_end()); +} + std::error_code COFFObjectFile::getPE32Header(const pe32_header *&Res) const { Res = PE32Header; return object_error::success; @@ -1094,6 +1110,11 @@ ImportDirectoryEntryRef::imported_symbol_end() const { OwningObject); } +iterator_range<imported_symbol_iterator> +ImportDirectoryEntryRef::imported_symbols() const { + return make_range(imported_symbol_begin(), imported_symbol_end()); +} + std::error_code ImportDirectoryEntryRef::getName(StringRef &Result) const { uintptr_t IntPtr = 0; if (std::error_code EC = @@ -1146,6 +1167,11 @@ DelayImportDirectoryEntryRef::imported_symbol_end() const { OwningObject); } +iterator_range<imported_symbol_iterator> +DelayImportDirectoryEntryRef::imported_symbols() const { + return make_range(imported_symbol_begin(), imported_symbol_end()); +} + std::error_code DelayImportDirectoryEntryRef::getName(StringRef &Result) const { uintptr_t IntPtr = 0; if (std::error_code EC = OwningObject->getRvaPtr(Table[Index].Name, IntPtr)) |