LLVM  4.0.0
Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
llvm::object::WasmObjectFile Class Reference

#include <Wasm.h>

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

Public Member Functions

 WasmObjectFile (MemoryBufferRef Object, Error &Err)
 
const wasm::WasmObjectHeadergetHeader () const
 
const wasm::WasmSectiongetWasmSection (const SectionRef &Section) const
 
- Public Member Functions inherited from llvm::object::ObjectFile
uint64_t getCommonSymbolSize (DataRefImpl Symb) const
 
symbol_iterator_range symbols () const
 
section_iterator_range sections () const
 
virtual std::error_code getPlatformFlags (unsigned &Result) const
 Returns platform-specific object flags, if any. More...
 
- Public Member Functions inherited from llvm::object::SymbolicFile
 ~SymbolicFile () override
 
 SymbolicFile (unsigned int Type, MemoryBufferRef Source)
 
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 bool classof (const Binary *v)
 
- Static Public Member Functions inherited from llvm::object::ObjectFile
static Expected< OwningBinary
< ObjectFile > > 
createObjectFile (StringRef ObjectPath)
 Create ObjectFile from path. More...
 
static Expected
< std::unique_ptr< ObjectFile > > 
createObjectFile (MemoryBufferRef Object, sys::fs::file_magic Type)
 
static Expected
< std::unique_ptr< ObjectFile > > 
createObjectFile (MemoryBufferRef Object)
 
static bool classof (const Binary *v)
 
static ErrorOr
< std::unique_ptr
< COFFObjectFile > > 
createCOFFObjectFile (MemoryBufferRef Object)
 
static ErrorOr
< std::unique_ptr< ObjectFile > > 
createELFObjectFile (MemoryBufferRef Object)
 
static Expected
< std::unique_ptr
< MachOObjectFile > > 
createMachOObjectFile (MemoryBufferRef Object, uint32_t UniversalCputype=0, uint32_t UniversalIndex=0)
 
static Expected
< std::unique_ptr
< WasmObjectFile > > 
createWasmObjectFile (MemoryBufferRef Object)
 
- Static Public Member Functions inherited from llvm::object::SymbolicFile
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)
 

Protected Member Functions

void moveSymbolNext (DataRefImpl &Symb) const override
 
std::error_code printSymbolName (raw_ostream &OS, DataRefImpl Symb) const override
 
uint32_t getSymbolFlags (DataRefImpl Symb) const override
 
basic_symbol_iterator symbol_begin () const override
 
basic_symbol_iterator symbol_end () const override
 
Expected< StringRefgetSymbolName (DataRefImpl Symb) const override
 
Expected< uint64_t > getSymbolAddress (DataRefImpl Symb) const override
 
uint64_t getSymbolValueImpl (DataRefImpl Symb) const override
 
uint32_t getSymbolAlignment (DataRefImpl Symb) const override
 
uint64_t getCommonSymbolSizeImpl (DataRefImpl Symb) const override
 
Expected< SymbolRef::TypegetSymbolType (DataRefImpl Symb) const override
 
Expected< section_iteratorgetSymbolSection (DataRefImpl Symb) const override
 
void moveSectionNext (DataRefImpl &Sec) const override
 
std::error_code getSectionName (DataRefImpl Sec, StringRef &Res) const override
 
uint64_t getSectionAddress (DataRefImpl Sec) const override
 
uint64_t getSectionSize (DataRefImpl Sec) const override
 
std::error_code getSectionContents (DataRefImpl Sec, StringRef &Res) const override
 
uint64_t getSectionAlignment (DataRefImpl Sec) const override
 
bool isSectionCompressed (DataRefImpl Sec) const override
 
bool isSectionText (DataRefImpl Sec) const override
 
bool isSectionData (DataRefImpl Sec) const override
 
bool isSectionBSS (DataRefImpl Sec) const override
 
bool isSectionVirtual (DataRefImpl Sec) const override
 
bool isSectionBitcode (DataRefImpl Sec) const override
 
relocation_iterator section_rel_begin (DataRefImpl Sec) const override
 
relocation_iterator section_rel_end (DataRefImpl Sec) const override
 
section_iterator getRelocatedSection (DataRefImpl Sec) const override
 
void moveRelocationNext (DataRefImpl &Rel) const override
 
uint64_t getRelocationOffset (DataRefImpl Rel) const override
 
symbol_iterator getRelocationSymbol (DataRefImpl Rel) const override
 
uint64_t getRelocationType (DataRefImpl Rel) const override
 
void getRelocationTypeName (DataRefImpl Rel, SmallVectorImpl< char > &Result) const override
 
section_iterator section_begin () const override
 
section_iterator section_end () const override
 
uint8_t getBytesInAddress () const override
 The number of bytes used to represent an address in this object file format. More...
 
StringRef getFileFormatName () const override
 
unsigned getArch () const override
 
SubtargetFeatures getFeatures () const override
 
bool isRelocatableObject () const override
 True if this is a relocatable object (.o/.obj). More...
 
- Protected Member Functions inherited from llvm::object::ObjectFile
 ObjectFile (unsigned int Type, MemoryBufferRef Source)
 
const uint8_t * base () const
 
uint64_t getSymbolValue (DataRefImpl Symb) const
 
- Protected Member Functions inherited from llvm::object::Binary
 Binary (unsigned int Type, MemoryBufferRef Source)
 

Additional Inherited Members

- Public Types inherited from llvm::object::ObjectFile
typedef iterator_range
< symbol_iterator
symbol_iterator_range
 
typedef iterator_range
< section_iterator
section_iterator_range
 
- Public Types inherited from llvm::object::SymbolicFile
typedef iterator_range
< basic_symbol_iterator
basic_symbol_iterator_range
 
- 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
}
 
- 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 26 of file Object/Wasm.h.

Constructor & Destructor Documentation

llvm::object::WasmObjectFile::WasmObjectFile ( MemoryBufferRef  Object,
Error Err 
)

Member Function Documentation

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

Definition at line 31 of file Object/Wasm.h.

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

unsigned llvm::object::WasmObjectFile::getArch ( ) const
overrideprotectedvirtual

Implements llvm::object::ObjectFile.

Definition at line 299 of file WasmObjectFile.cpp.

References llvm::Triple::wasm32.

uint8_t llvm::object::WasmObjectFile::getBytesInAddress ( ) const
overrideprotectedvirtual

The number of bytes used to represent an address in this object file format.

Implements llvm::object::ObjectFile.

Definition at line 295 of file WasmObjectFile.cpp.

uint64_t llvm::object::WasmObjectFile::getCommonSymbolSizeImpl ( DataRefImpl  Symb) const
overrideprotectedvirtual

Implements llvm::object::ObjectFile.

Definition at line 151 of file WasmObjectFile.cpp.

References llvm_unreachable.

SubtargetFeatures llvm::object::WasmObjectFile::getFeatures ( ) const
overrideprotectedvirtual

Implements llvm::object::ObjectFile.

Definition at line 301 of file WasmObjectFile.cpp.

StringRef llvm::object::WasmObjectFile::getFileFormatName ( ) const
overrideprotectedvirtual

Implements llvm::object::ObjectFile.

Definition at line 297 of file WasmObjectFile.cpp.

const wasm::WasmObjectHeader & llvm::object::WasmObjectFile::getHeader ( ) const

Definition at line 104 of file WasmObjectFile.cpp.

section_iterator llvm::object::WasmObjectFile::getRelocatedSection ( DataRefImpl  Sec) const
overrideprotectedvirtual

Reimplemented from llvm::object::ObjectFile.

Definition at line 252 of file WasmObjectFile.cpp.

References llvm_unreachable.

uint64_t llvm::object::WasmObjectFile::getRelocationOffset ( DataRefImpl  Rel) const
overrideprotectedvirtual

Implements llvm::object::ObjectFile.

Definition at line 262 of file WasmObjectFile.cpp.

References llvm_unreachable.

symbol_iterator llvm::object::WasmObjectFile::getRelocationSymbol ( DataRefImpl  Rel) const
overrideprotectedvirtual

Implements llvm::object::ObjectFile.

Definition at line 267 of file WasmObjectFile.cpp.

References llvm_unreachable.

uint64_t llvm::object::WasmObjectFile::getRelocationType ( DataRefImpl  Rel) const
overrideprotectedvirtual

Implements llvm::object::ObjectFile.

Definition at line 273 of file WasmObjectFile.cpp.

References llvm_unreachable.

void llvm::object::WasmObjectFile::getRelocationTypeName ( DataRefImpl  Rel,
SmallVectorImpl< char > &  Result 
) const
overrideprotectedvirtual

Implements llvm::object::ObjectFile.

Definition at line 278 of file WasmObjectFile.cpp.

References llvm_unreachable.

uint64_t llvm::object::WasmObjectFile::getSectionAddress ( DataRefImpl  Sec) const
overrideprotectedvirtual

Implements llvm::object::ObjectFile.

Definition at line 199 of file WasmObjectFile.cpp.

uint64_t llvm::object::WasmObjectFile::getSectionAlignment ( DataRefImpl  Sec) const
overrideprotectedvirtual

Implements llvm::object::ObjectFile.

Definition at line 216 of file WasmObjectFile.cpp.

std::error_code llvm::object::WasmObjectFile::getSectionContents ( DataRefImpl  Sec,
StringRef Res 
) const
overrideprotectedvirtual
std::error_code llvm::object::WasmObjectFile::getSectionName ( DataRefImpl  Sec,
StringRef Res 
) const
overrideprotectedvirtual
uint64_t llvm::object::WasmObjectFile::getSectionSize ( DataRefImpl  Sec) const
overrideprotectedvirtual
Expected< uint64_t > llvm::object::WasmObjectFile::getSymbolAddress ( DataRefImpl  Symb) const
overrideprotectedvirtual
uint32_t llvm::object::WasmObjectFile::getSymbolAlignment ( DataRefImpl  Symb) const
overrideprotectedvirtual

Reimplemented from llvm::object::ObjectFile.

Definition at line 146 of file WasmObjectFile.cpp.

References llvm_unreachable.

uint32_t llvm::object::WasmObjectFile::getSymbolFlags ( DataRefImpl  Symb) const
overrideprotectedvirtual

Implements llvm::object::SymbolicFile.

Definition at line 118 of file WasmObjectFile.cpp.

References llvm_unreachable.

Expected< StringRef > llvm::object::WasmObjectFile::getSymbolName ( DataRefImpl  Symb) const
overrideprotectedvirtual
Expected< section_iterator > llvm::object::WasmObjectFile::getSymbolSection ( DataRefImpl  Symb) const
overrideprotectedvirtual
Expected< SymbolRef::Type > llvm::object::WasmObjectFile::getSymbolType ( DataRefImpl  Symb) const
overrideprotectedvirtual
uint64_t llvm::object::WasmObjectFile::getSymbolValueImpl ( DataRefImpl  Symb) const
overrideprotectedvirtual

Implements llvm::object::ObjectFile.

Definition at line 141 of file WasmObjectFile.cpp.

References llvm_unreachable.

const wasm::WasmSection * llvm::object::WasmObjectFile::getWasmSection ( const SectionRef Section) const
bool llvm::object::WasmObjectFile::isRelocatableObject ( ) const
overrideprotectedvirtual

True if this is a relocatable object (.o/.obj).

Implements llvm::object::ObjectFile.

Definition at line 305 of file WasmObjectFile.cpp.

bool llvm::object::WasmObjectFile::isSectionBitcode ( DataRefImpl  Sec) const
overrideprotectedvirtual

Reimplemented from llvm::object::ObjectFile.

Definition at line 238 of file WasmObjectFile.cpp.

bool llvm::object::WasmObjectFile::isSectionBSS ( DataRefImpl  Sec) const
overrideprotectedvirtual

Implements llvm::object::ObjectFile.

Definition at line 234 of file WasmObjectFile.cpp.

bool llvm::object::WasmObjectFile::isSectionCompressed ( DataRefImpl  Sec) const
overrideprotectedvirtual

Implements llvm::object::ObjectFile.

Definition at line 220 of file WasmObjectFile.cpp.

bool llvm::object::WasmObjectFile::isSectionData ( DataRefImpl  Sec) const
overrideprotectedvirtual
bool llvm::object::WasmObjectFile::isSectionText ( DataRefImpl  Sec) const
overrideprotectedvirtual
bool llvm::object::WasmObjectFile::isSectionVirtual ( DataRefImpl  Sec) const
overrideprotectedvirtual

Implements llvm::object::ObjectFile.

Definition at line 236 of file WasmObjectFile.cpp.

void llvm::object::WasmObjectFile::moveRelocationNext ( DataRefImpl Rel) const
overrideprotectedvirtual

Implements llvm::object::ObjectFile.

Definition at line 258 of file WasmObjectFile.cpp.

References llvm_unreachable.

void llvm::object::WasmObjectFile::moveSectionNext ( DataRefImpl Sec) const
overrideprotectedvirtual
void llvm::object::WasmObjectFile::moveSymbolNext ( DataRefImpl Symb) const
overrideprotectedvirtual

Implements llvm::object::SymbolicFile.

Definition at line 108 of file WasmObjectFile.cpp.

References llvm_unreachable.

std::error_code llvm::object::WasmObjectFile::printSymbolName ( raw_ostream OS,
DataRefImpl  Symb 
) const
overrideprotectedvirtual

Reimplemented from llvm::object::ObjectFile.

Definition at line 112 of file WasmObjectFile.cpp.

References llvm::object::invalid_symbol_index, and llvm_unreachable.

section_iterator llvm::object::WasmObjectFile::section_begin ( ) const
overrideprotectedvirtual
section_iterator llvm::object::WasmObjectFile::section_end ( ) const
overrideprotectedvirtual
relocation_iterator llvm::object::WasmObjectFile::section_rel_begin ( DataRefImpl  Sec) const
overrideprotectedvirtual

Implements llvm::object::ObjectFile.

Definition at line 240 of file WasmObjectFile.cpp.

References llvm_unreachable.

relocation_iterator llvm::object::WasmObjectFile::section_rel_end ( DataRefImpl  Sec) const
overrideprotectedvirtual

Implements llvm::object::ObjectFile.

Definition at line 246 of file WasmObjectFile.cpp.

References llvm_unreachable.

basic_symbol_iterator llvm::object::WasmObjectFile::symbol_begin ( ) const
overrideprotectedvirtual

Implements llvm::object::SymbolicFile.

Definition at line 123 of file WasmObjectFile.cpp.

basic_symbol_iterator llvm::object::WasmObjectFile::symbol_end ( ) const
overrideprotectedvirtual

Implements llvm::object::SymbolicFile.

Definition at line 127 of file WasmObjectFile.cpp.


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