LLVM 19.0.0git
Public Member Functions | List of all members
llvm::DWARFDebugInfoEntry Class Reference

DWARFDebugInfoEntry - A DIE with only the minimum required data. More...

#include "llvm/DebugInfo/DWARF/DWARFDebugInfoEntry.h"

Public Member Functions

 DWARFDebugInfoEntry ()=default
 
bool extractFast (const DWARFUnit &U, uint64_t *OffsetPtr, const DWARFDataExtractor &DebugInfoData, uint64_t UEndOffset, uint32_t ParentIdx)
 Extracts a debug info entry, which is a child of a given unit, starting at a given offset.
 
uint64_t getOffset () const
 
std::optional< uint32_tgetParentIdx () const
 Returns index of the parent die.
 
std::optional< uint32_tgetSiblingIdx () const
 Returns index of the sibling die.
 
void setSiblingIdx (uint32_t Idx)
 Set index of sibling.
 
dwarf::Tag getTag () const
 
bool hasChildren () const
 
const DWARFAbbreviationDeclarationgetAbbreviationDeclarationPtr () const
 

Detailed Description

DWARFDebugInfoEntry - A DIE with only the minimum required data.

Definition at line 22 of file DWARFDebugInfoEntry.h.

Constructor & Destructor Documentation

◆ DWARFDebugInfoEntry()

llvm::DWARFDebugInfoEntry::DWARFDebugInfoEntry ( )
default

Member Function Documentation

◆ extractFast()

bool DWARFDebugInfoEntry::extractFast ( const DWARFUnit U,
uint64_t OffsetPtr,
const DWARFDataExtractor DebugInfoData,
uint64_t  UEndOffset,
uint32_t  ParentIdx 
)

Extracts a debug info entry, which is a child of a given unit, starting at a given offset.

If DIE can't be extracted, returns false and doesn't change OffsetPtr. High performance extraction should use this call.

Definition at line 22 of file DWARFDebugInfoEntry.cpp.

References assert(), llvm::DWARFAbbreviationDeclaration::attributes(), llvm::createStringError(), llvm::DWARFAbbreviationDeclaration::getFixedAttributesByteSize(), llvm::DataExtractor::getULEB128(), llvm::invalid_argument, llvm::DataExtractor::isValidOffset(), and llvm::DWARFFormValue::skipValue().

◆ getAbbreviationDeclarationPtr()

const DWARFAbbreviationDeclaration * llvm::DWARFDebugInfoEntry::getAbbreviationDeclarationPtr ( ) const
inline

◆ getOffset()

uint64_t llvm::DWARFDebugInfoEntry::getOffset ( ) const
inline

◆ getParentIdx()

std::optional< uint32_t > llvm::DWARFDebugInfoEntry::getParentIdx ( ) const
inline

◆ getSiblingIdx()

std::optional< uint32_t > llvm::DWARFDebugInfoEntry::getSiblingIdx ( ) const
inline

Returns index of the sibling die.

Definition at line 56 of file DWARFDebugInfoEntry.h.

Referenced by llvm::DWARFUnit::getLastChildEntry(), and llvm::DWARFUnit::getSiblingEntry().

◆ getTag()

dwarf::Tag llvm::DWARFDebugInfoEntry::getTag ( ) const
inline

◆ hasChildren()

bool llvm::DWARFDebugInfoEntry::hasChildren ( ) const
inline

◆ setSiblingIdx()

void llvm::DWARFDebugInfoEntry::setSiblingIdx ( uint32_t  Idx)
inline

Set index of sibling.

Definition at line 64 of file DWARFDebugInfoEntry.h.

References Idx.


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