- virtual error_code getRelocationNext(DataRefImpl Rel,
- RelocationRef &Res) const = 0;
- virtual error_code getRelocationAddress(DataRefImpl Rel,
- uint64_t &Res) const =0;
- virtual error_code getRelocationOffset(DataRefImpl Rel,
- uint64_t &Res) const =0;
- virtual error_code getRelocationSymbol(DataRefImpl Rel,
- SymbolRef &Res) const = 0;
- virtual error_code getRelocationType(DataRefImpl Rel,
- uint64_t &Res) const = 0;
- virtual error_code getRelocationTypeName(DataRefImpl Rel,
- SmallVectorImpl<char> &Result) const = 0;
- virtual error_code getRelocationAdditionalInfo(DataRefImpl Rel,
- int64_t &Res) const = 0;
- virtual error_code getRelocationValueString(DataRefImpl Rel,
- SmallVectorImpl<char> &Result) const = 0;
- virtual error_code getRelocationHidden(DataRefImpl Rel, bool &Result) const {
- Result = false;
- return object_error::success;
- }
-
- // Same for LibraryRef
- friend class LibraryRef;
- virtual error_code getLibraryNext(DataRefImpl Lib, LibraryRef &Res) const = 0;
- virtual error_code getLibraryPath(DataRefImpl Lib, StringRef &Res) const = 0;
+ virtual void moveRelocationNext(DataRefImpl &Rel) const = 0;
+ virtual uint64_t getRelocationOffset(DataRefImpl Rel) const = 0;
+ virtual symbol_iterator getRelocationSymbol(DataRefImpl Rel) const = 0;
+ virtual uint64_t getRelocationType(DataRefImpl Rel) const = 0;
+ virtual void getRelocationTypeName(DataRefImpl Rel,
+ SmallVectorImpl<char> &Result) const = 0;