LLVM 22.0.0git
llvm::pdb::DIASession Class Reference

#include "llvm/DebugInfo/PDB/DIA/DIASession.h"

Inheritance diagram for llvm::pdb::DIASession:
[legend]

Public Member Functions

 DIASession (CComPtr< IDiaSession > DiaSession)
uint64_t getLoadAddress () const override
bool setLoadAddress (uint64_t Address) override
std::unique_ptr< PDBSymbolExegetGlobalScope () override
std::unique_ptr< PDBSymbolgetSymbolById (SymIndexId SymbolId) const override
bool addressForVA (uint64_t VA, uint32_t &Section, uint32_t &Offset) const override
bool addressForRVA (uint32_t RVA, uint32_t &Section, uint32_t &Offset) const override
std::unique_ptr< PDBSymbolfindSymbolByAddress (uint64_t Address, PDB_SymType Type) override
std::unique_ptr< PDBSymbolfindSymbolByRVA (uint32_t RVA, PDB_SymType Type) override
std::unique_ptr< PDBSymbolfindSymbolBySectOffset (uint32_t Section, uint32_t Offset, PDB_SymType Type) override
std::unique_ptr< IPDBEnumLineNumbersfindLineNumbers (const PDBSymbolCompiland &Compiland, const IPDBSourceFile &File) const override
std::unique_ptr< IPDBEnumLineNumbersfindLineNumbersByAddress (uint64_t Address, uint32_t Length) const override
std::unique_ptr< IPDBEnumLineNumbersfindLineNumbersByRVA (uint32_t RVA, uint32_t Length) const override
std::unique_ptr< IPDBEnumLineNumbersfindLineNumbersBySectOffset (uint32_t Section, uint32_t Offset, uint32_t Length) const override
std::unique_ptr< IPDBEnumSourceFilesfindSourceFiles (const PDBSymbolCompiland *Compiland, llvm::StringRef Pattern, PDB_NameSearchFlags Flags) const override
std::unique_ptr< IPDBSourceFilefindOneSourceFile (const PDBSymbolCompiland *Compiland, llvm::StringRef Pattern, PDB_NameSearchFlags Flags) const override
std::unique_ptr< IPDBEnumChildren< PDBSymbolCompiland > > findCompilandsForSourceFile (llvm::StringRef Pattern, PDB_NameSearchFlags Flags) const override
std::unique_ptr< PDBSymbolCompilandfindOneCompilandForSourceFile (llvm::StringRef Pattern, PDB_NameSearchFlags Flags) const override
std::unique_ptr< IPDBEnumSourceFilesgetAllSourceFiles () const override
std::unique_ptr< IPDBEnumSourceFilesgetSourceFilesForCompiland (const PDBSymbolCompiland &Compiland) const override
std::unique_ptr< IPDBSourceFilegetSourceFileById (uint32_t FileId) const override
std::unique_ptr< IPDBEnumDataStreamsgetDebugStreams () const override
std::unique_ptr< IPDBEnumTablesgetEnumTables () const override
std::unique_ptr< IPDBEnumInjectedSourcesgetInjectedSources () const override
std::unique_ptr< IPDBEnumSectionContribsgetSectionContribs () const override
std::unique_ptr< IPDBEnumFrameDatagetFrameData () const override
Public Member Functions inherited from llvm::pdb::IPDBSession
virtual ~IPDBSession ()
template<typename T>
std::unique_ptr< TgetConcreteSymbolById (SymIndexId SymbolId) const

Static Public Member Functions

static Error createFromPdb (StringRef Path, std::unique_ptr< IPDBSession > &Session)
static Error createFromExe (StringRef Path, std::unique_ptr< IPDBSession > &Session)

Detailed Description

Definition at line 22 of file DIASession.h.

Constructor & Destructor Documentation

◆ DIASession()

DIASession::DIASession ( CComPtr< IDiaSession > DiaSession)
explicit

Definition at line 85 of file DIASession.cpp.

Referenced by createFromExe(), and createFromPdb().

Member Function Documentation

◆ addressForRVA()

bool DIASession::addressForRVA ( uint32_t RVA,
uint32_t & Section,
uint32_t & Offset ) const
overridevirtual

Implements llvm::pdb::IPDBSession.

Definition at line 171 of file DIASession.cpp.

References llvm::pdb::Offset.

◆ addressForVA()

bool DIASession::addressForVA ( uint64_t VA,
uint32_t & Section,
uint32_t & Offset ) const
overridevirtual

Implements llvm::pdb::IPDBSession.

Definition at line 160 of file DIASession.cpp.

References llvm::pdb::Offset.

◆ createFromExe()

◆ createFromPdb()

◆ findCompilandsForSourceFile()

std::unique_ptr< IPDBEnumChildren< PDBSymbolCompiland > > DIASession::findCompilandsForSourceFile ( llvm::StringRef Pattern,
PDB_NameSearchFlags Flags ) const
overridevirtual

Implements llvm::pdb::IPDBSession.

Definition at line 315 of file DIASession.cpp.

References findOneSourceFile().

Referenced by findOneCompilandForSourceFile().

◆ findLineNumbers()

std::unique_ptr< IPDBEnumLineNumbers > DIASession::findLineNumbers ( const PDBSymbolCompiland & Compiland,
const IPDBSourceFile & File ) const
overridevirtual

◆ findLineNumbersByAddress()

std::unique_ptr< IPDBEnumLineNumbers > DIASession::findLineNumbersByAddress ( uint64_t Address,
uint32_t Length ) const
overridevirtual

Implements llvm::pdb::IPDBSession.

Definition at line 250 of file DIASession.cpp.

