class SymbolSerializer

Declaration

class SymbolSerializer : public SymbolVisitorCallbacks { /* full declaration omitted */ };

Declared at: llvm/include/llvm/DebugInfo/CodeView/SymbolSerializer.h:29

Inherits from: SymbolVisitorCallbacks

Member Variables

private llvm::BumpPtrAllocator& Storage
private std::array<uint8_t, MaxRecordLength> RecordBuffer
private llvm::MutableBinaryByteStream Stream
private llvm::BinaryStreamWriter Writer
private llvm::codeview::SymbolRecordMapping Mapping
private Optional<llvm::codeview::SymbolKind> CurrentSymbol

Method Overview

  • public SymbolSerializer(llvm::BumpPtrAllocator & Storage, llvm::codeview::CodeViewContainer Container)
  • private template <typename RecordKind>llvm::Error visitKnownRecordImpl(llvm::codeview::CVSymbol & CVR, RecordKind & Record)
  • public llvm::Error visitSymbolBegin(llvm::codeview::CVSymbol & Record)
  • public llvm::Error visitSymbolEnd(llvm::codeview::CVSymbol & Record)
  • public template <typename SymType>static llvm::codeview::CVSymbol writeOneSymbol(SymType & Sym, llvm::BumpPtrAllocator & Storage, llvm::codeview::CodeViewContainer Container)
  • private llvm::Error writeRecordPrefix(llvm::codeview::SymbolKind Kind)

Inherited from SymbolVisitorCallbacks:

Methods

SymbolSerializer(
    llvm::BumpPtrAllocator& Storage,
    llvm::codeview::CodeViewContainer Container)

Declared at: llvm/include/llvm/DebugInfo/CodeView/SymbolSerializer.h:50

Parameters

llvm::BumpPtrAllocator& Storage
llvm::codeview::CodeViewContainer Container

template <typename RecordKind>
llvm::Error visitKnownRecordImpl(
    llvm::codeview::CVSymbol& CVR,
    RecordKind& Record)

Declared at: llvm/include/llvm/DebugInfo/CodeView/SymbolSerializer.h:76

Templates

RecordKind

Parameters

llvm::codeview::CVSymbol& CVR
RecordKind& Record

llvm::Error visitSymbolBegin(
    llvm::codeview::CVSymbol& Record)

Declared at: llvm/include/llvm/DebugInfo/CodeView/SymbolSerializer.h:64

Parameters

llvm::codeview::CVSymbol& Record

llvm::Error visitSymbolEnd(
    llvm::codeview::CVSymbol& Record)

Declared at: llvm/include/llvm/DebugInfo/CodeView/SymbolSerializer.h:65

Parameters

llvm::codeview::CVSymbol& Record

template <typename SymType>
static llvm::codeview::CVSymbol writeOneSymbol(
    SymType& Sym,
    llvm::BumpPtrAllocator& Storage,
    llvm::codeview::CodeViewContainer Container)

Declared at: llvm/include/llvm/DebugInfo/CodeView/SymbolSerializer.h:53

Templates

SymType

Parameters

SymType& Sym
llvm::BumpPtrAllocator& Storage
llvm::codeview::CodeViewContainer Container

llvm::Error writeRecordPrefix(
    llvm::codeview::SymbolKind Kind)

Declared at: llvm/include/llvm/DebugInfo/CodeView/SymbolSerializer.h:40

Parameters

llvm::codeview::SymbolKind Kind