auto BinaryOrErr = createBinary(File);
if (!BinaryOrErr)
reportError(File, BinaryOrErr.takeError());
- auto TmpBin = std::move(BinaryOrErr.get());
- std::tie(Bin, Data) = TmpBin.takeBinary();
+ auto Bin = std::move(BinaryOrErr.get());
+ std::tie(Binary, Data) = Bin.takeBinary();
}
ElfType ELFReader::getElfType() const {
- if (isa<ELFObjectFile<ELF32LE>>(Bin.get()))
+ if (auto *o = dyn_cast<ELFObjectFile<ELF32LE>>(Binary.get()))
return ELFT_ELF32LE;
- if (isa<ELFObjectFile<ELF64LE>>(Bin.get()))
+ if (auto *o = dyn_cast<ELFObjectFile<ELF64LE>>(Binary.get()))
return ELFT_ELF64LE;
- if (isa<ELFObjectFile<ELF32BE>>(Bin.get()))
+ if (auto *o = dyn_cast<ELFObjectFile<ELF32BE>>(Binary.get()))
return ELFT_ELF32BE;
- if (isa<ELFObjectFile<ELF64BE>>(Bin.get()))
+ if (auto *o = dyn_cast<ELFObjectFile<ELF64BE>>(Binary.get()))
return ELFT_ELF64BE;
llvm_unreachable("Invalid ELFType");
}
std::unique_ptr<Object> ELFReader::create() const {
auto Obj = llvm::make_unique<Object>(Data);
- if (auto *o = dyn_cast<ELFObjectFile<ELF32LE>>(Bin.get())) {
+ if (auto *o = dyn_cast<ELFObjectFile<ELF32LE>>(Binary.get())) {
ELFBuilder<ELF32LE> Builder(*o, *Obj);
Builder.build();
return Obj;
- } else if (auto *o = dyn_cast<ELFObjectFile<ELF64LE>>(Bin.get())) {
+ } else if (auto *o = dyn_cast<ELFObjectFile<ELF64LE>>(Binary.get())) {
ELFBuilder<ELF64LE> Builder(*o, *Obj);
Builder.build();
return Obj;
- } else if (auto *o = dyn_cast<ELFObjectFile<ELF32BE>>(Bin.get())) {
+ } else if (auto *o = dyn_cast<ELFObjectFile<ELF32BE>>(Binary.get())) {
ELFBuilder<ELF32BE> Builder(*o, *Obj);
Builder.build();
return Obj;
- } else if (auto *o = dyn_cast<ELFObjectFile<ELF64BE>>(Bin.get())) {
+ } else if (auto *o = dyn_cast<ELFObjectFile<ELF64BE>>(Binary.get())) {
ELFBuilder<ELF64BE> Builder(*o, *Obj);
Builder.build();
return Obj;