class DbiModuleDescriptorBuilder

Declaration

class DbiModuleDescriptorBuilder { /* full declaration omitted */ };

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.h:63

Member Variables

private msf::MSFBuilder& MSF
private uint32_t SymbolByteSize = 0
private uint32_t PdbFilePathNI = 0
private std::string ModuleName
private std::string ObjFileName
private std::vector<std::string> SourceFiles
private std::vector<SymbolListWrapper> Symbols
private void* MergeSymsCtx = nullptr
private llvm::pdb::DbiModuleDescriptorBuilder:: MergeSymbolsCallback MergeSymsCallback = nullptr
private std::vector<StringTableFixup> StringTableFixups
private std::vector< codeview::DebugSubsectionRecordBuilder> C13Builders
private llvm::pdb::ModuleInfoHeader Layout

Method Overview

Methods

DbiModuleDescriptorBuilder(
    const llvm::pdb::DbiModuleDescriptorBuilder&)

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.h:71

Parameters

const llvm::pdb::DbiModuleDescriptorBuilder&

DbiModuleDescriptorBuilder(
    llvm::StringRef ModuleName,
    uint32_t ModIndex,
    msf::MSFBuilder& Msf)

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.h:67

Parameters

llvm::StringRef ModuleName
uint32_t ModIndex
msf::MSFBuilder& Msf

void addDebugSubsection(
    const codeview::DebugSubsectionRecord&
        SubsectionContents)

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.h:103

Parameters

const codeview::DebugSubsectionRecord& SubsectionContents

void addDebugSubsection(
    std::shared_ptr<codeview::DebugSubsection>
        Subsection)

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.h:100

Parameters

std::shared_ptr<codeview::DebugSubsection> Subsection

void addSourceFile(llvm::StringRef Path)

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.h:136

Parameters

llvm::StringRef Path

void addSymbol(codeview::CVSymbol Symbol)

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.h:92

Parameters

codeview::CVSymbol Symbol

void addSymbolsInBulk(
    ArrayRef<uint8_t> BulkSymbols)

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.h:93

Parameters

ArrayRef<uint8_t> BulkSymbols

void addUnmergedSymbols(void* SymSrc,
                        uint32_t SymLength)

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.h:97

Parameters

void* SymSrc
uint32_t SymLength

uint32_t calculateC13DebugInfoSize() const

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.h:134

uint32_t calculateSerializedLength() const

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.h:115

llvm::Error commit(
    llvm::BinaryStreamWriter& ModiWriter)

Description

Commit the DBI descriptor to the DBI stream.

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.h:125

Parameters

llvm::BinaryStreamWriter& ModiWriter

llvm::Error commitSymbolStream(
    const msf::MSFLayout& MsfLayout,
    llvm::WritableBinaryStreamRef MsfBuffer)

Description

Commit the accumulated symbols to the module symbol stream. Safe to call in parallel on different DbiModuleDescriptorBuilder objects. Only modifies the pre-allocated stream in question.

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.h:130

Parameters

const msf::MSFLayout& MsfLayout
llvm::WritableBinaryStreamRef MsfBuffer

void finalize()

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.h:121

llvm::Error finalizeMsfLayout()

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.h:122

unsigned int getModuleIndex() const

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.h:109

llvm::StringRef getModuleName() const

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.h:106

uint32_t getNextSymbolOffset() const

Description

Return the offset within the module symbol stream of the next symbol record passed to addSymbol. Add four to account for the signature.

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.h:119

llvm::StringRef getObjFileName() const

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.h:107

uint16_t getStreamIndex() const

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.h:105

void setFirstSectionContrib(
    const llvm::pdb::SectionContrib& SC)

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.h:91

Parameters

const llvm::pdb::SectionContrib& SC

void setMergeSymbolsCallback(
    void* Ctx,
    llvm::pdb::DbiModuleDescriptorBuilder::
        MergeSymbolsCallback Callback)

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.h:82

Parameters

void* Ctx
llvm::pdb::DbiModuleDescriptorBuilder:: MergeSymbolsCallback Callback

void setObjFileName(llvm::StringRef Name)

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.h:76

Parameters

llvm::StringRef Name

void setPdbFilePathNI(uint32_t NI)

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.h:75

Parameters

uint32_t NI

void setStringTableFixups(
    std::vector<StringTableFixup>&& Fixups)

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.h:87

Parameters

std::vector<StringTableFixup>&& Fixups

ArrayRef<std::string> source_files() const

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.h:111

~DbiModuleDescriptorBuilder()

Declared at: llvm/include/llvm/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.h:69