LLVM 22.0.0git
Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
llvm::object::Binary Class Reference

#include "llvm/Object/Binary.h"

Inheritance diagram for llvm::object::Binary:
[legend]

Public Member Functions

 Binary ()=delete
 
 Binary (const Binary &other)=delete
 
virtual ~Binary ()
 
virtual Error initContent ()
 
StringRef getData () const
 
StringRef getFileName () const
 
MemoryBufferRef getMemoryBufferRef () const
 
unsigned int getType () const
 
bool isObject () const
 
bool isSymbolic () const
 
bool isArchive () const
 
bool isMachOUniversalBinary () const
 
bool isTapiUniversal () const
 
bool isELF () const
 
bool isMachO () const
 
bool isCOFF () const
 
bool isXCOFF () const
 
bool isWasm () const
 
bool isOffloadFile () const
 
bool isCOFFImportFile () const
 
bool isIR () const
 
bool isGOFF () const
 
bool isMinidump () const
 
bool isTapiFile () const
 
bool isLittleEndian () const
 
bool isWinRes () const
 
bool isDXContainer () const
 
Triple::ObjectFormatType getTripleObjectFormat () const
 

Static Public Member Functions

static Error checkOffset (MemoryBufferRef M, uintptr_t Addr, const uint64_t Size)
 

Protected Types

enum  {
  ID_Archive , ID_MachOUniversalBinary , ID_COFFImportFile , ID_IR ,
  ID_TapiUniversal , ID_TapiFile , ID_Minidump , ID_WinRes ,
  ID_Offload , ID_StartObjects , ID_COFF , ID_XCOFF32 ,
  ID_XCOFF64 , ID_ELF32L , ID_ELF32B , ID_ELF64L ,
  ID_ELF64B , ID_MachO32L , ID_MachO32B , ID_MachO64L ,
  ID_MachO64B , ID_GOFF , ID_Wasm , ID_DXContainer ,
  ID_EndObjects
}
 

Protected Member Functions

 Binary (unsigned int Type, MemoryBufferRef Source)
 

Static Protected Member Functions

static unsigned int getELFType (bool isLE, bool is64Bits)
 
static unsigned int getMachOType (bool isLE, bool is64Bits)
 

Protected Attributes

MemoryBufferRef Data
 

Detailed Description

Definition at line 33 of file Binary.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
protected
Enumerator
ID_Archive 
ID_MachOUniversalBinary 
ID_COFFImportFile 
ID_IR 
ID_TapiUniversal 
ID_TapiFile 
ID_Minidump 
ID_WinRes 
ID_Offload 
ID_StartObjects 
ID_COFF 
ID_XCOFF32 
ID_XCOFF64 
ID_ELF32L 
ID_ELF32B 
ID_ELF64L 
ID_ELF64B 
ID_MachO32L 
ID_MachO32B 
ID_MachO64L 
ID_MachO64B 
ID_GOFF 
ID_Wasm 
ID_DXContainer 
ID_EndObjects 

Definition at line 42 of file Binary.h.

Constructor & Destructor Documentation

◆ Binary() [1/3]

Binary::Binary ( unsigned int  Type,
MemoryBufferRef  Source 
)
protected

Definition at line 36 of file Binary.cpp.

◆ Binary() [2/3]

llvm::object::Binary::Binary ( )
delete

◆ Binary() [3/3]

llvm::object::Binary::Binary ( const Binary other)
delete

◆ ~Binary()

Binary::~Binary ( )
virtualdefault

Member Function Documentation

◆ checkOffset()

static Error llvm::object::Binary::checkOffset ( MemoryBufferRef  M,
uintptr_t  Addr,
const uint64_t  Size 
)
inlinestatic

◆ getData()

StringRef Binary::getData ( ) const

◆ getELFType()

static unsigned int llvm::object::Binary::getELFType ( bool  isLE,
bool  is64Bits 
)
inlinestaticprotected

Definition at line 80 of file Binary.h.

Referenced by llvm::object::ELFObjectFile< ELFT >::classof().

◆ getFileName()

StringRef Binary::getFileName ( ) const

◆ getMachOType()

static unsigned int llvm::object::Binary::getMachOType ( bool  isLE,
bool  is64Bits 
)
inlinestaticprotected

Definition at line 87 of file Binary.h.

Referenced by llvm::object::MachOObjectFile::is64Bit().

◆ getMemoryBufferRef()

MemoryBufferRef Binary::getMemoryBufferRef ( ) const

◆ getTripleObjectFormat()

Triple::ObjectFormatType llvm::object::Binary::getTripleObjectFormat ( ) const
inline

Definition at line 167 of file Binary.h.

Referenced by llvm::InstrProfCorrelator::Context::get(), and getInstrProfSection().

◆ getType()

unsigned int llvm::object::Binary::getType ( ) const
inline

