LLVM 22.0.0git
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() [2/3]

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

◆ Binary() [3/3]

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

References Binary().

◆ ~Binary()

Binary::~Binary ( )
virtualdefault

Member Function Documentation

◆ checkOffset()

◆ getData()

◆ getELFType()

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

Definition at line 80 of file Binary.h.

References ID_ELF32B, ID_ELF32L, ID_ELF64B, and ID_ELF64L.

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

◆ getFileName()

◆ getMachOType()

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

Definition at line 87 of file Binary.h.

References ID_MachO32B, ID_MachO32L, ID_MachO64B, and ID_MachO64L.

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

◆ getMemoryBufferRef()

◆ getTripleObjectFormat()

◆ getType()

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

◆ initContent()

◆ isArchive()

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

Definition at line 117 of file Binary.h.

References ID_Archive.

◆ isCOFF()

◆ isCOFFImportFile()

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

Definition at line 143 of file Binary.h.

References ID_COFFImportFile.

Referenced by isAnyArm64COFF(), isECObject(), and isSymbolic().

◆ isDXContainer()

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

Definition at line 165 of file Binary.h.

References ID_DXContainer.

◆ isELF()

◆ isGOFF()

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

Definition at line 151 of file Binary.h.

References ID_GOFF.

Referenced by getTripleObjectFormat(), and llvm::object::ObjectFile::makeTriple().

◆ isIR()

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

Definition at line 147 of file Binary.h.

References ID_IR.

Referenced by isAnyArm64COFF(), isECObject(), and isSymbolic().

◆ isLittleEndian()

◆ isMachO()

◆ isMachOUniversalBinary()

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

Definition at line 119 of file Binary.h.

References ID_MachOUniversalBinary.

◆ isMinidump()

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

Definition at line 153 of file Binary.h.

References ID_Minidump.

◆ isObject()

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

Definition at line 109 of file Binary.h.

References ID_EndObjects, and ID_StartObjects.

Referenced by isSymbolic().

◆ isOffloadFile()

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

Definition at line 141 of file Binary.h.

References ID_Offload.

◆ isSymbolic()

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

Definition at line 113 of file Binary.h.

References isCOFFImportFile(), isIR(), isObject(), and isTapiFile().

◆ isTapiFile()

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

Definition at line 155 of file Binary.h.

References ID_TapiFile.

Referenced by isSymbolic().

◆ isTapiUniversal()

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

Definition at line 123 of file Binary.h.

References ID_TapiUniversal.

◆ isWasm()

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

◆ isWinRes()

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

Definition at line 163 of file Binary.h.

References ID_WinRes.

◆ isXCOFF()

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

Definition at line 137 of file Binary.h.

References ID_XCOFF32, and ID_XCOFF64.

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

Member Data Documentation

◆ Data


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