LLVM 19.0.0git
Public Types | Public Member Functions | Friends | List of all members
llvm::pdb::DbiModuleDescriptorBuilder Class Reference

#include "llvm/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.h"

Public Types

using MergeSymbolsCallback = Error(*)(void *Ctx, void *Symbols, BinaryStreamWriter &Writer)
 

Public Member Functions

 DbiModuleDescriptorBuilder (StringRef ModuleName, uint32_t ModIndex, msf::MSFBuilder &Msf)
 
 ~DbiModuleDescriptorBuilder ()
 
 DbiModuleDescriptorBuilder (const DbiModuleDescriptorBuilder &)=delete
 
DbiModuleDescriptorBuilderoperator= (const DbiModuleDescriptorBuilder &)=delete
 
void setPdbFilePathNI (uint32_t NI)
 
void setObjFileName (StringRef Name)
 
void setMergeSymbolsCallback (void *Ctx, MergeSymbolsCallback Callback)
 
void setStringTableFixups (std::vector< StringTableFixup > &&Fixups)
 
void setFirstSectionContrib (const SectionContrib &SC)
 
void addSymbol (codeview::CVSymbol Symbol)
 
void addSymbolsInBulk (ArrayRef< uint8_t > BulkSymbols)
 
void addUnmergedSymbols (void *SymSrc, uint32_t SymLength)
 
void addDebugSubsection (std::shared_ptr< codeview::DebugSubsection > Subsection)
 
void addDebugSubsection (const codeview::DebugSubsectionRecord &SubsectionContents)
 
uint16_t getStreamIndex () const
 
StringRef getModuleName () const
 
StringRef getObjFileName () const
 
unsigned getModuleIndex () const
 
ArrayRef< std::string > source_files () const
 
uint32_t calculateSerializedLength () const
 
uint32_t getNextSymbolOffset () const
 Return the offset within the module symbol stream of the next symbol record passed to addSymbol.
 
void finalize ()
 
Error finalizeMsfLayout ()
 
Error commit (BinaryStreamWriter &ModiWriter)
 Commit the DBI descriptor to the DBI stream.
 
Error commitSymbolStream (const msf::MSFLayout &MsfLayout, WritableBinaryStreamRef MsfBuffer)
 Commit the accumulated symbols to the module symbol stream.
 

Friends

class DbiStreamBuilder
 

Detailed Description

Definition at line 63 of file DbiModuleDescriptorBuilder.h.

Member Typedef Documentation

◆ MergeSymbolsCallback

Definition at line 79 of file DbiModuleDescriptorBuilder.h.

Constructor & Destructor Documentation

◆ DbiModuleDescriptorBuilder() [1/2]

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

Definition at line 43 of file DbiModuleDescriptorBuilder.cpp.

References llvm::pdb::ModuleInfoHeader::Mod, and string.

◆ ~DbiModuleDescriptorBuilder()

DbiModuleDescriptorBuilder::~DbiModuleDescriptorBuilder ( )
default

◆ DbiModuleDescriptorBuilder() [2/2]

llvm::pdb::DbiModuleDescriptorBuilder::DbiModuleDescriptorBuilder ( const DbiModuleDescriptorBuilder )
delete

Member Function Documentation

◆ addDebugSubsection() [1/2]

void DbiModuleDescriptorBuilder::addDebugSubsection ( const codeview::DebugSubsectionRecord SubsectionContents)

Definition at line 219 of file DbiModuleDescriptorBuilder.cpp.

◆ addDebugSubsection() [2/2]

void llvm::pdb::DbiModuleDescriptorBuilder::addDebugSubsection ( std::shared_ptr< codeview::DebugSubsection Subsection)

◆ addSymbol()

void DbiModuleDescriptorBuilder::addSymbol ( codeview::CVSymbol  Symbol)

Definition at line 70 of file DbiModuleDescriptorBuilder.cpp.

References addSymbolsInBulk().

