xref: /freebsd/contrib/llvm-project/llvm/lib/DebugInfo/PDB/Native/NativeTypeTypedef.cpp (revision 81ad626541db97eb356e2c1d4a20eb2a26a766ab)
1 #include "llvm/DebugInfo/PDB/Native/NativeTypeTypedef.h"
2 #include "llvm/DebugInfo/PDB/Native/NativeSession.h"
3 #include "llvm/DebugInfo/PDB/PDBExtras.h"
4 
5 using namespace llvm;
6 using namespace llvm::codeview;
7 using namespace llvm::pdb;
8 
NativeTypeTypedef(NativeSession & Session,SymIndexId Id,codeview::UDTSym Typedef)9 NativeTypeTypedef::NativeTypeTypedef(NativeSession &Session, SymIndexId Id,
10                                      codeview::UDTSym Typedef)
11     : NativeRawSymbol(Session, PDB_SymType::Typedef, Id),
12       Record(std::move(Typedef)) {}
13 
14 NativeTypeTypedef::~NativeTypeTypedef() = default;
15 
dump(raw_ostream & OS,int Indent,PdbSymbolIdField ShowIdFields,PdbSymbolIdField RecurseIdFields) const16 void 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", getName(), Indent);
21   dumpSymbolIdField(OS, "typeId", getTypeId(), Indent, Session,
22                     PdbSymbolIdField::Type, ShowIdFields, RecurseIdFields);
23 }
24 
getName() const25 std::string NativeTypeTypedef::getName() const {
26   return std::string(Record.Name);
27 }
28 
getTypeId() const29 SymIndexId NativeTypeTypedef::getTypeId() const {
30   return Session.getSymbolCache().findSymbolByTypeIndex(Record.Type);
31 }
32