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

#include <SymbolicFile.h>

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

Public Types

typedef iterator_range
< basic_symbol_iterator
basic_symbol_iterator_range
 

Public Member Functions

 ~SymbolicFile () override
 
 SymbolicFile (unsigned int Type, MemoryBufferRef Source)
 
virtual void moveSymbolNext (DataRefImpl &Symb) const =0
 
virtual std::error_code printSymbolName (raw_ostream &OS, DataRefImpl Symb) const =0
 
virtual uint32_t getSymbolFlags (DataRefImpl Symb) const =0
 
virtual basic_symbol_iterator symbol_begin () const =0
 
virtual basic_symbol_iterator symbol_end () const =0
 
basic_symbol_iterator_range symbols () const
 
- Public Member Functions inherited from llvm::object::Binary
virtual ~Binary ()
 
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 isELF () const
 
bool isMachO () const
 
bool isCOFF () const
 
bool isWasm () const
 
bool isCOFFImportFile () const
 
bool isIR () const
 
bool isModuleSummaryIndex () const
 
bool isLittleEndian () const
 

Static Public Member Functions

static Expected
< std::unique_ptr
< SymbolicFile > > 
createSymbolicFile (MemoryBufferRef Object, sys::fs::file_magic Type, LLVMContext *Context)
 
static Expected
< std::unique_ptr
< SymbolicFile > > 
createSymbolicFile (MemoryBufferRef Object)
 
static Expected< OwningBinary
< SymbolicFile > > 
createSymbolicFile (StringRef ObjectPath)
 
static bool classof (const Binary *v)
 

Additional Inherited Members

- Protected Types inherited from llvm::object::Binary
enum  {
  ID_Archive, ID_MachOUniversalBinary, ID_COFFImportFile, ID_IR,
  ID_ModuleSummaryIndex, ID_StartObjects, ID_COFF, ID_ELF32L,
  ID_ELF32B, ID_ELF64L, ID_ELF64B, ID_MachO32L,
  ID_MachO32B, ID_MachO64L, ID_MachO64B, 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 128 of file SymbolicFile.h.

Member Typedef Documentation

Definition at line 146 of file SymbolicFile.h.

Constructor & Destructor Documentation

SymbolicFile::~SymbolicFile ( )
override

Definition at line 27 of file SymbolicFile.cpp.

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

Definition at line 24 of file SymbolicFile.cpp.

Member Function Documentation

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

Definition at line 163 of file SymbolicFile.h.

References llvm::object::Binary::isSymbolic().

Expected< std::unique_ptr< SymbolicFile > > SymbolicFile::createSymbolicFile ( MemoryBufferRef  Object,
sys::fs::file_magic  Type,
LLVMContext Context 
)
static

Definition at line 29 of file SymbolicFile.cpp.

References llvm::sys::fs::file_magic::archive, llvm::sys::fs::file_magic::bitcode, llvm::sys::fs::file_magic::coff_cl_gl_object, llvm::sys::fs::file_magic::coff_import_library, llvm::sys::fs::file_magic::coff_object, llvm::object::IRObjectFile::create(), llvm::object::ObjectFile::createObjectFile(), llvm::object::Binary::Data, llvm::sys::fs::file_magic::elf, llvm::sys::fs::file_magic::elf_core, llvm::sys::fs::file_magic::elf_executable, llvm::sys::fs::file_magic::elf_relocatable, llvm::sys::fs::file_magic::elf_shared_object, llvm::errorCodeToError(), llvm::object::IRObjectFile::findBitcodeInObject(), llvm::Expected< T >::get(), llvm::MemoryBufferRef::getBuffer(), llvm::MemoryBufferRef::getBufferIdentifier(), llvm::sys::fs::identify_magic(), llvm::object::invalid_file_type, LLVM_FALLTHROUGH, llvm_unreachable, llvm::sys::fs::file_magic::macho_bundle, llvm::sys::fs::file_magic::macho_core, llvm::sys::fs::file_magic::macho_dsym_companion, llvm::sys::fs::file_magic::macho_dynamic_linker, llvm::sys::fs::file_magic::macho_dynamically_linked_shared_lib, llvm::sys::fs::file_magic::macho_dynamically_linked_shared_lib_stub, llvm::sys::fs::file_magic::macho_executable, llvm::sys::fs::file_magic::macho_fixed_virtual_memory_shared_lib, llvm::sys::fs::file_magic::macho_kext_bundle, llvm::sys::fs::file_magic::macho_object, llvm::sys::fs::file_magic::macho_preload_executable, llvm::sys::fs::file_magic::macho_universal_binary, llvm::sys::fs::file_magic::pecoff_executable, llvm::sys::fs::file_magic::unknown, llvm::sys::fs::file_magic::wasm_object, and llvm::sys::fs::file_magic::windows_resource.

Referenced by llvm::object::createBinary(), createSymbolicFile(), and writeSymbolTable().

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

Definition at line 157 of file SymbolicFile.h.

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

static Expected<OwningBinary<SymbolicFile> > llvm::object::SymbolicFile::createSymbolicFile ( StringRef  ObjectPath)
static
virtual uint32_t llvm::object::SymbolicFile::getSymbolFlags ( DataRefImpl  Symb) const
pure virtual
virtual void llvm::object::SymbolicFile::moveSymbolNext ( DataRefImpl Symb) const
pure virtual
virtual std::error_code llvm::object::SymbolicFile::printSymbolName ( raw_ostream OS,
DataRefImpl  Symb 
) const
pure virtual
virtual basic_symbol_iterator llvm::object::SymbolicFile::symbol_begin ( ) const
pure virtual
virtual basic_symbol_iterator llvm::object::SymbolicFile::symbol_end ( ) const
pure virtual
basic_symbol_iterator_range llvm::object::SymbolicFile::symbols ( ) const
inline

Definition at line 147 of file SymbolicFile.h.

References symbol_begin(), and symbol_end().

Referenced by writeSymbolTable().


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