#include "SyntheticTypeNameBuilder.h"
#include "DWARFLinkerCompileUnit.h"
#include "llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h"
#include "llvm/DebugInfo/DWARF/DWARFDebugInfoEntry.h"
#include "llvm/Support/ScopedPrinter.h"
usingnamespacellvm;
usingnamespacedwarf_linker;
usingnamespacedwarf_linker::parallel;
Error SyntheticTypeNameBuilder::assignName(
UnitEntryPairTy InputUnitEntryPair,
std::optional<std::pair<size_t, size_t>> ChildIndex) { … }
void SyntheticTypeNameBuilder::addArrayDimension(
UnitEntryPairTy InputUnitEntryPair) { … }
static dwarf::Attribute TypeAttr[] = …;
Error SyntheticTypeNameBuilder::addSignature(UnitEntryPairTy InputUnitEntryPair,
bool addTemplateParameters) { … }
Error SyntheticTypeNameBuilder::addParamNames(
CompileUnit &CU,
SmallVector<const DWARFDebugInfoEntry *, 20> &FunctionParameters) { … }
Error SyntheticTypeNameBuilder::addTemplateParamNames(
CompileUnit &CU,
SmallVector<const DWARFDebugInfoEntry *, 10> &TemplateParameters) { … }
void SyntheticTypeNameBuilder::addOrderedName(
std::pair<size_t, size_t> ChildIdx) { … }
static std::optional<UnitEntryPairTy>
getTypeDeduplicationCandidate(UnitEntryPairTy UnitEntryPair) { … }
Error SyntheticTypeNameBuilder::addParentName(
UnitEntryPairTy &InputUnitEntryPair) { … }
void SyntheticTypeNameBuilder::addDieNameFromDeclFileAndDeclLine(
UnitEntryPairTy &InputUnitEntryPair, bool &HasDeclFileName) { … }
void SyntheticTypeNameBuilder::addValueName(UnitEntryPairTy InputUnitEntryPair,
dwarf::Attribute Attr) { … }
Error SyntheticTypeNameBuilder::addReferencedODRDies(
UnitEntryPairTy InputUnitEntryPair, bool AssignNameToTypeDescriptor,
ArrayRef<dwarf::Attribute> ODRAttrs) { … }
Error SyntheticTypeNameBuilder::addTypeName(UnitEntryPairTy InputUnitEntryPair,
bool AddParentNames) { … }
Error SyntheticTypeNameBuilder::addDIETypeName(
UnitEntryPairTy InputUnitEntryPair,
std::optional<std::pair<size_t, size_t>> ChildIndex,
bool AssignNameToTypeDescriptor) { … }
void SyntheticTypeNameBuilder::addTypePrefix(
const DWARFDebugInfoEntry *DieEntry) { … }
OrderedChildrenIndexAssigner::OrderedChildrenIndexAssigner(
CompileUnit &CU, const DWARFDebugInfoEntry *DieEntry) { … }
std::optional<size_t> OrderedChildrenIndexAssigner::tagToArrayIndex(
CompileUnit &CU, const DWARFDebugInfoEntry *DieEntry) { … }
std::optional<std::pair<size_t, size_t>>
OrderedChildrenIndexAssigner::getChildIndex(
CompileUnit &CU, const DWARFDebugInfoEntry *ChildDieEntry) { … }