LLVM 19.0.0git
Public Member Functions | List of all members
llvm::pdb::IPDBSession Class Referenceabstract

IPDBSession defines an interface used to provide a context for querying debug information from a debug data source (for example, a PDB). More...

#include "llvm/DebugInfo/PDB/IPDBSession.h"

Inheritance diagram for llvm::pdb::IPDBSession:
Inheritance graph
[legend]

Public Member Functions

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

Detailed Description

IPDBSession defines an interface used to provide a context for querying debug information from a debug data source (for example, a PDB).

Definition at line 25 of file IPDBSession.h.

Constructor & Destructor Documentation

◆ ~IPDBSession()

IPDBSession::~IPDBSession ( )
virtualdefault

Member Function Documentation

◆ addressForRVA()

virtual bool llvm::pdb::IPDBSession::addressForRVA ( uint32_t  RVA,
uint32_t Section,
uint32_t Offset 
) const
pure virtual

◆ addressForVA()

virtual bool llvm::pdb::IPDBSession::addressForVA ( uint64_t  VA,
uint32_t Section,
uint32_t Offset 
) const
pure virtual

◆ findCompilandsForSourceFile()

virtual std::unique_ptr< IPDBEnumChildren< PDBSymbolCompiland > > llvm::pdb::IPDBSession::findCompilandsForSourceFile ( llvm::StringRef  Pattern,
PDB_NameSearchFlags  Flags 
) const
pure virtual

◆ findLineNumbers()

virtual std::unique_ptr< IPDBEnumLineNumbers > llvm::pdb::IPDBSession::findLineNumbers ( const PDBSymbolCompiland Compiland,
const IPDBSourceFile File 
) const
pure virtual

◆ findLineNumbersByAddress()

virtual std::unique_ptr< IPDBEnumLineNumbers > llvm::pdb::IPDBSession::findLineNumbersByAddress ( uint64_t  Address,
uint32_t  Length 
) const
pure virtual

◆ findLineNumbersByRVA()

virtual std::unique_ptr< IPDBEnumLineNumbers > llvm::pdb::IPDBSession::findLineNumbersByRVA ( uint32_t  RVA,
uint32_t  Length 
) const
pure virtual

◆ findLineNumbersBySectOffset()

virtual std::unique_ptr< IPDBEnumLineNumbers > llvm::pdb::IPDBSession::findLineNumbersBySectOffset ( uint32_t  Section,
uint32_t  Offset,
uint32_t  Length 
) const
pure virtual

◆ findOneCompilandForSourceFile()

virtual std::unique_ptr< PDBSymbolCompiland > llvm::pdb::IPDBSession::findOneCompilandForSourceFile ( llvm::StringRef  Pattern,
PDB_NameSearchFlags  Flags 
) const
pure virtual

◆ findOneSourceFile()

virtual std::unique_ptr< IPDBSourceFile > llvm::pdb::IPDBSession::findOneSourceFile ( const PDBSymbolCompiland Compiland,
llvm::StringRef  Pattern,
PDB_NameSearchFlags  Flags 
) const
pure virtual

◆ findSourceFiles()

virtual std::unique_ptr< IPDBEnumSourceFiles > llvm::pdb::IPDBSession::findSourceFiles ( const PDBSymbolCompiland Compiland,
llvm::StringRef  Pattern,
PDB_NameSearchFlags  Flags 
) const
pure virtual

◆ findSymbolByAddress()

virtual std::unique_ptr< PDBSymbol > llvm::pdb::IPDBSession::findSymbolByAddress ( uint64_t  Address,
PDB_SymType  Type 
)
pure virtual

◆ findSymbolByRVA()

virtual std::unique_ptr< PDBSymbol > llvm::pdb::IPDBSession::findSymbolByRVA ( uint32_t  RVA,
PDB_SymType  Type 
)
pure virtual

◆ findSymbolBySectOffset()

virtual std::unique_ptr< PDBSymbol > llvm::pdb::IPDBSession::findSymbolBySectOffset ( uint32_t  Sect,
uint32_t  Offset,
PDB_SymType  Type 
)
pure virtual

◆ getAllSourceFiles()

virtual std::unique_ptr< IPDBEnumSourceFiles > llvm::pdb::IPDBSession::getAllSourceFiles ( ) const
pure virtual

◆ getConcreteSymbolById()

template<typename T >
std::unique_ptr< T > llvm::pdb::IPDBSession::getConcreteSymbolById ( SymIndexId  SymbolId) const
inline

◆ getDebugStreams()

virtual std::unique_ptr< IPDBEnumDataStreams > llvm::pdb::IPDBSession::getDebugStreams ( ) const
pure virtual

◆ getEnumTables()

virtual std::unique_ptr< IPDBEnumTables > llvm::pdb::IPDBSession::getEnumTables ( ) const
pure virtual

◆ getFrameData()

virtual std::unique_ptr< IPDBEnumFrameData > llvm::pdb::IPDBSession::getFrameData ( ) const
pure virtual

◆ getGlobalScope()

virtual std::unique_ptr< PDBSymbolExe > llvm::pdb::IPDBSession::getGlobalScope ( )
pure virtual

◆ getInjectedSources()

virtual std::unique_ptr< IPDBEnumInjectedSources > llvm::pdb::IPDBSession::getInjectedSources ( ) const
pure virtual

◆ getLoadAddress()

virtual uint64_t llvm::pdb::IPDBSession::getLoadAddress ( ) const
pure virtual

◆ getSectionContribs()

virtual std::unique_ptr< IPDBEnumSectionContribs > llvm::pdb::IPDBSession::getSectionContribs ( ) const
pure virtual

◆ getSourceFileById()

virtual std::unique_ptr< IPDBSourceFile > llvm::pdb::IPDBSession::getSourceFileById ( uint32_t  FileId) const
pure virtual

◆ getSourceFilesForCompiland()

virtual std::unique_ptr< IPDBEnumSourceFiles > llvm::pdb::IPDBSession::getSourceFilesForCompiland ( const PDBSymbolCompiland Compiland) const
pure virtual

◆ getSymbolById()

virtual std::unique_ptr< PDBSymbol > llvm::pdb::IPDBSession::getSymbolById ( SymIndexId  SymbolId) const
pure virtual

◆ setLoadAddress()

virtual bool llvm::pdb::IPDBSession::setLoadAddress ( uint64_t  Address)
pure virtual

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