LLVM 19.0.0git
Public Types | Public Member Functions | Static Public Member Functions | List of all members
llvm::object::SymbolicFile Class Referenceabstract

#include "llvm/Object/SymbolicFile.h"

Inheritance diagram for llvm::object::SymbolicFile:
Inheritance graph
[legend]

Public Types

using basic_symbol_iterator_range = iterator_range< basic_symbol_iterator >
 

Public Member Functions

 SymbolicFile (unsigned int Type, MemoryBufferRef Source)
 
 ~SymbolicFile () override
 
virtual void moveSymbolNext (DataRefImpl &Symb) const =0
 
virtual Error printSymbolName (raw_ostream &OS, DataRefImpl Symb) const =0
 
virtual Expected< uint32_tgetSymbolFlags (DataRefImpl Symb) const =0
 
virtual basic_symbol_iterator symbol_begin () const =0
 
virtual basic_symbol_iterator symbol_end () const =0
 
virtual bool is64Bit () const =0
 
basic_symbol_iterator_range symbols () 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
 
Triple::ObjectFormatType getTripleObjectFormat () const
 

Static Public Member Functions

static Expected< std::unique_ptr< SymbolicFile > > createSymbolicFile (MemoryBufferRef Object, llvm::file_magic Type, LLVMContext *Context, bool InitContent=true)
 
static Expected< std::unique_ptr< SymbolicFile > > createSymbolicFile (MemoryBufferRef Object)
 
static bool classof (const Binary *v)
 
static bool isSymbolicFile (file_magic Type, const LLVMContext *Context)
 
- Static Public Member Functions inherited from llvm::object::Binary
static Error checkOffset (MemoryBufferRef M, uintptr_t Addr, const uint64_t Size)
 

Additional Inherited Members

- 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_EndObjects
}
 
- 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::Binary
MemoryBufferRef Data
 

Detailed Description

Definition at line 145 of file SymbolicFile.h.

Member Typedef Documentation

◆ basic_symbol_iterator_range

Definition at line 164 of file SymbolicFile.h.

Constructor & Destructor Documentation

◆ SymbolicFile()

SymbolicFile::SymbolicFile ( unsigned int  Type,
MemoryBufferRef  Source 
)

Definition at line 31 of file SymbolicFile.cpp.

◆ ~SymbolicFile()

SymbolicFile::~SymbolicFile ( )
overridedefault

Member Function Documentation

◆ classof()

static bool llvm::object::SymbolicFile::classof ( const Binary v)
inlinestatic

Definition at line 179 of file SymbolicFile.h.

◆ createSymbolicFile() [1/2]

static Expected< std::unique_ptr< SymbolicFile > > llvm::object::SymbolicFile::createSymbolicFile ( MemoryBufferRef  Object)
inlinestatic

Definition at line 175 of file SymbolicFile.h.

References createSymbolicFile(), and llvm::file_magic::unknown.

◆ createSymbolicFile() [2/2]

Expected< std::unique_ptr< SymbolicFile > > SymbolicFile::createSymbolicFile ( MemoryBufferRef  Object,
llvm::file_magic  Type,
LLVMContext Context,
bool  InitContent = true 
)
static

Definition at line 37 of file SymbolicFile.cpp.

References llvm::file_magic::bitcode, llvm::file_magic::coff_import_library, llvm::file_magic::coff_object, llvm::consumeError(), Context, llvm::object::IRObjectFile::create(), llvm::object::ObjectFile::createObjectFile(), llvm::object::Binary::Data, llvm::file_magic::elf, llvm::file_magic::elf_core, llvm::file_magic::elf_executable, llvm::file_magic::elf_relocatable, llvm::file_magic::elf_shared_object, llvm::errorCodeToError(), llvm::object::IRObjectFile::findBitcodeInObject(), llvm::Expected< T >::get(), llvm::file_magic::goff_object, llvm::identify_magic(), llvm::object::invalid_file_type, isSymbolicFile(), llvm_unreachable, llvm::file_magic::macho_bundle, llvm::file_magic::macho_core, llvm::file_magic::macho_dsym_companion, llvm::file_magic::macho_dynamic_linker, llvm::file_magic::macho_dynamically_linked_shared_lib, llvm::file_magic::macho_dynamically_linked_shared_lib_stub, llvm::file_magic::macho_executable, llvm::file_magic::macho_file_set, llvm::file_magic::macho_fixed_virtual_memory_shared_lib, llvm::file_magic::macho_kext_bundle, llvm::file_magic::macho_object, llvm::file_magic::macho_preload_executable, llvm::file_magic::pecoff_executable, llvm::Expected< T >::takeError(), llvm::file_magic::unknown, llvm::file_magic::wasm_object, llvm::file_magic::xcoff_object_32, and llvm::file_magic::xcoff_object_64.

Referenced by llvm::object::createBinary(), createSymbolicFile(), llvm::NewArchiveMember::detectKindFromObject(), and getSymbolicFile().

◆ getSymbolFlags()

virtual Expected< uint32_t > llvm::object::SymbolicFile::getSymbolFlags ( DataRefImpl  Symb) const
pure virtual

◆ is64Bit()

virtual bool llvm::object::SymbolicFile::is64Bit ( ) const
pure virtual

◆ isSymbolicFile()

bool SymbolicFile::isSymbolicFile ( file_magic  Type,
const LLVMContext Context 
)
static

◆ moveSymbolNext()

virtual void llvm::object::SymbolicFile::moveSymbolNext ( DataRefImpl Symb) const
pure virtual

◆ printSymbolName()

virtual Error llvm::object::SymbolicFile::printSymbolName ( raw_ostream OS,
DataRefImpl  Symb 
) const
pure virtual

◆ symbol_begin()

virtual basic_symbol_iterator llvm::object::SymbolicFile::symbol_begin ( ) const
pure virtual

◆ symbol_end()

virtual basic_symbol_iterator llvm::object::SymbolicFile::symbol_end ( ) const
pure virtual

◆ symbols()

basic_symbol_iterator_range llvm::object::SymbolicFile::symbols ( ) const
inline

Definition at line 165 of file SymbolicFile.h.

References symbol_begin(), and symbol_end().

Referenced by getSymbols().


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