Remove two uses of getObject.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178985 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Rafael Espindola 2013-04-07 15:46:05 +00:00
parent 1efa60453b
commit 0be4eafd9c
3 changed files with 6 additions and 13 deletions

View File

@ -160,6 +160,7 @@ public:
getSymbol64TableEntry(DataRefImpl DRI) const;
const MachOFormat::SymbolTableEntry *
getSymbolTableEntry(DataRefImpl DRI) const;
bool is64Bit() const;
const MachOObject *getObject() const { return MachOObj.get(); }

View File

@ -41,6 +41,9 @@ MachOObjectFile::MachOObjectFile(MemoryBuffer *Object, MachOObject *MOO,
}
}
bool MachOObjectFile::is64Bit() const {
return MachOObj->is64Bit();
}
ObjectFile *ObjectFile::createMachOObjectFile(MemoryBuffer *Buffer) {
error_code ec;

View File

@ -157,20 +157,10 @@ namespace {
};
}
static bool is64BitLoadCommand(const MachOObject *MachOObj, DataRefImpl DRI) {
LoadCommandInfo LCI = MachOObj->getLoadCommandInfo(DRI.d.a);
if (LCI.Command.Type == macho::LCT_Segment64)
return true;
assert(LCI.Command.Type == macho::LCT_Segment && "Unexpected Type.");
return false;
}
static void getSection(const MachOObjectFile *Obj,
DataRefImpl DRI,
MachOSection &Section) {
const MachOObject *MachOObj = Obj->getObject();
if (is64BitLoadCommand(MachOObj, DRI)) {
if (Obj->is64Bit()) {
const MachOFormat::Section64 *Sect = Obj->getSection64(DRI);
Section.Address = Sect->Address;
@ -200,8 +190,7 @@ static void getSection(const MachOObjectFile *Obj,
static void getSymbol(const MachOObjectFile *Obj,
DataRefImpl DRI,
MachOSymbol &Symbol) {
const MachOObject *MachOObj = Obj->getObject();
if (MachOObj->is64Bit()) {
if (Obj->is64Bit()) {
const MachOFormat::Symbol64TableEntry *Entry =
Obj->getSymbol64TableEntry( DRI);
Symbol.StringIndex = Entry->StringIndex;