LLVM  6.0.0svn
Public Member Functions | List of all members
llvm::codeview::TypeRecordBuilder Class Reference

#include "llvm/DebugInfo/CodeView/TypeRecordBuilder.h"

Public Member Functions

 TypeRecordBuilder (TypeRecordKind Kind)
 
void writeUInt8 (uint8_t Value)
 
void writeInt16 (int16_t Value)
 
void writeUInt16 (uint16_t Value)
 
void writeInt32 (int32_t Value)
 
void writeUInt32 (uint32_t Value)
 
void writeInt64 (int64_t Value)
 
void writeUInt64 (uint64_t Value)
 
void writeTypeIndex (TypeIndex TypeInd)
 
void writeTypeRecordKind (TypeRecordKind Kind)
 
void writeEncodedInteger (int64_t Value)
 
void writeEncodedSignedInteger (int64_t Value)
 
void writeEncodedUnsignedInteger (uint64_t Value)
 
void writeNullTerminatedString (StringRef Value)
 
void writeGuid (StringRef Guid)
 
void writeBytes (StringRef Value)
 
llvm::StringRef str ()
 
uint64_t size () const
 
TypeRecordKind kind () const
 
size_t maxBytesRemaining () const
 Returns the number of bytes remaining before this record is larger than the maximum record length. More...
 
void truncate (uint64_t Size)
 
void reset (TypeRecordKind K)
 

Detailed Description

Definition at line 23 of file TypeRecordBuilder.h.

Constructor & Destructor Documentation

◆ TypeRecordBuilder()

llvm::codeview::TypeRecordBuilder::TypeRecordBuilder ( TypeRecordKind  Kind)
explicit

Member Function Documentation

◆ kind()

TypeRecordKind llvm::codeview::TypeRecordBuilder::kind ( ) const
inline

Definition at line 50 of file TypeRecordBuilder.h.

◆ maxBytesRemaining()

size_t llvm::codeview::TypeRecordBuilder::maxBytesRemaining ( ) const
inline

Returns the number of bytes remaining before this record is larger than the maximum record length.

Accounts for the extra two byte size field in the header.

Definition at line 55 of file TypeRecordBuilder.h.

References llvm::codeview::MaxRecordLength, and size().

◆ reset()

void llvm::codeview::TypeRecordBuilder::reset ( TypeRecordKind  K)
inline

◆ size()

uint64_t llvm::codeview::TypeRecordBuilder::size ( ) const
inline

Definition at line 49 of file TypeRecordBuilder.h.

References llvm::raw_ostream::tell().

Referenced by maxBytesRemaining().

◆ str()

llvm::StringRef llvm::codeview::TypeRecordBuilder::str ( )

Referenced by writeBytes().

◆ truncate()

void llvm::codeview::TypeRecordBuilder::truncate ( uint64_t  Size)
inline

◆ writeBytes()

void llvm::codeview::TypeRecordBuilder::writeBytes ( StringRef  Value)
inline

Definition at line 45 of file TypeRecordBuilder.h.

References str().

◆ writeEncodedInteger()

void llvm::codeview::TypeRecordBuilder::writeEncodedInteger ( int64_t  Value)

◆ writeEncodedSignedInteger()

void llvm::codeview::TypeRecordBuilder::writeEncodedSignedInteger ( int64_t  Value)

◆ writeEncodedUnsignedInteger()

void llvm::codeview::TypeRecordBuilder::writeEncodedUnsignedInteger ( uint64_t  Value)

◆ writeGuid()

void llvm::codeview::TypeRecordBuilder::writeGuid ( StringRef  Guid)

◆ writeInt16()

void llvm::codeview::TypeRecordBuilder::writeInt16 ( int16_t  Value)

◆ writeInt32()

void llvm::codeview::TypeRecordBuilder::writeInt32 ( int32_t  Value)

◆ writeInt64()

void llvm::codeview::TypeRecordBuilder::writeInt64 ( int64_t  Value)

◆ writeNullTerminatedString()

void llvm::codeview::TypeRecordBuilder::writeNullTerminatedString ( StringRef  Value)

◆ writeTypeIndex()

void llvm::codeview::TypeRecordBuilder::writeTypeIndex ( TypeIndex  TypeInd)

◆ writeTypeRecordKind()

void llvm::codeview::TypeRecordBuilder::writeTypeRecordKind ( TypeRecordKind  Kind)

Referenced by reset().

◆ writeUInt16()

void llvm::codeview::TypeRecordBuilder::writeUInt16 ( uint16_t  Value)

◆ writeUInt32()

void llvm::codeview::TypeRecordBuilder::writeUInt32 ( uint32_t  Value)

◆ writeUInt64()

void llvm::codeview::TypeRecordBuilder::writeUInt64 ( uint64_t  Value)

◆ writeUInt8()

void llvm::codeview::TypeRecordBuilder::writeUInt8 ( uint8_t  Value)

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