LLVM 19.0.0git
Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
llvm::dwarf_linker::parallel::OrderedChildrenIndexAssigner Class Reference

This class helps to assign indexes for DIE children. More...

#include "DWARFLinker/Parallel/SyntheticTypeNameBuilder.h"

Public Member Functions

 OrderedChildrenIndexAssigner (CompileUnit &CU, const DWARFDebugInfoEntry *DieEntry)
 
std::optional< std::pair< size_t, size_t > > getChildIndex (CompileUnit &CU, const DWARFDebugInfoEntry *ChildDieEntry)
 Returns index of the specified child and width of hexadecimal representation.
 

Protected Types

using OrderedChildrenIndexesArrayTy = std::array< size_t, 8 >
 

Protected Member Functions

std::optional< size_t > tagToArrayIndex (CompileUnit &CU, const DWARFDebugInfoEntry *DieEntry)
 

Protected Attributes

bool NeedCountChildren = false
 
OrderedChildrenIndexesArrayTy OrderedChildIdxs = {0}
 
OrderedChildrenIndexesArrayTy ChildIndexesWidth = {0}
 

Detailed Description

This class helps to assign indexes for DIE children.

Indexes are used to create type name for children which should be presented in the original order(function parameters, array dimensions, enumeration members, class/structure members).

Definition at line 132 of file SyntheticTypeNameBuilder.h.

Member Typedef Documentation

◆ OrderedChildrenIndexesArrayTy

Definition at line 143 of file SyntheticTypeNameBuilder.h.

Constructor & Destructor Documentation

◆ OrderedChildrenIndexAssigner()

OrderedChildrenIndexAssigner::OrderedChildrenIndexAssigner ( CompileUnit CU,
const DWARFDebugInfoEntry DieEntry 
)

Member Function Documentation

◆ getChildIndex()

std::optional< std::pair< size_t, size_t > > OrderedChildrenIndexAssigner::getChildIndex ( CompileUnit CU,
const DWARFDebugInfoEntry ChildDieEntry 
)

Returns index of the specified child and width of hexadecimal representation.

Definition at line 750 of file SyntheticTypeNameBuilder.cpp.

References assert(), ChildIndexesWidth, OrderedChildIdxs, and tagToArrayIndex().

◆ tagToArrayIndex()

std::optional< size_t > OrderedChildrenIndexAssigner::tagToArrayIndex ( CompileUnit CU,
const DWARFDebugInfoEntry DieEntry 
)
protected

Member Data Documentation

◆ ChildIndexesWidth

OrderedChildrenIndexesArrayTy llvm::dwarf_linker::parallel::OrderedChildrenIndexAssigner::ChildIndexesWidth = {0}
protected

Definition at line 150 of file SyntheticTypeNameBuilder.h.

Referenced by getChildIndex(), and OrderedChildrenIndexAssigner().

◆ NeedCountChildren

bool llvm::dwarf_linker::parallel::OrderedChildrenIndexAssigner::NeedCountChildren = false
protected

Definition at line 148 of file SyntheticTypeNameBuilder.h.

Referenced by OrderedChildrenIndexAssigner(), and tagToArrayIndex().

◆ OrderedChildIdxs

OrderedChildrenIndexesArrayTy llvm::dwarf_linker::parallel::OrderedChildrenIndexAssigner::OrderedChildIdxs = {0}
protected

Definition at line 149 of file SyntheticTypeNameBuilder.h.

Referenced by getChildIndex().


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