◆ initContent()

virtual Error llvm::object::Binary::initContent ( )
inlinevirtual

Reimplemented in llvm::object::ELFObjectFile< ELFT >.

Definition at line 99 of file Binary.h.

◆ isArchive()

bool llvm::object::Binary::isArchive ( ) const
inline

Definition at line 117 of file Binary.h.

◆ isCOFF()

bool llvm::object::Binary::isCOFF ( ) const
inline

◆ isCOFFImportFile()

bool llvm::object::Binary::isCOFFImportFile ( ) const
inline

Definition at line 143 of file Binary.h.

Referenced by isAnyArm64COFF(), and isECObject().

◆ isDXContainer()

bool llvm::object::Binary::isDXContainer ( ) const
inline

Definition at line 165 of file Binary.h.

◆ isELF()

bool llvm::object::Binary::isELF ( ) const
inline

◆ isGOFF()

bool llvm::object::Binary::isGOFF ( ) const
inline

Definition at line 151 of file Binary.h.

Referenced by llvm::object::ObjectFile::makeTriple().

◆ isIR()

bool llvm::object::Binary::isIR ( ) const
inline

Definition at line 147 of file Binary.h.

Referenced by isAnyArm64COFF(), and isECObject().

◆ isLittleEndian()

bool llvm::object::Binary::isLittleEndian ( ) const
inline

◆ isMachO()

bool llvm::object::Binary::isMachO ( ) const
inline

◆ isMachOUniversalBinary()

bool llvm::object::Binary::isMachOUniversalBinary ( ) const
inline

Definition at line 119 of file Binary.h.

◆ isMinidump()

bool llvm::object::Binary::isMinidump ( ) const
inline

Definition at line 153 of file Binary.h.

◆ isObject()

bool llvm::object::Binary::isObject ( ) const
inline

Definition at line 109 of file Binary.h.

◆ isOffloadFile()

bool llvm::object::Binary::isOffloadFile ( ) const
inline

Definition at line 141 of file Binary.h.

◆ isSymbolic()

bool llvm::object::Binary::isSymbolic ( ) const
inline

Definition at line 113 of file Binary.h.

◆ isTapiFile()

bool llvm::object::Binary::isTapiFile ( ) const
inline

Definition at line 155 of file Binary.h.

◆ isTapiUniversal()

bool llvm::object::Binary::isTapiUniversal ( ) const
inline

Definition at line 123 of file Binary.h.

◆ isWasm()

bool llvm::object::Binary::isWasm ( ) const
inline

◆ isWinRes()

bool llvm::object::Binary::isWinRes ( ) const
inline

Definition at line 163 of file Binary.h.

◆ isXCOFF()

bool llvm::object::Binary::isXCOFF ( ) const
inline

Definition at line 137 of file Binary.h.

Referenced by llvm::object::ObjectFile::makeTriple().

Member Data Documentation

◆ Data

MemoryBufferRef llvm::object::Binary::Data
protected

Definition at line 38 of file Binary.h.

Referenced by llvm::object::Archive::Archive(), llvm::object::BigArchive::BigArchive(), llvm::object::Archive::child_begin(), llvm::object::MinidumpFile::create(), llvm::object::ObjectFile::createObjectFile(), llvm::object::SymbolicFile::createSymbolicFile(), llvm::object::Archive::Child::getBuffer(), llvm::object::Archive::Child::getChildOffset(), llvm::object::ELFObjectFileBase::getCrelDecodeProblem(), getData(), llvm::object::COFFImportFile::getExportName(), getFileName(), getGlobalSymtabLocAndSize(), llvm::object::COFFObjectFile::getHybridObjectView(), llvm::object::XCOFFObjectFile::getImportFileTable(), llvm::object::ImportDirectoryEntryRef::getImportTableEntry(), getMemoryBufferRef(), llvm::object::MinidumpFile::getMemoryInfoList(), llvm::object::Archive::Child::getNext(), llvm::object::XCOFFObjectFile::getRawData(), llvm::object::COFFObjectFile::getRelocations(), llvm::object::COFFObjectFile::getSectionContents(), llvm::object::XCOFFObjectFile::getSectionContents(), llvm::object::XCOFFObjectFile::getSectionFileOffsetToRawData(), llvm::object::Archive::Child::getSize(), llvm::object::GOFFObjectFile::GOFFObjectFile(), llvm::object::Archive::isEmpty(), llvm::object::MachOUniversalBinary::MachOUniversalBinary(), llvm::object::COFFImportFile::printSymbolName(), llvm::object::XCOFFObjectFile::relocations(), llvm::object::COFFObjectFile::section_rel_begin(), llvm::object::COFFObjectFile::section_rel_end(), and llvm::object::OffloadBinary::write().


The documentation for this class was generated from the following files: