LLVM  8.0.1
Classes | Public Types | Public Member Functions | List of all members
llvm::irsymtab::Reader Class Reference

This class can be used to read a Symtab and Strtab produced by irsymtab::build. More...

#include "llvm/Object/IRSymtab.h"

Classes

class  SymbolRef
 Ephemeral symbols produced by Reader::symbols() and Reader::module_symbols(). More...
 

Public Types

using symbol_range = iterator_range< object::content_iterator< SymbolRef > >
 

Public Member Functions

 Reader ()=default
 
 Reader (StringRef Symtab, StringRef Strtab)
 
symbol_range symbols () const
 Returns the symbol table for the entire bitcode file. More...
 
size_t getNumModules () const
 
symbol_range module_symbols (unsigned I) const
 Returns a slice of the symbol table for the I'th module in the file. More...
 
StringRef getTargetTriple () const
 
StringRef getSourceFileName () const
 Returns the source file path specified at compile time. More...
 
std::vector< StringRefgetComdatTable () const
 Returns a table with all the comdats used by this file. More...
 
StringRef getCOFFLinkerOpts () const
 COFF-specific: returns linker options specified in the input file. More...
 

Detailed Description

This class can be used to read a Symtab and Strtab produced by irsymtab::build.

Definition at line 228 of file IRSymtab.h.

Member Typedef Documentation

◆ symbol_range

Definition at line 257 of file IRSymtab.h.

Constructor & Destructor Documentation

◆ Reader() [1/2]

llvm::irsymtab::Reader::Reader ( )
default

◆ Reader() [2/2]

llvm::irsymtab::Reader::Reader ( StringRef  Symtab,
StringRef  Strtab 
)
inline

Definition at line 250 of file IRSymtab.h.

Member Function Documentation

◆ getCOFFLinkerOpts()

StringRef llvm::irsymtab::Reader::getCOFFLinkerOpts ( ) const
inline

COFF-specific: returns linker options specified in the input file.

Definition at line 286 of file IRSymtab.h.

◆ getComdatTable()

std::vector<StringRef> llvm::irsymtab::Reader::getComdatTable ( ) const
inline

Returns a table with all the comdats used by this file.

Definition at line 277 of file IRSymtab.h.

References C, and llvm::ArrayRef< T >::size().

◆ getNumModules()

size_t llvm::irsymtab::Reader::getNumModules ( ) const
inline

Definition at line 264 of file IRSymtab.h.

References I, and llvm::ArrayRef< T >::size().

Referenced by llvm::irsymtab::readBitcode().

◆ getSourceFileName()

StringRef llvm::irsymtab::Reader::getSourceFileName ( ) const
inline

Returns the source file path specified at compile time.

Definition at line 274 of file IRSymtab.h.

◆ getTargetTriple()

StringRef llvm::irsymtab::Reader::getTargetTriple ( ) const
inline

Definition at line 271 of file IRSymtab.h.

◆ module_symbols()

Reader::symbol_range llvm::irsymtab::Reader::module_symbols ( unsigned  I) const
inline

Returns a slice of the symbol table for the I'th module in the file.

The symbols enumerated by this method are ephemeral, but they can be copied into an irsymtab::Symbol object.

Definition at line 337 of file IRSymtab.h.

References llvm::irsymtab::storage::Module::Begin, llvm::irsymtab::storage::Module::End, I, and llvm::irsymtab::storage::Module::UncBegin.

◆ symbols()

Reader::symbol_range llvm::irsymtab::Reader::symbols ( ) const
inline

Returns the symbol table for the entire bitcode file.

The symbols enumerated by this method are ephemeral, but they can be copied into an irsymtab::Symbol object.

Definition at line 332 of file IRSymtab.h.


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