1 //===- PDBSymbolTypeEnum.cpp - --------------------------------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 #include "llvm/DebugInfo/PDB/PDBSymbolTypeEnum.h"
12 #include "llvm/DebugInfo/PDB/IPDBSession.h"
13 #include "llvm/DebugInfo/PDB/PDBSymDumper.h"
14 #include "llvm/DebugInfo/PDB/PDBSymbolTypeBuiltin.h"
15 #include "llvm/DebugInfo/PDB/PDBSymbolTypeUDT.h"
21 PDBSymbolTypeEnum::PDBSymbolTypeEnum(const IPDBSession &PDBSession,
22 std::unique_ptr<IPDBRawSymbol> Symbol)
23 : PDBSymbol(PDBSession, std::move(Symbol)) {}
25 std::unique_ptr<PDBSymbolTypeUDT> PDBSymbolTypeEnum::getClassParent() const {
26 return Session.getConcreteSymbolById<PDBSymbolTypeUDT>(getClassParentId());
29 std::unique_ptr<PDBSymbolTypeBuiltin>
30 PDBSymbolTypeEnum::getUnderlyingType() const {
31 return Session.getConcreteSymbolById<PDBSymbolTypeBuiltin>(getTypeId());
34 void PDBSymbolTypeEnum::dump(PDBSymDumper &Dumper) const { Dumper.dump(*this); }