LLVM API Documentation

llvm::Deserializer Class Reference

#include <Deserialize.h>

Collaboration diagram for llvm::Deserializer:
[legend]

List of all members.

Public Member Functions

 Deserializer (BitstreamReader &stream)
 ~Deserializer ()
uint64_t ReadInt ()
int64_t ReadSInt ()
SerializedPtrID ReadPtrID ()
bool ReadBool ()
template<typename T>
T & Read (T &X)
template<typename T>
T * Create ()
char * ReadCStr (char *cstr=NULL, unsigned MaxLen=0, bool isNullTerm=true)
void ReadCStr (std::vector< char > &buff, bool isNullTerm=false, unsigned Idx=0)
template<typename T>
T * ReadOwnedPtr (bool AutoRegister=true)
template<typename T, typename Arg1>
T * ReadOwnedPtr (Arg1 &arg1, bool AutoRegister=true)
template<typename T>
void ReadOwnedPtr (T *&Ptr, bool AutoRegister=true)
template<typename T1, typename T2>
void BatchReadOwnedPtrs (T1 *&P1, T2 *&P2, bool A1=true, bool A2=true)
template<typename T1, typename T2, typename Arg1>
void BatchReadOwnedPtrs (T1 *&P1, T2 *&P2, Arg1 &arg1, bool A1=true, bool A2=true)
template<typename T1, typename T2, typename T3>
void BatchReadOwnedPtrs (T1 *&P1, T2 *&P2, T3 *&P3, bool A1=true, bool A2=true, bool A3=true)
template<typename T1, typename T2, typename T3, typename Arg1>
void BatchReadOwnedPtrs (T1 *&P1, T2 *&P2, T3 *&P3, Arg1 &arg1, bool A1=true, bool A2=true, bool A3=true)
template<typename T>
void BatchReadOwnedPtrs (unsigned NumPtrs, T **Ptrs, bool AutoRegister=true)
template<typename T, typename Arg1>
void BatchReadOwnedPtrs (unsigned NumPtrs, T **Ptrs, Arg1 &arg1, bool AutoRegister=true)
template<typename T1, typename T2>
void BatchReadOwnedPtrs (unsigned NumT1Ptrs, T1 **Ptrs, T2 *&P2, bool A1=true, bool A2=true)
template<typename T1, typename T2, typename Arg1>
void BatchReadOwnedPtrs (unsigned NumT1Ptrs, T1 **Ptrs, T2 *&P2, Arg1 &arg1, bool A1=true, bool A2=true)
template<typename T1, typename T2, typename T3>
void BatchReadOwnedPtrs (unsigned NumT1Ptrs, T1 **Ptrs, T2 *&P2, T3 *&P3, bool A1=true, bool A2=true, bool A3=true)
template<typename T1, typename T2, typename T3, typename Arg1>
void BatchReadOwnedPtrs (unsigned NumT1Ptrs, T1 **Ptrs, T2 *&P2, T3 *&P3, Arg1 &arg1, bool A1=true, bool A2=true, bool A3=true)
template<typename T>
void ReadPtr (T *&PtrRef, bool AllowBackpatch=true)
template<typename T>
void ReadPtr (const T *&PtrRef, bool AllowBackpatch=true)
template<typename T>
void ReadPtr (T *&PtrRef, const SerializedPtrID &PtrID, bool AllowBackpatch=true)
template<typename T>
void ReadPtr (const T *&PtrRef, const SerializedPtrID &PtrID, bool AllowBackpatch=true)
template<typename T>
T * ReadPtr ()
void ReadUIntPtr (uintptr_t &PtrRef, const SerializedPtrID &PtrID, bool AllowBackpatch=true)
void ReadUIntPtr (uintptr_t &PtrRef, bool AllowBackpatch=true)
template<typename T>
T & ReadRef ()
void RegisterPtr (const SerializedPtrID &PtrID, const void *Ptr)
void RegisterPtr (const void *Ptr)
template<typename T>
void RegisterRef (const T &x)
template<typename T>
void RegisterRef (const SerializedPtrID &PtrID, const T &x)
Location getCurrentBlockLocation ()
unsigned getCurrentBlockID ()
unsigned getAbbrevNo ()
bool FinishedBlock (Location BlockLoc)
bool JumpTo (const Location &BlockLoc)
void Rewind ()
bool AtEnd ()
bool inRecord ()
void SkipBlock ()
bool SkipToBlock (unsigned BlockID)
unsigned getRecordCode ()
BitstreamReader & getStream ()

Classes

struct  BPEntry
class  BPKey
struct  BPNode
struct  Location


Detailed Description

Definition at line 28 of file Deserialize.h.


Constructor & Destructor Documentation

Deserializer::Deserializer ( BitstreamReader &  stream  ) 

Definition at line 22 of file Deserialize.cpp.

