LLVM 20.0.0git
Classes | Public Member Functions | Public Attributes | List of all members
llvm::DWARFAbbreviationDeclaration::AttributeSpec Struct Reference

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

Public Member Functions

 AttributeSpec (dwarf::Attribute A, dwarf::Form F, int64_t Value)
 
 AttributeSpec (dwarf::Attribute A, dwarf::Form F, std::optional< uint8_t > ByteSize)
 
DWARFFormValue getFormValue () const
 
bool isImplicitConst () const
 
int64_t getImplicitConstValue () const
 
std::optional< int64_t > getByteSize (const DWARFUnit &U) const
 Get the fixed byte size of this Form if possible.
 

Public Attributes

dwarf::Attribute Attr
 
dwarf::Form Form
 
ByteSizeStorage ByteSize
 
int64_t Value
 

Detailed Description

Definition at line 29 of file DWARFAbbreviationDeclaration.h.

Constructor & Destructor Documentation

◆ AttributeSpec() [1/2]

llvm::DWARFAbbreviationDeclaration::AttributeSpec::AttributeSpec ( dwarf::Attribute  A,
dwarf::Form  F,
int64_t  Value 
)
inline

Definition at line 30 of file DWARFAbbreviationDeclaration.h.

References assert(), and isImplicitConst().

◆ AttributeSpec() [2/2]

llvm::DWARFAbbreviationDeclaration::AttributeSpec::AttributeSpec ( dwarf::Attribute  A,
dwarf::Form  F,
std::optional< uint8_t ByteSize 
)
inline

Definition at line 34 of file DWARFAbbreviationDeclaration.h.

References assert(), ByteSize, and isImplicitConst().

Member Function Documentation

◆ getByteSize()

std::optional< int64_t > DWARFAbbreviationDeclaration::AttributeSpec::getByteSize ( const DWARFUnit U) const

Get the fixed byte size of this Form if possible.

This function might use the DWARFUnit to calculate the size of the Form, like for DW_AT_address and DW_AT_ref_addr, so this isn't just an accessor for the ByteSize member.

Definition at line 233 of file DWARFAbbreviationDeclaration.cpp.

References ByteSize, llvm::dwarf::getFixedFormByteSize(), and isImplicitConst().

◆ getFormValue()

DWARFFormValue llvm::DWARFAbbreviationDeclaration::AttributeSpec::getFormValue ( ) const
inline

◆ getImplicitConstValue()

int64_t llvm::DWARFAbbreviationDeclaration::AttributeSpec::getImplicitConstValue ( ) const
inline

Definition at line 81 of file DWARFAbbreviationDeclaration.h.

References assert(), isImplicitConst(), and Value.

Referenced by getFormValue().

◆ isImplicitConst()

bool llvm::DWARFAbbreviationDeclaration::AttributeSpec::isImplicitConst ( ) const
inline

Definition at line 77 of file DWARFAbbreviationDeclaration.h.

References Form.

Referenced by AttributeSpec(), getByteSize(), and getImplicitConstValue().

Member Data Documentation

◆ Attr

dwarf::Attribute llvm::DWARFAbbreviationDeclaration::AttributeSpec::Attr

◆ ByteSize

ByteSizeStorage llvm::DWARFAbbreviationDeclaration::AttributeSpec::ByteSize

Definition at line 72 of file DWARFAbbreviationDeclaration.h.

Referenced by AttributeSpec(), and getByteSize().

◆ Form

dwarf::Form llvm::DWARFAbbreviationDeclaration::AttributeSpec::Form

◆ Value

int64_t llvm::DWARFAbbreviationDeclaration::AttributeSpec::Value

Definition at line 73 of file DWARFAbbreviationDeclaration.h.

Referenced by getImplicitConstValue().


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