LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Public Member Functions | List of all members
llvm::BitstreamReader Class Reference

#include <BitstreamReader.h>

Classes

struct  BlockInfo
 

Public Member Functions

 BitstreamReader ()
 
 BitstreamReader (const unsigned char *Start, const unsigned char *End)
 
 BitstreamReader (StreamableMemoryObject *bytes)
 
void init (const unsigned char *Start, const unsigned char *End)
 
StreamableMemoryObjectgetBitcodeBytes ()
 
 ~BitstreamReader ()
 
void CollectBlockInfoNames ()
 
bool isIgnoringBlockInfoNames ()
 
bool hasBlockInfoRecords () const
 
const BlockInfogetBlockInfo (unsigned BlockID) const
 
BlockInfogetOrCreateBlockInfo (unsigned BlockID)
 

Detailed Description

BitstreamReader - This class is used to read from an LLVM bitcode stream, maintaining information that is global to decoding the entire file. While a file is being read, multiple cursors can be independently advanced or skipped around within the file. These are represented by the BitstreamCursor class.

Definition at line 35 of file BitstreamReader.h.

Constructor & Destructor Documentation

llvm::BitstreamReader::BitstreamReader ( )
inline

Definition at line 59 of file BitstreamReader.h.

llvm::BitstreamReader::BitstreamReader ( const unsigned char *  Start,
const unsigned char *  End 
)
inline

Definition at line 62 of file BitstreamReader.h.

References init().

llvm::BitstreamReader::BitstreamReader ( StreamableMemoryObject bytes)
inline

Definition at line 67 of file BitstreamReader.h.

llvm::BitstreamReader::~BitstreamReader ( )
inline

Definition at line 78 of file BitstreamReader.h.

References llvm::BitstreamReader::BlockInfo::Abbrevs.

Member Function Documentation

void llvm::BitstreamReader::CollectBlockInfoNames ( )
inline

CollectBlockInfoNames - This is called by clients that want block/record name information.

Definition at line 92 of file BitstreamReader.h.

StreamableMemoryObject& llvm::BitstreamReader::getBitcodeBytes ( )
inline
const BlockInfo* llvm::BitstreamReader::getBlockInfo ( unsigned  BlockID) const
inline

getBlockInfo - If there is block info for the specified ID, return it, otherwise return null.

Definition at line 106 of file BitstreamReader.h.

Referenced by llvm::BitstreamCursor::EnterSubBlock(), and getOrCreateBlockInfo().

BlockInfo& llvm::BitstreamReader::getOrCreateBlockInfo ( unsigned  BlockID)
inline

Definition at line 118 of file BitstreamReader.h.

References getBlockInfo().

Referenced by llvm::BitstreamCursor::ReadBlockInfoBlock().

bool llvm::BitstreamReader::hasBlockInfoRecords ( ) const
inline

hasBlockInfoRecords - Return true if we've already read and processed the block info block for this Bitstream. We only process it for the first cursor that walks over it.

Definition at line 102 of file BitstreamReader.h.

Referenced by llvm::BitstreamCursor::ReadBlockInfoBlock().

void llvm::BitstreamReader::init ( const unsigned char *  Start,
const unsigned char *  End 
)
inline

Definition at line 71 of file BitstreamReader.h.

References llvm::getNonStreamedMemoryObject().

Referenced by BitstreamReader().

bool llvm::BitstreamReader::isIgnoringBlockInfoNames ( )
inline

Definition at line 93 of file BitstreamReader.h.

Referenced by llvm::BitstreamCursor::ReadBlockInfoBlock().


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