References llvm::BitstreamReader::GetCurrentBitNo().

Deserializer::~Deserializer (  ) 


Member Function Documentation

uint64_t Deserializer::ReadInt (  ) 

Definition at line 296 of file Deserialize.cpp.

References inRecord().

Referenced by llvm::APInt::Read(), ReadBool(), ReadCStr(), ReadPtrID(), and ReadSInt().

int64_t Deserializer::ReadSInt (  ) 

Definition at line 304 of file Deserialize.cpp.

References ReadInt().

SerializedPtrID llvm::Deserializer::ReadPtrID (  )  [inline]

Definition at line 140 of file Deserialize.h.

References ReadInt().

Referenced by BatchReadOwnedPtrs(), ReadOwnedPtr(), ReadUIntPtr(), and RegisterPtr().

bool llvm::Deserializer::ReadBool (  )  [inline]

Definition at line 143 of file Deserialize.h.

References ReadInt().

template<typename T>
T& llvm::Deserializer::Read ( T &  X  )  [inline]

Definition at line 148 of file Deserialize.h.

Referenced by llvm::APFloat::ReadVal().

template<typename T>
T* llvm::Deserializer::Create (  )  [inline]

Definition at line 154 of file Deserialize.h.

char * Deserializer::ReadCStr ( char *  cstr = NULL,
unsigned  MaxLen = 0,
bool  isNullTerm = true 
)

Definition at line 310 of file Deserialize.cpp.

References ReadInt().

void Deserializer::ReadCStr ( std::vector< char > &  buff,
bool  isNullTerm = false,
unsigned  Idx = 0 
)

Definition at line 332 of file Deserialize.cpp.

References ReadInt().

template<typename T>
T* llvm::Deserializer::ReadOwnedPtr ( bool  AutoRegister = true  )  [inline]

Definition at line 162 of file Deserialize.h.

References ReadPtrID(), RegisterPtr(), and T.

template<typename T, typename Arg1>
T* llvm::Deserializer::ReadOwnedPtr ( Arg1 &  arg1,
bool  AutoRegister = true 
) [inline]

Definition at line 177 of file Deserialize.h.

References ReadPtrID(), RegisterPtr(), and T.

template<typename T>
void llvm::Deserializer::ReadOwnedPtr ( T *&  Ptr,
bool  AutoRegister = true 
) [inline]

Definition at line 192 of file Deserialize.h.

template<typename T1, typename T2>
void llvm::Deserializer::BatchReadOwnedPtrs ( T1 *&  P1,
T2 *&  P2,
bool  A1 = true,
bool  A2 = true 
) [inline]

Definition at line 197 of file Deserialize.h.

References ReadPtrID(), and RegisterPtr().

template<typename T1, typename T2, typename Arg1>
void llvm::Deserializer::BatchReadOwnedPtrs ( T1 *&  P1,
T2 *&  P2,
Arg1 &  arg1,
bool  A1 = true,
bool  A2 = true 
) [inline]

Definition at line 211 of file Deserialize.h.

References ReadPtrID(), and RegisterPtr().

template<typename T1, typename T2, typename T3>
void llvm::Deserializer::BatchReadOwnedPtrs ( T1 *&  P1,
T2 *&  P2,
T3 *&  P3,
bool  A1 = true,
bool  A2 = true,
bool  A3 = true 
) [inline]

Definition at line 225 of file Deserialize.h.

References ReadPtrID(), and RegisterPtr().

template<typename T1, typename T2, typename T3, typename Arg1>
void llvm::Deserializer::BatchReadOwnedPtrs ( T1 *&  P1,
T2 *&  P2,
T3 *&  P3,
Arg1 &  arg1,
bool  A1 = true,
bool  A2 = true,
bool  A3 = true 
) [inline]

Definition at line 243 of file Deserialize.h.

References ReadPtrID(), and RegisterPtr().

template<typename T>
void llvm::Deserializer::BatchReadOwnedPtrs ( unsigned  NumPtrs,
T **  Ptrs,
bool  AutoRegister = true 
) [inline]

Definition at line 261 of file Deserialize.h.

References llvm::SmallVectorImpl< T >::push_back(), ReadPtrID(), RegisterPtr(), and T.

template<typename T, typename Arg1>
void llvm::Deserializer::BatchReadOwnedPtrs ( unsigned  NumPtrs,
T **  Ptrs,
Arg1 &  arg1,
bool  AutoRegister = true 
) [inline]

Definition at line 280 of file Deserialize.h.

References llvm::SmallVectorImpl< T >::push_back(), ReadPtrID(), RegisterPtr(), and T.

template<typename T1, typename T2>
void llvm::Deserializer::BatchReadOwnedPtrs ( unsigned  NumT1Ptrs,
T1 **  Ptrs,
T2 *&  P2,
bool  A1 = true,
bool  A2 = true 
) [inline]

