blob: a7b69a755941e78194a7df8fd399df38c55ca2da [file] [log] [blame]
Zachary Turner0e9e6632015-02-06 20:30:52 +00001//===- PDBSymbolCustom.cpp - compiler-specific types ------------*- 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
Zachary Turner52c9f882015-02-14 03:53:56 +000010#include "llvm/DebugInfo/PDB/PDBSymbolCustom.h"
11
Zachary Turner0e9e6632015-02-06 20:30:52 +000012#include "llvm/DebugInfo/PDB/IPDBRawSymbol.h"
Zachary Turner9a818ad2015-02-22 22:03:38 +000013#include "llvm/DebugInfo/PDB/PDBSymDumper.h"
Chandler Carruth6bda14b2017-06-06 11:49:48 +000014#include "llvm/DebugInfo/PDB/PDBSymbol.h"
Zachary Turner52c9f882015-02-14 03:53:56 +000015
Chandler Carruth71f308a2015-02-13 09:09:03 +000016#include <utility>
Zachary Turner0e9e6632015-02-06 20:30:52 +000017
18using namespace llvm;
Zachary Turnerec28fc32016-05-04 20:32:13 +000019using namespace llvm::pdb;
Zachary Turner0e9e6632015-02-06 20:30:52 +000020
Zachary Turner98571ed2015-02-08 22:53:53 +000021PDBSymbolCustom::PDBSymbolCustom(const IPDBSession &PDBSession,
Zachary Turnerbae16b32015-02-08 20:58:09 +000022 std::unique_ptr<IPDBRawSymbol> CustomSymbol)
Zachary Turner1b1a70f2017-04-10 06:14:09 +000023 : PDBSymbol(PDBSession, std::move(CustomSymbol)) {
24 assert(RawSymbol->getSymTag() == PDB_SymType::Custom);
25}
Zachary Turner21473f72015-02-08 00:29:29 +000026
Zachary Turner0e9e6632015-02-06 20:30:52 +000027void PDBSymbolCustom::getDataBytes(llvm::SmallVector<uint8_t, 32> &bytes) {
28 RawSymbol->getDataBytes(bytes);
29}
Zachary Turner21473f72015-02-08 00:29:29 +000030
Jim Grosbach4c98cf72015-05-15 19:13:31 +000031void PDBSymbolCustom::dump(PDBSymDumper &Dumper) const { Dumper.dump(*this); }