1 //===- EnumTables.h - Enum to string conversion tables ----------*- C++ -*-===// 2 // 3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4 // See https://llvm.org/LICENSE.txt for license information. 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6 // 7 //===----------------------------------------------------------------------===// 8 9 #ifndef LLVM_DEBUGINFO_CODEVIEW_ENUMTABLES_H 10 #define LLVM_DEBUGINFO_CODEVIEW_ENUMTABLES_H 11 12 #include "llvm/ADT/ArrayRef.h" 13 #include "llvm/BinaryFormat/COFF.h" 14 #include "llvm/DebugInfo/CodeView/CodeView.h" 15 #include <cstdint> 16 17 namespace llvm { 18 template <typename T> struct EnumEntry; 19 namespace codeview { 20 21 ArrayRef<EnumEntry<SymbolKind>> getSymbolTypeNames(); 22 ArrayRef<EnumEntry<TypeLeafKind>> getTypeLeafNames(); 23 ArrayRef<EnumEntry<uint16_t>> getRegisterNames(CPUType Cpu); 24 ArrayRef<EnumEntry<uint32_t>> getPublicSymFlagNames(); 25 ArrayRef<EnumEntry<uint8_t>> getProcSymFlagNames(); 26 ArrayRef<EnumEntry<uint16_t>> getLocalFlagNames(); 27 ArrayRef<EnumEntry<uint8_t>> getFrameCookieKindNames(); 28 ArrayRef<EnumEntry<SourceLanguage>> getSourceLanguageNames(); 29 ArrayRef<EnumEntry<uint32_t>> getCompileSym2FlagNames(); 30 ArrayRef<EnumEntry<uint32_t>> getCompileSym3FlagNames(); 31 ArrayRef<EnumEntry<uint32_t>> getFileChecksumNames(); 32 ArrayRef<EnumEntry<unsigned>> getCPUTypeNames(); 33 ArrayRef<EnumEntry<uint32_t>> getFrameProcSymFlagNames(); 34 ArrayRef<EnumEntry<uint16_t>> getExportSymFlagNames(); 35 ArrayRef<EnumEntry<uint32_t>> getModuleSubstreamKindNames(); 36 ArrayRef<EnumEntry<uint8_t>> getThunkOrdinalNames(); 37 ArrayRef<EnumEntry<uint16_t>> getTrampolineNames(); 38 ArrayRef<EnumEntry<COFF::SectionCharacteristics>> 39 getImageSectionCharacteristicNames(); 40 ArrayRef<EnumEntry<uint16_t>> getClassOptionNames(); 41 ArrayRef<EnumEntry<uint8_t>> getMemberAccessNames(); 42 ArrayRef<EnumEntry<uint16_t>> getMethodOptionNames(); 43 ArrayRef<EnumEntry<uint16_t>> getMemberKindNames(); 44 ArrayRef<EnumEntry<uint8_t>> getPtrKindNames(); 45 ArrayRef<EnumEntry<uint8_t>> getPtrModeNames(); 46 ArrayRef<EnumEntry<uint16_t>> getPtrMemberRepNames(); 47 ArrayRef<EnumEntry<uint16_t>> getTypeModifierNames(); 48 ArrayRef<EnumEntry<uint8_t>> getCallingConventions(); 49 ArrayRef<EnumEntry<uint8_t>> getFunctionOptionEnum(); 50 ArrayRef<EnumEntry<uint16_t>> getLabelTypeEnum(); 51 ArrayRef<EnumEntry<uint16_t>> getJumpTableEntrySizeNames(); 52 53 } // end namespace codeview 54 } // end namespace llvm 55 56 #endif // LLVM_DEBUGINFO_CODEVIEW_ENUMTABLES_H 57