template<typename T1, typename T2, typename Arg1>
void llvm::Deserializer::BatchReadOwnedPtrs ( unsigned  NumT1Ptrs,
T1 **  Ptrs,
T2 *&  P2,
Arg1 &  arg1,
bool  A1 = true,
bool  A2 = true 
) [inline]

template<typename T1, typename T2, typename T3>
void llvm::Deserializer::BatchReadOwnedPtrs ( unsigned  NumT1Ptrs,
T1 **  Ptrs,
T2 *&  P2,
T3 *&  P3,
bool  A1 = true,
bool  A2 = true,
bool  A3 = true 
) [inline]

template<typename T1, typename T2, typename T3, typename Arg1>
void llvm::Deserializer::BatchReadOwnedPtrs ( unsigned  NumT1Ptrs,
T1 **  Ptrs,
T2 *&  P2,
T3 *&  P3,
Arg1 &  arg1,
bool  A1 = true,
bool  A2 = true,
bool  A3 = true 
) [inline]

template<typename T>
void llvm::Deserializer::ReadPtr ( T *&  PtrRef,
bool  AllowBackpatch = true 
) [inline]

Definition at line 415 of file Deserialize.h.

References ReadUIntPtr().

template<typename T>
void llvm::Deserializer::ReadPtr ( const T *&  PtrRef,
bool  AllowBackpatch = true 
) [inline]

Definition at line 420 of file Deserialize.h.

References ReadPtr().

template<typename T>
void llvm::Deserializer::ReadPtr ( T *&  PtrRef,
const SerializedPtrID &  PtrID,
bool  AllowBackpatch = true 
) [inline]

Definition at line 426 of file Deserialize.h.

References ReadUIntPtr().

template<typename T>
void llvm::Deserializer::ReadPtr ( const T *&  PtrRef,
const SerializedPtrID &  PtrID,
bool  AllowBackpatch = true 
) [inline]

Definition at line 432 of file Deserialize.h.

References ReadPtr().

template<typename T>
T* llvm::Deserializer::ReadPtr (  )  [inline]

Definition at line 439 of file Deserialize.h.

References T.

Referenced by ReadPtr().

void Deserializer::ReadUIntPtr ( uintptr_t &  PtrRef,
const SerializedPtrID &  PtrID,
bool  AllowBackpatch = true 
)

void llvm::Deserializer::ReadUIntPtr ( uintptr_t &  PtrRef,
bool  AllowBackpatch = true 
) [inline]

Definition at line 444 of file Deserialize.h.

References ReadPtrID(), and ReadUIntPtr().

template<typename T>
T& llvm::Deserializer::ReadRef (  )  [inline]

Definition at line 449 of file Deserialize.h.

References T.

void Deserializer::RegisterPtr ( const SerializedPtrID &  PtrID,
const void *  Ptr 
)

void llvm::Deserializer::RegisterPtr ( const void *  Ptr  )  [inline]

Definition at line 456 of file Deserialize.h.

References ReadPtrID(), and RegisterPtr().

template<typename T>
void llvm::Deserializer::RegisterRef ( const T &  x  )  [inline]

Definition at line 461 of file Deserialize.h.

References RegisterPtr().

template<typename T>
void llvm::Deserializer::RegisterRef ( const SerializedPtrID &  PtrID,
const T &  x 
) [inline]

Definition at line 466 of file Deserialize.h.

References RegisterPtr().

Deserializer::Location Deserializer::getCurrentBlockLocation (  ) 

Definition at line 156 of file Deserialize.cpp.

References inRecord().

unsigned Deserializer::getCurrentBlockID (  ) 

Definition at line 250 of file Deserialize.cpp.

References inRecord().

Referenced by SkipToBlock().

unsigned Deserializer::getAbbrevNo (  ) 

Definition at line 279 of file Deserialize.cpp.

References inRecord().

bool Deserializer::FinishedBlock ( Location  BlockLoc  ) 

Definition at line 267 of file Deserialize.cpp.

References E, and inRecord().

bool Deserializer::JumpTo ( const Location &  BlockLoc  ) 

void Deserializer::Rewind (  ) 

bool Deserializer::AtEnd (  ) 

Definition at line 286 of file Deserialize.cpp.

References inRecord().

Referenced by JumpTo(), SkipBlock(), and SkipToBlock().

bool Deserializer::inRecord (  ) 

void Deserializer::SkipBlock (  ) 

bool Deserializer::SkipToBlock ( unsigned  BlockID  ) 

unsigned Deserializer::getRecordCode (  ) 

Definition at line 257 of file Deserialize.cpp.

References inRecord(), and llvm::bitc::UNABBREV_RECORD.

BitstreamReader& llvm::Deserializer::getStream (  )  [inline]

Definition at line 485 of file Deserialize.h.


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