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