return cast<LazyObject>(this)->fetch();
}
-ArchiveFile &LazyArchive::getFile() { return *cast<ArchiveFile>(File); }
-
InputFile *LazyArchive::fetch() {
- std::pair<MemoryBufferRef, uint64_t> MBInfo = getFile().getMember(&Sym);
+ auto *F = cast<ArchiveFile>(File);
+ std::pair<MemoryBufferRef, uint64_t> MBInfo = F->getMember(&Sym);
// getMember returns an empty buffer if the member was already
// read from the library.
if (MBInfo.first.getBuffer().empty())
return nullptr;
- return createObjectFile(MBInfo.first, getFile().getName(), MBInfo.second);
+ return createObjectFile(MBInfo.first, F->getName(), MBInfo.second);
}
-LazyObjFile &LazyObject::getFile() { return *cast<LazyObjFile>(File); }
-
-InputFile *LazyObject::fetch() { return getFile().fetch(); }
+InputFile *LazyObject::fetch() { return cast<LazyObjFile>(File)->fetch(); }
uint8_t Symbol::computeBinding() const {
if (Config->Relocatable)
static bool classof(const Symbol *S) { return S->kind() == LazyArchiveKind; }
- ArchiveFile &getFile();
InputFile *fetch();
private:
static bool classof(const Symbol *S) { return S->kind() == LazyObjectKind; }
- LazyObjFile &getFile();
InputFile *fetch();
};