LLVM  6.0.0svn
Public Member Functions | Static Public Member Functions | List of all members
llvm::pdb::NativeSession Class Reference

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

Inheritance diagram for llvm::pdb::NativeSession:
Inheritance graph
[legend]
Collaboration diagram for llvm::pdb::NativeSession:
Collaboration graph
[legend]

Public Member Functions

 NativeSession (std::unique_ptr< PDBFile > PdbFile, std::unique_ptr< BumpPtrAllocator > Allocator)
 
 ~NativeSession () override
 
std::unique_ptr< PDBSymbolCompilandcreateCompilandSymbol (DbiModuleDescriptor MI)
 
std::unique_ptr< PDBSymbolTypeEnumcreateEnumSymbol (codeview::TypeIndex Index)
 
std::unique_ptr< IPDBEnumSymbolscreateTypeEnumerator (codeview::TypeLeafKind Kind)
 
SymIndexId findSymbolByTypeIndex (codeview::TypeIndex TI)
 
uint64_t getLoadAddress () const override
 
void setLoadAddress (uint64_t Address) override
 
std::unique_ptr< PDBSymbolExegetGlobalScope () override
 
std::unique_ptr< PDBSymbolgetSymbolById (uint32_t SymbolId) const override
 
std::unique_ptr< PDBSymbolfindSymbolByAddress (uint64_t Address, PDB_SymType Type) const 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< 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
 
PDBFilegetPDBFile ()
 
const PDBFilegetPDBFile () const
 
- Public Member Functions inherited from llvm::pdb::IPDBSession
virtual ~IPDBSession ()
 
template<typename T >
std::unique_ptr< TgetConcreteSymbolById (uint32_t SymbolId) const
 

Static Public Member Functions

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

Detailed Description

Definition at line 29 of file NativeSession.h.

Constructor & Destructor Documentation

◆ NativeSession()

NativeSession::NativeSession ( std::unique_ptr< PDBFile PdbFile,
std::unique_ptr< BumpPtrAllocator Allocator 
)

Definition at line 65 of file NativeSession.cpp.

References ~NativeSession().

◆ ~NativeSession()

NativeSession::~NativeSession ( )
overridedefault

Referenced by NativeSession().

Member Function Documentation

◆ createCompilandSymbol()

std::unique_ptr< PDBSymbolCompiland > NativeSession::createCompilandSymbol ( DbiModuleDescriptor  MI)

Definition at line 96 of file NativeSession.cpp.

Referenced by llvm::pdb::NativeEnumModules::getChildAtIndex().

◆ createEnumSymbol()

std::unique_ptr< PDBSymbolTypeEnum > NativeSession::createEnumSymbol ( codeview::TypeIndex  Index)

Definition at line 105 of file NativeSession.cpp.

References findSymbolByTypeIndex().

Referenced by llvm::pdb::NativeEnumTypes::getChildAtIndex().

◆ createFromExe()

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

Definition at line 90 of file NativeSession.cpp.

References llvm::pdb::feature_unsupported.

Referenced by llvm::pdb::loadDataForEXE().

◆ createFromPdb()

Error NativeSession::createFromPdb ( std::unique_ptr< MemoryBuffer MB,
std::unique_ptr< IPDBSession > &  Session 
)
static

◆ createTypeEnumerator()

std::unique_ptr< IPDBEnumSymbols > NativeSession::createTypeEnumerator ( codeview::TypeLeafKind  Kind)

Definition at line 112 of file NativeSession.cpp.

References llvm::consumeError().

Referenced by llvm::pdb::NativeExeSymbol::findChildren().

◆ findCompilandsForSourceFile()

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

Implements llvm::pdb::IPDBSession.

Definition at line 220 of file NativeSession.cpp.

◆ findLineNumbers()

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

Implements llvm::pdb::IPDBSession.

Definition at line 194 of file NativeSession.cpp.

◆ findLineNumbersByAddress()

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

Implements llvm::pdb::IPDBSession.

Definition at line 200 of file NativeSession.cpp.

◆ findOneCompilandForSourceFile()

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

Implements llvm::pdb::IPDBSession.

Definition at line 226 of file NativeSession.cpp.

◆ findOneSourceFile()

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

Implements llvm::pdb::IPDBSession.

Definition at line 213 of file NativeSession.cpp.

◆ findSourceFiles()

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

Implements llvm::pdb::IPDBSession.

Definition at line 206 of file NativeSession.cpp.

◆ findSymbolByAddress()

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

Implements llvm::pdb::IPDBSession.

Definition at line 189 of file NativeSession.cpp.

◆ findSymbolByTypeIndex()

SymIndexId NativeSession::findSymbolByTypeIndex ( codeview::TypeIndex  TI)

◆ getAllSourceFiles()

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

Implements llvm::pdb::IPDBSession.

Definition at line 231 of file NativeSession.cpp.

◆ getDebugStreams()

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

Implements llvm::pdb::IPDBSession.

Definition at line 245 of file NativeSession.cpp.

◆ getEnumTables()

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

Implements llvm::pdb::IPDBSession.

Definition at line 249 of file NativeSession.cpp.

◆ getGlobalScope()

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

Implements llvm::pdb::IPDBSession.

Definition at line 170 of file NativeSession.cpp.

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

◆ getLoadAddress()

uint64_t NativeSession::getLoadAddress ( ) const
overridevirtual

Implements llvm::pdb::IPDBSession.

Definition at line 166 of file NativeSession.cpp.

◆ getPDBFile() [1/2]

PDBFile& llvm::pdb::NativeSession::getPDBFile ( )
inline

Definition at line 88 of file NativeSession.h.

◆ getPDBFile() [2/2]

const PDBFile& llvm::pdb::NativeSession::getPDBFile ( ) const
inline

Definition at line 89 of file NativeSession.h.

◆ getSourceFileById()

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

Implements llvm::pdb::IPDBSession.

Definition at line 241 of file NativeSession.cpp.

◆ getSourceFilesForCompiland()

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

Implements llvm::pdb::IPDBSession.

Definition at line 235 of file NativeSession.cpp.

◆ getSymbolById()

std::unique_ptr< PDBSymbol > NativeSession::getSymbolById ( uint32_t  SymbolId) const
overridevirtual

Implements llvm::pdb::IPDBSession.

Definition at line 181 of file NativeSession.cpp.

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

◆ setLoadAddress()

void NativeSession::setLoadAddress ( uint64_t  Address)
overridevirtual

Implements llvm::pdb::IPDBSession.

Definition at line 168 of file NativeSession.cpp.


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