Make Binary the parent of ObjectFile and update children to new interface.

llvm-svn: 133870
This commit is contained in:
Michael J. Spencer
2011-06-25 17:54:50 +00:00
parent b02c95d43e
commit ec29b121ff
9 changed files with 222 additions and 170 deletions

View File

@@ -32,8 +32,8 @@ typedef MachOObject::LoadCommandInfo LoadCommandInfo;
class MachOObjectFile : public ObjectFile {
public:
MachOObjectFile(MemoryBuffer *Object, MachOObject *MOO)
: ObjectFile(Object),
MachOObjectFile(MemoryBuffer *Object, MachOObject *MOO, error_code &ec)
: ObjectFile(Binary::isMachO, Object, ec),
MachOObj(MOO),
RegisteredStringTable(std::numeric_limits<uint32_t>::max()) {}
@@ -73,11 +73,12 @@ private:
};
ObjectFile *ObjectFile::createMachOObjectFile(MemoryBuffer *Buffer) {
error_code ec;
std::string Err;
MachOObject *MachOObj = MachOObject::LoadFromBuffer(Buffer, &Err);
if (!MachOObj)
return NULL;
return new MachOObjectFile(Buffer, MachOObj);
return new MachOObjectFile(Buffer, MachOObj, ec);
}
/*===-- Symbols -----------------------------------------------------------===*/