LLVM 19.0.0git
Public Member Functions | Static Public Member Functions | List of all members
llvm::pdb::PDBContext Class Reference

PDBContext This data structure is the top level entity that deals with PDB debug information parsing. More...

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

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

Public Member Functions

 PDBContext (const object::COFFObjectFile &Object, std::unique_ptr< IPDBSession > PDBSession)
 
 PDBContext (PDBContext &)=delete
 
PDBContextoperator= (PDBContext &)=delete
 
void dump (raw_ostream &OS, DIDumpOptions DIDumpOpts) override
 
DILineInfo getLineInfoForAddress (object::SectionedAddress Address, DILineInfoSpecifier Specifier=DILineInfoSpecifier()) override
 
DILineInfo getLineInfoForDataAddress (object::SectionedAddress Address) override
 
DILineInfoTable getLineInfoForAddressRange (object::SectionedAddress Address, uint64_t Size, DILineInfoSpecifier Specifier=DILineInfoSpecifier()) override
 
DIInliningInfo getInliningInfoForAddress (object::SectionedAddress Address, DILineInfoSpecifier Specifier=DILineInfoSpecifier()) override
 
std::vector< DILocalgetLocalsForAddress (object::SectionedAddress Address) override
 
- Public Member Functions inherited from llvm::DIContext
 DIContext (DIContextKind K)
 
virtual ~DIContext ()=default
 
DIContextKind getKind () const
 
virtual void dump (raw_ostream &OS, DIDumpOptions DumpOpts)=0
 
virtual bool verify (raw_ostream &OS, DIDumpOptions DumpOpts={})
 
virtual DILineInfo getLineInfoForAddress (object::SectionedAddress Address, DILineInfoSpecifier Specifier=DILineInfoSpecifier())=0
 
virtual DILineInfo getLineInfoForDataAddress (object::SectionedAddress Address)=0
 
virtual DILineInfoTable getLineInfoForAddressRange (object::SectionedAddress Address, uint64_t Size, DILineInfoSpecifier Specifier=DILineInfoSpecifier())=0
 
virtual DIInliningInfo getInliningInfoForAddress (object::SectionedAddress Address, DILineInfoSpecifier Specifier=DILineInfoSpecifier())=0
 
virtual std::vector< DILocalgetLocalsForAddress (object::SectionedAddress Address)=0
 

Static Public Member Functions

static bool classof (const DIContext *DICtx)
 

Additional Inherited Members

- Public Types inherited from llvm::DIContext
enum  DIContextKind { CK_DWARF , CK_PDB , CK_BTF }
 

Detailed Description

PDBContext This data structure is the top level entity that deals with PDB debug information parsing.

This data structure exists only when there is a need for a transparent interface to different debug information formats (e.g. PDB and DWARF). More control and power over the debug information access can be had by using the PDB interfaces directly.

Definition at line 32 of file PDBContext.h.

Constructor & Destructor Documentation

◆ PDBContext() [1/2]

PDBContext::PDBContext ( const object::COFFObjectFile Object,
std::unique_ptr< IPDBSession PDBSession 
)

Definition at line 25 of file PDBContext.cpp.

References llvm::ErrorOr< T >::get().

◆ PDBContext() [2/2]

llvm::pdb::PDBContext::PDBContext ( PDBContext )
delete

Member Function Documentation

◆ classof()

static bool llvm::pdb::PDBContext::classof ( const DIContext DICtx)
inlinestatic

Definition at line 39 of file PDBContext.h.

References llvm::DIContext::CK_PDB, and llvm::DIContext::getKind().

◆ dump()

void PDBContext::dump ( raw_ostream OS,
DIDumpOptions  DIDumpOpts 
)
overridevirtual

Implements llvm::DIContext.

Definition at line 33 of file PDBContext.cpp.

◆ getInliningInfoForAddress()

DIInliningInfo PDBContext::getInliningInfoForAddress ( object::SectionedAddress  Address,
DILineInfoSpecifier  Specifier = DILineInfoSpecifier() 
)
overridevirtual

◆ getLineInfoForAddress()

DILineInfo PDBContext::getLineInfoForAddress ( object::SectionedAddress  Address,
DILineInfoSpecifier  Specifier = DILineInfoSpecifier() 
)
overridevirtual

◆ getLineInfoForAddressRange()

DILineInfoTable PDBContext::getLineInfoForAddressRange ( object::SectionedAddress  Address,
uint64_t  Size,
DILineInfoSpecifier  Specifier = DILineInfoSpecifier() 
)
overridevirtual

◆ getLineInfoForDataAddress()

DILineInfo PDBContext::getLineInfoForDataAddress ( object::SectionedAddress  Address)
overridevirtual

Implements llvm::DIContext.

Definition at line 68 of file PDBContext.cpp.

◆ getLocalsForAddress()

std::vector< DILocal > PDBContext::getLocalsForAddress ( object::SectionedAddress  Address)
overridevirtual

Implements llvm::DIContext.

Definition at line 139 of file PDBContext.cpp.

◆ operator=()

PDBContext & llvm::pdb::PDBContext::operator= ( PDBContext )
delete

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