1#include "llvm/DebugInfo/PDB/Native/NativeTypeTypedef.h"
2#include "llvm/DebugInfo/PDB/Native/NativeSession.h"
3#include "llvm/DebugInfo/PDB/PDBExtras.h"
4
5using namespace llvm;
6using namespace llvm::codeview;
7using namespace llvm::pdb;
8
9NativeTypeTypedef::NativeTypeTypedef(NativeSession &Session, SymIndexId Id,
10 codeview::UDTSym Typedef)
11 : NativeRawSymbol(Session, PDB_SymType::Typedef, Id),
12 Record(std::move(Typedef)) {}
13
14NativeTypeTypedef::~NativeTypeTypedef() = default;
15
16void NativeTypeTypedef::dump(raw_ostream &OS, int Indent,
17 PdbSymbolIdField ShowIdFields,
18 PdbSymbolIdField RecurseIdFields) const {
19 NativeRawSymbol::dump(OS, Indent, ShowIdFields, RecurseIdFields);
20 dumpSymbolField(OS, Name: "name", Value: getName(), Indent);
21 dumpSymbolIdField(OS, Name: "typeId", Value: getTypeId(), Indent, Session,
22 FieldId: PdbSymbolIdField::Type, ShowFlags: ShowIdFields, RecurseFlags: RecurseIdFields);
23}
24
25std::string NativeTypeTypedef::getName() const {
26 return std::string(Record.Name);
27}
28
29SymIndexId NativeTypeTypedef::getTypeId() const {
30 return Session.getSymbolCache().findSymbolByTypeIndex(TI: Record.Type);
31}
32

source code of llvm/lib/DebugInfo/PDB/Native/NativeTypeTypedef.cpp