References llvm::pdb::Address, llvm::Length, and llvm::pdb::LineNumbers.

◆ findLineNumbersByRVA()

std::unique_ptr< IPDBEnumLineNumbers > DIASession::findLineNumbersByRVA ( uint32_t RVA,
uint32_t Length ) const
overridevirtual

Implements llvm::pdb::IPDBSession.

Definition at line 264 of file DIASession.cpp.

References llvm::Length, and llvm::pdb::LineNumbers.

◆ findLineNumbersBySectOffset()

std::unique_ptr< IPDBEnumLineNumbers > DIASession::findLineNumbersBySectOffset ( uint32_t Section,
uint32_t Offset,
uint32_t Length ) const
overridevirtual

Implements llvm::pdb::IPDBSession.

Definition at line 273 of file DIASession.cpp.

References llvm::Length, llvm::pdb::LineNumbers, and llvm::pdb::Offset.

◆ findOneCompilandForSourceFile()

std::unique_ptr< PDBSymbolCompiland > DIASession::findOneCompilandForSourceFile ( llvm::StringRef Pattern,
PDB_NameSearchFlags Flags ) const
overridevirtual

Implements llvm::pdb::IPDBSession.

Definition at line 324 of file DIASession.cpp.

References findCompilandsForSourceFile().

◆ findOneSourceFile()

std::unique_ptr< IPDBSourceFile > DIASession::findOneSourceFile ( const PDBSymbolCompiland * Compiland,
llvm::StringRef Pattern,
PDB_NameSearchFlags Flags ) const
overridevirtual

◆ findSourceFiles()

std::unique_ptr< IPDBEnumSourceFiles > DIASession::findSourceFiles ( const PDBSymbolCompiland * Compiland,
llvm::StringRef Pattern,
PDB_NameSearchFlags Flags ) const
overridevirtual

◆ findSymbolByAddress()

std::unique_ptr< PDBSymbol > DIASession::findSymbolByAddress ( uint64_t Address,
PDB_SymType Type )
overridevirtual

◆ findSymbolByRVA()

std::unique_ptr< PDBSymbol > DIASession::findSymbolByRVA ( uint32_t RVA,
PDB_SymType Type )
overridevirtual

Implements llvm::pdb::IPDBSession.

Definition at line 209 of file DIASession.cpp.

References llvm::pdb::PDBSymbol::create(), and llvm::pdb::Type.

◆ findSymbolBySectOffset()

std::unique_ptr< PDBSymbol > DIASession::findSymbolBySectOffset ( uint32_t Section,
uint32_t Offset,
PDB_SymType Type )
overridevirtual

◆ getAllSourceFiles()

std::unique_ptr< IPDBEnumSourceFiles > DIASession::getAllSourceFiles ( ) const
overridevirtual

Implements llvm::pdb::IPDBSession.

Definition at line 332 of file DIASession.cpp.

◆ getDebugStreams()

std::unique_ptr< IPDBEnumDataStreams > DIASession::getDebugStreams ( ) const
overridevirtual

Implements llvm::pdb::IPDBSession.

Definition at line 362 of file DIASession.cpp.

◆ getEnumTables()

std::unique_ptr< IPDBEnumTables > DIASession::getEnumTables ( ) const
overridevirtual

Implements llvm::pdb::IPDBSession.

Definition at line 370 of file DIASession.cpp.

◆ getFrameData()

std::unique_ptr< IPDBEnumFrameData > DIASession::getFrameData ( ) const
overridevirtual

Implements llvm::pdb::IPDBSession.

Definition at line 416 of file DIASession.cpp.

References getTableEnumerator().

◆ getGlobalScope()

std::unique_ptr< PDBSymbolExe > DIASession::getGlobalScope ( )
overridevirtual

Implements llvm::pdb::IPDBSession.

Definition at line 148 of file DIASession.cpp.

References llvm::pdb::PDBSymbol::create().

◆ getInjectedSources()

std::unique_ptr< IPDBEnumInjectedSources > DIASession::getInjectedSources ( ) const
overridevirtual

Implements llvm::pdb::IPDBSession.

Definition at line 396 of file DIASession.cpp.

References getTableEnumerator().

◆ getLoadAddress()

uint64_t DIASession::getLoadAddress ( ) const
overridevirtual

Implements llvm::pdb::IPDBSession.

Definition at line 138 of file DIASession.cpp.

References llvm::success().

◆ getSectionContribs()

std::unique_ptr< IPDBEnumSectionContribs > DIASession::getSectionContribs ( ) const
overridevirtual

Implements llvm::pdb::IPDBSession.

Definition at line 406 of file DIASession.cpp.

References getTableEnumerator().

◆ getSourceFileById()

std::unique_ptr< IPDBSourceFile > DIASession::getSourceFileById ( uint32_t FileId) const
overridevirtual

Implements llvm::pdb::IPDBSession.

Definition at line 354 of file DIASession.cpp.

◆ getSourceFilesForCompiland()

std::unique_ptr< IPDBEnumSourceFiles > DIASession::getSourceFilesForCompiland ( const PDBSymbolCompiland & Compiland) const
overridevirtual

◆ getSymbolById()

std::unique_ptr< PDBSymbol > DIASession::getSymbolById ( SymIndexId SymbolId) const
overridevirtual

Implements llvm::pdb::IPDBSession.

Definition at line 183 of file DIASession.cpp.

References llvm::pdb::PDBSymbol::create().

◆ setLoadAddress()

bool DIASession::setLoadAddress ( uint64_t Address)
overridevirtual

Implements llvm::pdb::IPDBSession.

Definition at line 144 of file DIASession.cpp.

References llvm::pdb::Address.


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