LLVM 22.0.0git
llvm::object::BigArchive Class Reference

#include "llvm/Object/Archive.h"

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

Classes

struct  FixLenHdr
 Fixed-Length Header. More...

Public Member Functions

LLVM_ABI BigArchive (MemoryBufferRef Source, Error &Err)
uint64_t getFirstChildOffset () const override
uint64_t getLastChildOffset () const
bool isEmpty () const override
bool has32BitGlobalSymtab ()
bool has64BitGlobalSymtab ()
Public Member Functions inherited from llvm::object::Archive
 Archive (MemoryBufferRef Source, Error &Err)
 Archive (Archive const &)=delete
Archiveoperator= (Archive const &)=delete
Kind kind () const
bool isThin () const
child_iterator child_begin (Error &Err, bool SkipInternal=true) const
child_iterator child_end () const
iterator_range< child_iteratorchildren (Error &Err, bool SkipInternal=true) const
symbol_iterator symbol_begin () const
symbol_iterator symbol_end () const
iterator_range< symbol_iteratorsymbols () const
Expected< iterator_range< symbol_iterator > > ec_symbols () const
Expected< std::optional< Child > > findSym (StringRef name) const
bool hasSymbolTable () const
StringRef getSymbolTable () const
StringRef getStringTable () const
uint32_t getNumberOfSymbols () const
uint32_t getNumberOfECSymbols () const
std::vector< std::unique_ptr< MemoryBuffer > > takeThinBuffers ()
std::unique_ptr< AbstractArchiveMemberHeadercreateArchiveMemberHeader (const char *RawHeaderPtr, uint64_t Size, Error *Err) const
Public Member Functions inherited from llvm::object::Binary
 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

Public Attributes

const FixLenHdrArFixLenHdr
uint64_t FirstChildOffset = 0
uint64_t LastChildOffset = 0
std::string MergedGlobalSymtabBuf
bool Has32BitGlobalSymtab = false
bool Has64BitGlobalSymtab = false

Additional Inherited Members

Public Types inherited from llvm::object::Archive
enum  Kind {
  K_GNU , K_GNU64 , K_BSD , K_DARWIN ,
  K_DARWIN64 , K_COFF , K_AIXBIG
}
using child_iterator = fallible_iterator<ChildFallibleIterator>
Static Public Member Functions inherited from llvm::object::Archive
static Expected< std::unique_ptr< Archive > > create (MemoryBufferRef Source)
static object::Archive::Kind getDefaultKind ()
static object::Archive::Kind getDefaultKindForTriple (const Triple &T)
static bool classof (Binary const *v)
Static Public Member Functions inherited from llvm::object::Binary
static Error checkOffset (MemoryBufferRef M, uintptr_t Addr, const uint64_t Size)
Static Public Attributes inherited from llvm::object::Archive
static const uint64_t MaxMemberSize = 9999999999
 Size field is 10 decimal digits long.
Protected Types inherited from llvm::object::Binary
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 inherited from llvm::object::Archive
uint64_t getArchiveMagicLen () const
void setFirstRegular (const Child &C)
Protected Member Functions inherited from llvm::object::Binary
 Binary (unsigned int Type, MemoryBufferRef Source)
Static Protected Member Functions inherited from llvm::object::Binary
static unsigned int getELFType (bool isLE, bool is64Bits)
static unsigned int getMachOType (bool isLE, bool is64Bits)
Protected Attributes inherited from llvm::object::Archive
StringRef SymbolTable
StringRef ECSymbolTable
StringRef StringTable
Protected Attributes inherited from llvm::object::Binary
MemoryBufferRef Data

Detailed Description

Definition at line 404 of file Archive.h.

Constructor & Destructor Documentation

◆ BigArchive()

Member Function Documentation

◆ getFirstChildOffset()

uint64_t llvm::object::BigArchive::getFirstChildOffset ( ) const
inlineoverridevirtual

Reimplemented from llvm::object::Archive.

Definition at line 427 of file Archive.h.

References FirstChildOffset.

Referenced by isEmpty().

◆ getLastChildOffset()

uint64_t llvm::object::BigArchive::getLastChildOffset ( ) const
inline

Definition at line 428 of file Archive.h.

References LastChildOffset.

◆ has32BitGlobalSymtab()

bool llvm::object::BigArchive::has32BitGlobalSymtab ( )
inline

Definition at line 431 of file Archive.h.

References Has32BitGlobalSymtab.

◆ has64BitGlobalSymtab()

bool llvm::object::BigArchive::has64BitGlobalSymtab ( )
inline

Definition at line 432 of file Archive.h.

References Has64BitGlobalSymtab.

◆ isEmpty()

bool llvm::object::BigArchive::isEmpty ( ) const
inlineoverridevirtual

Reimplemented from llvm::object::Archive.

Definition at line 429 of file Archive.h.

References getFirstChildOffset().

Member Data Documentation

◆ ArFixLenHdr

const FixLenHdr* llvm::object::BigArchive::ArFixLenHdr

Definition at line 418 of file Archive.h.

Referenced by BigArchive().

◆ FirstChildOffset

uint64_t llvm::object::BigArchive::FirstChildOffset = 0

Definition at line 419 of file Archive.h.

Referenced by BigArchive(), and getFirstChildOffset().

◆ Has32BitGlobalSymtab

bool llvm::object::BigArchive::Has32BitGlobalSymtab = false

Definition at line 422 of file Archive.h.

Referenced by BigArchive(), and has32BitGlobalSymtab().

◆ Has64BitGlobalSymtab

bool llvm::object::BigArchive::Has64BitGlobalSymtab = false

Definition at line 423 of file Archive.h.

Referenced by BigArchive(), and has64BitGlobalSymtab().

◆ LastChildOffset

uint64_t llvm::object::BigArchive::LastChildOffset = 0

Definition at line 420 of file Archive.h.

Referenced by BigArchive(), and getLastChildOffset().

◆ MergedGlobalSymtabBuf

std::string llvm::object::BigArchive::MergedGlobalSymtabBuf

Definition at line 421 of file Archive.h.

Referenced by BigArchive().


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