diff options
-rw-r--r-- | include/llvm/Object/MachO.h | 36 |
1 files changed, 21 insertions, 15 deletions
diff --git a/include/llvm/Object/MachO.h b/include/llvm/Object/MachO.h index 1b0ca29543..2eb094af4c 100644 --- a/include/llvm/Object/MachO.h +++ b/include/llvm/Object/MachO.h @@ -327,21 +327,8 @@ public: SymbolTableEntry; typedef typename MachOObjectFileHelper<is64Bits>::Section Section; - MachOObjectFile(MemoryBuffer *Object, error_code &ec) : - MachOObjectFileBase(Object, is64Bits, ec) { - DataRefImpl DRI; - moveToNextSection(DRI); - uint32_t LoadCommandCount = getHeader()->NumLoadCommands; - while (DRI.d.a < LoadCommandCount) { - Sections.push_back(DRI); - DRI.d.b++; - moveToNextSection(DRI); - } - } - - static inline bool classof(const Binary *v) { - return v->getType() == getMachOType(true, is64Bits); - } + MachOObjectFile(MemoryBuffer *Object, error_code &ec); + static bool classof(const Binary *v); const Section *getSection(DataRefImpl DRI) const; const SymbolTableEntry *getSymbolTableEntry(DataRefImpl DRI) const; @@ -376,6 +363,25 @@ public: }; template<bool is64Bits> +MachOObjectFile<is64Bits>::MachOObjectFile(MemoryBuffer *Object, + error_code &ec) : + MachOObjectFileBase(Object, is64Bits, ec) { + DataRefImpl DRI; + moveToNextSection(DRI); + uint32_t LoadCommandCount = getHeader()->NumLoadCommands; + while (DRI.d.a < LoadCommandCount) { + Sections.push_back(DRI); + DRI.d.b++; + moveToNextSection(DRI); + } +} + +template<bool is64Bits> +bool MachOObjectFile<is64Bits>::classof(const Binary *v) { + return v->getType() == getMachOType(true, is64Bits); +} + +template<bool is64Bits> const typename MachOObjectFile<is64Bits>::Section * MachOObjectFile<is64Bits>::getSection(DataRefImpl DRI) const { const SectionBase *Addr = getSectionBase(DRI); |