Line data Source code
1 : //===- PDBSymbolCustom.h - 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 :
10 : #ifndef LLVM_DEBUGINFO_PDB_PDBSYMBOLCUSTOM_H
11 : #define LLVM_DEBUGINFO_PDB_PDBSYMBOLCUSTOM_H
12 :
13 : #include "PDBSymbol.h"
14 : #include "PDBTypes.h"
15 : #include "llvm/ADT/SmallVector.h"
16 :
17 : namespace llvm {
18 :
19 : class raw_ostream;
20 :
21 : namespace pdb {
22 : /// PDBSymbolCustom represents symbols that are compiler-specific and do not
23 : /// fit anywhere else in the lexical hierarchy.
24 : /// https://msdn.microsoft.com/en-us/library/d88sf09h.aspx
25 : class PDBSymbolCustom : public PDBSymbol {
26 33 : DECLARE_PDB_SYMBOL_CONCRETE_TYPE(PDB_SymType::Custom)
27 : public:
28 : void dump(PDBSymDumper &Dumper) const override;
29 :
30 : void getDataBytes(llvm::SmallVector<uint8_t, 32> &bytes);
31 : };
32 :
33 : } // namespace llvm
34 : }
35 :
36 : #endif // LLVM_DEBUGINFO_PDB_PDBSYMBOLCUSTOM_H
|