◆ addSymbolsInBulk()

void DbiModuleDescriptorBuilder::addSymbolsInBulk ( ArrayRef< uint8_t >  BulkSymbols)

◆ addUnmergedSymbols()

void DbiModuleDescriptorBuilder::addUnmergedSymbols ( void *  SymSrc,
uint32_t  SymLength 
)

Definition at line 89 of file DbiModuleDescriptorBuilder.cpp.

References llvm::codeview::alignOf(), and assert().

◆ calculateSerializedLength()

uint32_t DbiModuleDescriptorBuilder::calculateSerializedLength ( ) const

Definition at line 113 of file DbiModuleDescriptorBuilder.cpp.

References llvm::alignTo().

◆ commit()

Error DbiModuleDescriptorBuilder::commit ( BinaryStreamWriter ModiWriter)

◆ commitSymbolStream()

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

◆ finalize()

void DbiModuleDescriptorBuilder::finalize ( )

◆ finalizeMsfLayout()

Error DbiModuleDescriptorBuilder::finalizeMsfLayout ( )

◆ getModuleIndex()

unsigned llvm::pdb::DbiModuleDescriptorBuilder::getModuleIndex ( ) const
inline

Definition at line 109 of file DbiModuleDescriptorBuilder.h.

References llvm::pdb::ModuleInfoHeader::Mod.

◆ getModuleName()

StringRef llvm::pdb::DbiModuleDescriptorBuilder::getModuleName ( ) const
inline

Definition at line 106 of file DbiModuleDescriptorBuilder.h.

◆ getNextSymbolOffset()

uint32_t llvm::pdb::DbiModuleDescriptorBuilder::getNextSymbolOffset ( ) const
inline

Return the offset within the module symbol stream of the next symbol record passed to addSymbol.

Add four to account for the signature.

Definition at line 117 of file DbiModuleDescriptorBuilder.h.

Referenced by finalize().

◆ getObjFileName()

StringRef llvm::pdb::DbiModuleDescriptorBuilder::getObjFileName ( ) const
inline

Definition at line 107 of file DbiModuleDescriptorBuilder.h.

◆ getStreamIndex()

uint16_t DbiModuleDescriptorBuilder::getStreamIndex ( ) const

◆ operator=()

DbiModuleDescriptorBuilder & llvm::pdb::DbiModuleDescriptorBuilder::operator= ( const DbiModuleDescriptorBuilder )
delete

◆ setFirstSectionContrib()

void DbiModuleDescriptorBuilder::setFirstSectionContrib ( const SectionContrib SC)

Definition at line 65 of file DbiModuleDescriptorBuilder.cpp.

References llvm::pdb::ModuleInfoHeader::SC.

◆ setMergeSymbolsCallback()

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

Definition at line 82 of file DbiModuleDescriptorBuilder.h.

◆ setObjFileName()

void DbiModuleDescriptorBuilder::setObjFileName ( StringRef  Name)

Definition at line 57 of file DbiModuleDescriptorBuilder.cpp.

References Name.

◆ setPdbFilePathNI()

void DbiModuleDescriptorBuilder::setPdbFilePathNI ( uint32_t  NI)

Definition at line 61 of file DbiModuleDescriptorBuilder.cpp.

◆ setStringTableFixups()

void llvm::pdb::DbiModuleDescriptorBuilder::setStringTableFixups ( std::vector< StringTableFixup > &&  Fixups)
inline

Definition at line 87 of file DbiModuleDescriptorBuilder.h.

◆ source_files()

ArrayRef< std::string > llvm::pdb::DbiModuleDescriptorBuilder::source_files ( ) const
inline

Definition at line 111 of file DbiModuleDescriptorBuilder.h.

Friends And Related Function Documentation

◆ DbiStreamBuilder

friend class DbiStreamBuilder
friend

Definition at line 64 of file DbiModuleDescriptorBuilder.h.


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