1 //===- PDBSymbolExe.cpp - ---------------------------------------*- C++ -*-===// 2 // 3 // The LLVM Compiler Infrastructure 4 // 5 // This file is distributed under the University of Illinois Open Source 6 // License. See LICENSE.TXT for details. 7 // 8 //===----------------------------------------------------------------------===// 9 10 #include "llvm/DebugInfo/PDB/PDBSymbolExe.h" 11 12 #include "llvm/DebugInfo/PDB/PDBSymDumper.h" 13 #include "llvm/DebugInfo/PDB/PDBSymbolTypePointer.h" 14 15 #include <utility> 16 17 using namespace llvm; 18 using namespace llvm::pdb; 19 20 void PDBSymbolExe::dump(PDBSymDumper &Dumper) const { Dumper.dump(*this); } 21 22 uint32_t PDBSymbolExe::getPointerByteSize() const { 23 auto Pointer = findOneChild<PDBSymbolTypePointer>(); 24 if (Pointer) 25 return Pointer->getLength(); 26 27 if (getMachineType() == PDB_Machine::x86) 28 return 4; 29 return 8; 30 } 31