LLVM  4.0.0
Public Member Functions | Static Public Member Functions | List of all members
llvm::pdb::DIASession Class Reference

#include <DIASession.h>

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

Public Member Functions

 DIASession (CComPtr< IDiaSession > DiaSession)
 
uint64_t getLoadAddress () const override
 
void setLoadAddress (uint64_t Address) override
 
std::unique_ptr< PDBSymbolExegetGlobalScope () const 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
< IPDBEnumLineNumbers
findLineNumbers (const PDBSymbolCompiland &Compiland, const IPDBSourceFile &File) const override
 
std::unique_ptr
< IPDBEnumLineNumbers
findLineNumbersByAddress (uint64_t Address, uint32_t Length) const override
 
std::unique_ptr
< IPDBEnumSourceFiles
findSourceFiles (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
< PDBSymbolCompiland
findOneCompilandForSourceFile (llvm::StringRef Pattern, PDB_NameSearchFlags Flags) const override
 
std::unique_ptr
< IPDBEnumSourceFiles
getAllSourceFiles () const override
 
std::unique_ptr
< IPDBEnumSourceFiles
getSourceFilesForCompiland (const PDBSymbolCompiland &Compiland) const override
 
std::unique_ptr< IPDBSourceFilegetSourceFileById (uint32_t FileId) const override
 
std::unique_ptr
< IPDBEnumDataStreams
getDebugStreams () const override
 
- 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 (StringRef Path, std::unique_ptr< IPDBSession > &Session)
 
static Error createFromExe (StringRef Path, std::unique_ptr< IPDBSession > &Session)
 

Detailed Description

Definition at line 23 of file DIASession.h.

Constructor & Destructor Documentation

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

Definition at line 81 of file DIASession.cpp.

Referenced by createFromExe(), and createFromPdb().

Member Function Documentation

Error DIASession::createFromExe ( StringRef  Path,
std::unique_ptr< IPDBSession > &  Session 
)
static
Error DIASession::createFromPdb ( StringRef  Path,
std::unique_ptr< IPDBSession > &  Session 
)
static
std::unique_ptr< IPDBEnumChildren< PDBSymbolCompiland > > DIASession::findCompilandsForSourceFile ( llvm::StringRef  Pattern,
PDB_NameSearchFlags  Flags 
) const
overridevirtual

Implements llvm::pdb::IPDBSession.

Definition at line 239 of file DIASession.cpp.

References llvm::ARMBuildAttrs::File, and findOneSourceFile().

Referenced by findOneCompilandForSourceFile().

std::unique_ptr< IPDBEnumLineNumbers > DIASession::findLineNumbers ( const PDBSymbolCompiland Compiland,
const IPDBSourceFile File 
) const
overridevirtual
std::unique_ptr< IPDBEnumLineNumbers > DIASession::findLineNumbersByAddress ( uint64_t  Address,
uint32_t  Length 
) const
overridevirtual

Implements llvm::pdb::IPDBSession.

Definition at line 198 of file DIASession.cpp.

References llvm::pdb::LineNumbers.

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

Implements llvm::pdb::IPDBSession.

Definition at line 248 of file DIASession.cpp.

References findCompilandsForSourceFile().

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

Implements llvm::pdb::IPDBSession.

Definition at line 229 of file DIASession.cpp.

References findSourceFiles(), and llvm::pdb::SourceFiles.

Referenced by findCompilandsForSourceFile().

std::unique_ptr< IPDBEnumSourceFiles > DIASession::findSourceFiles ( const PDBSymbolCompiland Compiland,
llvm::StringRef  Pattern,
PDB_NameSearchFlags  Flags 
) const
overridevirtual
std::unique_ptr< PDBSymbol > DIASession::findSymbolByAddress ( uint64_t  Address,
PDB_SymType  Type 
) const
overridevirtual
std::unique_ptr< IPDBEnumSourceFiles > DIASession::getAllSourceFiles ( ) const
overridevirtual

Implements llvm::pdb::IPDBSession.

Definition at line 256 of file DIASession.cpp.

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

Implements llvm::pdb::IPDBSession.

Definition at line 286 of file DIASession.cpp.

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

Implements llvm::pdb::IPDBSession.

Definition at line 143 of file DIASession.cpp.

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

uint64_t DIASession::getLoadAddress ( ) const
overridevirtual

Implements llvm::pdb::IPDBSession.

Definition at line 133 of file DIASession.cpp.

References llvm::success.

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

Implements llvm::pdb::IPDBSession.

Definition at line 278 of file DIASession.cpp.

std::unique_ptr< IPDBEnumSourceFiles > DIASession::getSourceFilesForCompiland ( const PDBSymbolCompiland Compiland) const
overridevirtual
std::unique_ptr< PDBSymbol > DIASession::getSymbolById ( uint32_t  SymbolId) const
overridevirtual

Implements llvm::pdb::IPDBSession.

Definition at line 155 of file DIASession.cpp.

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

void DIASession::setLoadAddress ( uint64_t  Address)
overridevirtual

Implements llvm::pdb::IPDBSession.

Definition at line 139 of file DIASession.cpp.


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