1 //===- EnumTables.h - Enum to string conversion tables ----------*- 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_CODEVIEW_ENUMTABLES_H
11 #define LLVM_DEBUGINFO_CODEVIEW_ENUMTABLES_H
12 
13 #include "llvm/ADT/ArrayRef.h"
14 #include "llvm/BinaryFormat/COFF.h"
15 #include "llvm/DebugInfo/CodeView/CodeView.h"
16 #include "llvm/Support/ScopedPrinter.h"
17 #include <cstdint>
18 
19 namespace llvm {
20 namespace codeview {
21 
22 ArrayRef<EnumEntry<SymbolKind>> getSymbolTypeNames();
23 ArrayRef<EnumEntry<TypeLeafKind>> getTypeLeafNames();
24 ArrayRef<EnumEntry<uint16_t>> getRegisterNames();
25 ArrayRef<EnumEntry<uint32_t>> getPublicSymFlagNames();
26 ArrayRef<EnumEntry<uint8_t>> getProcSymFlagNames();
27 ArrayRef<EnumEntry<uint16_t>> getLocalFlagNames();
28 ArrayRef<EnumEntry<uint8_t>> getFrameCookieKindNames();
29 ArrayRef<EnumEntry<SourceLanguage>> getSourceLanguageNames();
30 ArrayRef<EnumEntry<uint32_t>> getCompileSym2FlagNames();
31 ArrayRef<EnumEntry<uint32_t>> getCompileSym3FlagNames();
32 ArrayRef<EnumEntry<uint32_t>> getFileChecksumNames();
33 ArrayRef<EnumEntry<unsigned>> getCPUTypeNames();
34 ArrayRef<EnumEntry<uint32_t>> getFrameProcSymFlagNames();
35 ArrayRef<EnumEntry<uint16_t>> getExportSymFlagNames();
36 ArrayRef<EnumEntry<uint32_t>> getModuleSubstreamKindNames();
37 ArrayRef<EnumEntry<uint8_t>> getThunkOrdinalNames();
38 ArrayRef<EnumEntry<uint16_t>> getTrampolineNames();
39 ArrayRef<EnumEntry<COFF::SectionCharacteristics>>
40 getImageSectionCharacteristicNames();
41 
42 } // end namespace codeview
43 } // end namespace llvm
44 
45 #endif // LLVM_DEBUGINFO_CODEVIEW_ENUMTABLES_H
46