LLVM 22.0.0git
Public Member Functions | Static Public Member Functions | List of all members
llvm::gsym::GsymContext Class Reference

GSYM DI Context This data structure is the top level entity that deals with GSYM symbolication. More...

#include "llvm/DebugInfo/GSYM/GsymContext.h"

Inheritance diagram for llvm::gsym::GsymContext:
[legend]

Public Member Functions

 GsymContext (std::unique_ptr< GsymReader > Reader)
 
 ~GsymContext ()
 
 GsymContext (GsymContext &)=delete
 
GsymContextoperator= (GsymContext &)=delete
 
void dump (raw_ostream &OS, DIDumpOptions DIDumpOpts) override
 
std::optional< DILineInfogetLineInfoForAddress (object::SectionedAddress Address, DILineInfoSpecifier Specifier=DILineInfoSpecifier()) override
 
std::optional< DILineInfogetLineInfoForDataAddress (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 std::optional< DILineInfogetLineInfoForAddress (object::SectionedAddress Address, DILineInfoSpecifier Specifier=DILineInfoSpecifier())=0
 
virtual std::optional< DILineInfogetLineInfoForDataAddress (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 , CK_GSYM }
 

Detailed Description

GSYM DI Context This data structure is the top level entity that deals with GSYM symbolication.

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

Definition at line 30 of file GsymContext.h.

Constructor & Destructor Documentation

◆ GsymContext() [1/2]

GsymContext::GsymContext ( std::unique_ptr< GsymReader Reader)

Definition at line 18 of file GsymContext.cpp.

◆ ~GsymContext()

GsymContext::~GsymContext ( )
default

◆ GsymContext() [2/2]

llvm::gsym::GsymContext::GsymContext ( GsymContext )
delete

Member Function Documentation

◆ classof()

static bool llvm::gsym::GsymContext::classof ( const DIContext DICtx)
inlinestatic

Definition at line 38 of file GsymContext.h.

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

◆ dump()

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

Implements llvm::DIContext.

Definition at line 21 of file GsymContext.cpp.

◆ getInliningInfoForAddress()

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

◆ getLineInfoForAddress()

std::optional< DILineInfo > GsymContext::getLineInfoForAddress ( object::SectionedAddress  Address,
DILineInfoSpecifier  Specifier = DILineInfoSpecifier() 
)
overridevirtual

◆ getLineInfoForAddressRange()

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

◆ getLineInfoForDataAddress()

std::optional< DILineInfo > GsymContext::getLineInfoForDataAddress ( object::SectionedAddress  Address)
overridevirtual

Implements llvm::DIContext.

Definition at line 97 of file GsymContext.cpp.

◆ getLocalsForAddress()

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

Implements llvm::DIContext.

Definition at line 163 of file GsymContext.cpp.

◆ operator=()

GsymContext & llvm::gsym::GsymContext::operator= ( GsymContext )
delete

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