LLVM  14.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. More...
 
void finalize ()
 
Error finalizeMsfLayout ()
 
Error commit (BinaryStreamWriter &ModiWriter)
 Commit the DBI descriptor to the DBI stream. More...
 
Error commitSymbolStream (const msf::MSFLayout &MsfLayout, WritableBinaryStreamRef MsfBuffer)
 Commit the accumulated symbols to the module symbol stream. More...
 

Friends

class DbiStreamBuilder
 

Detailed Description

Definition at line 65 of file DbiModuleDescriptorBuilder.h.

Member Typedef Documentation

◆ MergeSymbolsCallback

Definition at line 82 of file DbiModuleDescriptorBuilder.h.

Constructor & Destructor Documentation

◆ DbiModuleDescriptorBuilder() [1/2]

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

Definition at line 39 of file DbiModuleDescriptorBuilder.cpp.

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

◆ ~DbiModuleDescriptorBuilder()

DbiModuleDescriptorBuilder::~DbiModuleDescriptorBuilder ( )

Definition at line 47 of file DbiModuleDescriptorBuilder.cpp.

◆ 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 215 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)

◆ addSymbolsInBulk()

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

◆ addUnmergedSymbols()

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

Definition at line 85 of file DbiModuleDescriptorBuilder.cpp.

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

◆ calculateSerializedLength()

uint32_t DbiModuleDescriptorBuilder::calculateSerializedLength ( ) const

Definition at line 109 of file DbiModuleDescriptorBuilder.cpp.

References llvm::alignTo(), M, and llvm::RISCVFenceField::O.

◆ 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 111 of file DbiModuleDescriptorBuilder.h.

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

◆ getModuleName()

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

Definition at line 108 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 121 of file DbiModuleDescriptorBuilder.h.

Referenced by finalize().

◆ getObjFileName()

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

Definition at line 109 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)

◆ setMergeSymbolsCallback()

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

Definition at line 84 of file DbiModuleDescriptorBuilder.h.

◆ setObjFileName()

void DbiModuleDescriptorBuilder::setObjFileName ( StringRef  Name)

Definition at line 53 of file DbiModuleDescriptorBuilder.cpp.

◆ setPdbFilePathNI()

void DbiModuleDescriptorBuilder::setPdbFilePathNI ( uint32_t  NI)

Definition at line 57 of file DbiModuleDescriptorBuilder.cpp.

◆ setStringTableFixups()

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

Definition at line 89 of file DbiModuleDescriptorBuilder.h.

References move.

◆ source_files()

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

Definition at line 113 of file DbiModuleDescriptorBuilder.h.

References llvm::makeArrayRef().

Friends And Related Function Documentation

◆ DbiStreamBuilder

friend class DbiStreamBuilder
friend

Definition at line 66 of file DbiModuleDescriptorBuilder.h.


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